Hi Skip,

There really isn't much hope to being able debug this type of stuff
remotely so you are likely to be on your own.  The OSG code in
question will likely to have been tested plenty over the years so
should be OK.  Given the nature of the problem have a look to make
sure no dangling pointers exists.   Also double check that Simgear has
been compiled against the same version of the OSG as your using.

Robert.

On Fri, Jul 23, 2010 at 11:24 PM, skip hodgson <[email protected]> wrote:
> Hi,
>
> Having compiled osg vers 2.8.3 from the svn sources and subsequently 
> compiled, linked and installed SimGear and FlightGear on a 64 bit Ubuntu 
> Linux system the application runs fine for most options but I am puzzled 
> about this one segfault at runtime.
>
> Start up Flight Gear /usr/local/bin/fgfs
> When it starts click on Debug|Dump Scene Graph
> It writes a large file to disk (always within a few bytes of 749938) and then 
> segfaults.  This is always the same.
>
> The gdb backtrace is as follows:
>
> ----------START OF GDB OUTPUT ------------
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff55b7c41 in OpenThreads::Atomic::operator unsigned int() const () 
> from /usr/local/lib64/libosgParticle.so.65
>
> (gdb) bt
> #0  0x00007ffff55b7c41 in OpenThreads::Atomic::operator unsigned int() const 
> () from /usr/local/lib64/libosgParticle.so.65
> #1  0x00007ffff55b7c62 in osg::Referenced::referenceCount() const () from 
> /usr/local/lib64/libosgParticle.so.65
> #2  0x00007ffff4642e8c in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #3  0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #4  0x00000000009af9ce in simgear::EffectGeode_writeLocalData (obj=..., 
> fw=...) at EffectGeode.cxx:100
> #5  0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #6  0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #7  0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #8  0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #9  0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #10 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #11 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #12 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #13 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #14 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #15 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #16 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #17 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #18 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #19 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #20 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #21 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #22 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #23 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #24 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #25 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #26 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #27 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #28 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #29 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #30 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #31 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #32 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #33 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #34 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #35 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #36 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #37 0x00007fffd93f62cc in Group_writeLocalData(osg::Object const&, 
> osgDB::Output&) () from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #38 0x00007ffff4643891 in osgDB::Registry::writeObject(osg::Object const&, 
> osgDB::Output&) () from /usr/local/lib64/libosgDB.so.65
> #39 0x00007ffff462e2d5 in osgDB::Output::writeObject(osg::Object const&) () 
> from /usr/local/lib64/libosgDB.so.65
> #40 0x00007fffd940a6da in OSGReaderWriter::writeNode(osg::Node const&, 
> std::string const&, osgDB::ReaderWriter::Options const*) const ()
>   from /raid/local/lib64/osgPlugins-2.8.3/osgdb_osg.so
> #41 0x00007ffff4646596 in osgDB::Registry::writeNodeImplementation(osg::Node 
> const&, std::string const&, osgDB::ReaderWriter::Options const*) ()
>   from /usr/local/lib64/libosgDB.so.65
> #42 0x00007ffff461a473 in osgDB::Registry::writeNode(osg::Node const&, 
> std::string const&, osgDB::ReaderWriter::Options const*) ()
>   from /usr/local/lib64/libosgDB.so.65
> #43 0x00007ffff465c561 in osgDB::writeNodeFile(osg::Node const&, std::string 
> const&, osgDB::ReaderWriter::Options const*) ()
>   from /usr/local/lib64/libosgDB.so.65
> #44 0x0000000000430c0b in writeNodeFile (filename=<value optimised out>) at 
> /usr/local/include/osgDB/WriteFile:105
> #45 fgDumpSceneGraphToFile (filename=<value optimised out>) at 
> renderer.cxx:822
> #46 0x00000000007563b5 in fgDumpSceneGraph () at gui_funcs.cxx:557
> #47 0x000000000043e4c9 in do_dump_scene_graph () at fg_commands.cxx:514
> #48 0x0000000000a3250e in SGBinding::fire (this=0xec9c740) at SGBinding.cxx:65
> #49 0x0000000000751cc3 in FGMenuBar::fireItem (this=<value optimised out>, 
> item=<value optimised out>) at menubar.cxx:154
> ---Type <return> to continue, or q <return> to quit---q
> Quit
> (gdb) q
> A debugging session is active.
>
> ---------------- END OF GDB OUTPUT-------------------
>
> Can anybody suggest what I could have been doing wrong?  Although the app is 
> actually Flight Gear the stack trace is faulting way inside the 
> OpenSceneGraph library so I am provisionally guessing this is the right forum.
>
> Robert Osfield has previously suggested I might have linked an incorrect 
> version of osg but I have checked
>
> ldd /usr/local/bin/fgfs
> and the linked so files for osg and OpenThreads are all the latest compiled 
> versions in /usr/local/lib64
>
> Open for ideas!
>
>
> ...
>
> Thank you!
>
> Cheers,
> skip
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=30228#30228
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to