| View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0011893 | ParaView | Bug | public | 2011-02-24 07:55 | 2011-05-17 20:43 | ||||
| Reporter | Mattijs | ||||||||
| Assigned To | David Partyka | ||||||||
| Priority | normal | Severity | major | Reproducibility | always | ||||
| Status | closed | Resolution | no change required | ||||||
| Platform | x86_64 | OS | linux | OS Version | ubuntu10.04.1 64 | ||||
| Product Version | Development | ||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0011893: reader modules cannot use dlopen themselves | ||||||||
| Description | My reader module uses dlopen to load in some additional functionality. Because in DynamicLoader the dlopen does not export all symbols of the loaded reader this fails. To resolve I've added an RTLD_GLOBAL to the dlopen call: in TK/Utilities/kwsys/DynamicLoader.cxx, in DynamicLoader::OpenLibrary change to: return dlopen(libname, RTLD_LAZY|RTLD_GLOBAL); Mattijs | ||||||||
| Tags | No tags attached. | ||||||||
| Project | |||||||||
| Topic Name | |||||||||
| Type | |||||||||
| Attached Files | |||||||||
| Relationships | |
| Relationships |
| Notes | |
|
(0025809) Mattijs (reporter) 2011-03-18 13:33 |
With RTLD_GLOBAL I do get an error when I exit paraview (after loading our reader): Inconsistency detected by ld.so: dl-close.c: 731: _dl_close: Assertion `map->l_init_called' failed! Does paraview dlclose the loaded libraries? B.t.w. if you need me to do some tests please let me know. Mattijs |
|
(0025885) Mattijs (reporter) 2011-03-23 11:35 |
I don't get this error in Paraview-3.8.0, I do get it with Paraview-3.10 or last weeks' git version. |
|
(0025954) Brad King (developer) 2011-03-29 11:00 |
It's been RTLD_LOCAL (by default due to lack of RTLD_GLOBAL) since the dynamic loader was written in 1999. Plugins from different vendors may conflict with one another's symbols. That's why each plugin is isolated. The proposed case is a plugin to a plugin which has never been supported. |
|
(0025955) Mattijs (reporter) 2011-03-29 11:08 |
Makes sense. I can work around the RTLD_GLOBAL problem by making sure my own reader module is linked against enough libraries. I still have the problem that since 3.10 or so even with RTLD_LOCAL I get above error upon exit from paraview. Any reason why this doesn't happen with 3.8? Did anything (relevant) change? Thanks, Mattijs |
|
(0026468) David Partyka (developer) 2011-05-09 11:31 |
See Comments. |
|
(0026530) Alan Scott (manager) 2011-05-17 20:43 |
agree. no change required. |
| Notes |
| Issue History | |||
| Date Modified | Username | Field | Change |
| 2011-02-24 07:55 | Mattijs | New Issue | |
| 2011-03-18 12:59 | David Partyka | Assigned To | => David Partyka |
| 2011-03-18 12:59 | David Partyka | Status | backlog => tabled |
| 2011-03-18 13:33 | Mattijs | Note Added: 0025809 | |
| 2011-03-23 11:35 | Mattijs | Note Added: 0025885 | |
| 2011-03-29 11:00 | Brad King | Note Added: 0025954 | |
| 2011-03-29 11:08 | Mattijs | Note Added: 0025955 | |
| 2011-05-09 11:31 | David Partyka | Note Added: 0026468 | |
| 2011-05-09 11:31 | David Partyka | Status | tabled => @80@ |
| 2011-05-09 11:31 | David Partyka | Resolution | open => no change required |
| 2011-05-17 20:43 | Alan Scott | Note Added: 0026530 | |
| 2011-05-17 20:43 | Alan Scott | Status | @80@ => closed |
| Issue History |
| Copyright © 2000 - 2018 MantisBT Team |