<div dir="ltr"><div><div>Hi Gareth,<br><br></div>I don't recall this being an issue before.  What hardware, OS and OSG/osgEarth versions are you using?<br><br></div>Robert.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 21 September 2015 at 11:15, Gareth Francis <span dir="ltr"><<a href="mailto:gfrancis.dev@gmail.com" target="_blank">gfrancis.dev@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><br></div><div>I believe I found a bug in getLibraryHandle.<br><br></div><div>This was encountered when writing an osgEarth application, using the osgEarthQt widgets (Qt 4.8.6).<br></div><div><br></div><div>A segfault was encountered shortly after starting the application, when pressing 's' (To bring up the standard set of rendering stats).<br></div><div><br>I traced this to the dlopen( localLibraryName.c_str(), RTLD_LAZY | RTLD_GLOBAL) call in osg/src/osgDB/DynamicLibrary.cpp<br></div><div><br></div><div>According to the dlopen manpage:<br><pre>As at glibc 2.21, specifying the <b>RTLD_GLOBAL </b>flag when calling
       <b>dlmopen</b>() generates an error.  Furthermore, specifying <b>RTLD_GLOBAL</b>
       when calling <b>dlopen</b>() results in a program crash (<b>SIGSEGV</b>) if the
       call is made from any object loaded in a namespace other than the
       initial namespace.</pre></div><div><br></div><div>Changing osg to use RTLD_LOCAL avoids the crash, and doesn't seem to break anything else as far as I can tell.<br><br></div><div>Is there a specific reason why RTLD_GLOBAL is used? This doesn't make much sense given the plugin architecture..<br><br><br></div><div>I've attached a minimal patch including the fix.<br></div><div><br><br></div>Thanks<span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888">Gareth Francis<br></font></span></div>
<br>_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
<br></blockquote></div><br></div>