[pkg-fgfs-crew] Bug#765855: flightgear: crashes on airports NZNV and EHAM

Rebecca N. Palmer rebecca_palmer at zoho.com
Thu Oct 23 13:05:52 UTC 2014


Looks like the immediate cause is trying to run an _updateCallback with 
a garbage address, but I don't yet know how that got there.  I'm going 
to try valgrind, but that may take some time.

Program received signal SIGSEGV, Segmentation fault.
0x0000000000bab994 in osgUtil::UpdateVisitor::apply(osg::Geode&) ()
(gdb) bt full
#0  0x0000000000bab994 in osgUtil::UpdateVisitor::apply(osg::Geode&) ()
No symbol table info available.
#1  0x00007ffff70ae200 in simgear::EffectGeode::accept 
(this=0x7fff86413e50,
     nv=...)
     at 
/build/simgear-mmipqT/simgear-3.0.0/simgear/scene/material/EffectGeode.hxx:32
         nv = @0x115dad0: {<osg::Referenced> = {_vptr.Referenced = 
0x4642700,
             _observerSet = {_ptr = 0x4642730}, _refCount = {
               _value = 73672544}},
           _vptr.NodeVisitor = 0xdb1b58 <vtable for SGUpdateVisitor+24>,
           _visitorType = osg::NodeVisitor::UPDATE_VISITOR,
           _traversalNumber = 1399, _frameStamp = {_ptr = 0x17cfb70},
           _traversalMode = osg::NodeVisitor::TRAVERSE_ACTIVE_CHILDREN,
           _traversalMask = 4294967295, _nodeMaskOverride = 0,
           _nodePath = std::vector of length 17, capacity 64 = {0x17cfa10,
             0xbf9ad30, 0x115dd30, 0xbfb7d70, 0x17842f0, 0x17843d0, 
0xc1657e0,
             0x7fffad460840, 0x7fffac65b4d0, 0x7fff981fe910, 
0x7fff981f38d0,
             0x7fff9adf0ba0, 0x7fff90fe7ca0, 0x7fff97cc5770, 
0x7fff9ad9f2a0,
             0x7fff8640e400, 0x7fff86413e50}, _userData = {_ptr = 0x0},
           _databaseRequestHandler = {_ptr = 0x0}, _imageRequestHandler = {
             _ptr = 0x1377620}}
         this = 0x7fff86413e50
#2  0x00007ffff525bf53 in osg::Sequence::accept (this=0x7fff8640e400, 
nv=...)
---Type <return> to continue, or q <return> to quit---
     at 
/tmp/buildd/openscenegraph-3.2.1/OpenSceneGraph/include/osg/Sequence:34
         nv = @0x115dad0: {<osg::Referenced> = {_vptr.Referenced = 
0x8533c01,
             _observerSet = {_ptr = 0x5282020}, _refCount = {_value = 
472432}},
           _vptr.NodeVisitor = 0xdb1b58 <vtable for SGUpdateVisitor+24>,
           _visitorType = osg::NodeVisitor::UPDATE_VISITOR,
           _traversalNumber = 1399, _frameStamp = {_ptr = 0x17cfb70},
           _traversalMode = osg::NodeVisitor::TRAVERSE_ACTIVE_CHILDREN,
           _traversalMask = 4294967295, _nodeMaskOverride = 0,
           _nodePath = std::vector of length 17, capacity 64 = {0x17cfa10,
             0xbf9ad30, 0x115dd30, 0xbfb7d70, 0x17842f0, 0x17843d0, 
0xc1657e0,
             0x7fffad460840, 0x7fffac65b4d0, 0x7fff981fe910, 
0x7fff981f38d0,
             0x7fff9adf0ba0, 0x7fff90fe7ca0, 0x7fff97cc5770, 
0x7fff9ad9f2a0,
             0x7fff8640e400, 0x7fff86413e50}, _userData = {_ptr = 0x0},
           _databaseRequestHandler = {_ptr = 0x0}, _imageRequestHandler = {
             _ptr = 0x1377620}}
         this = 0x7fff8640e400
#3  0x00007ffff51f4373 in osg::Group::traverse (this=0x7fff9ad9f2a0, nv=...)
     at /tmp/buildd/openscenegraph-3.2.1/OpenSceneGraph/src/osg/Group.cpp:62
         itr = {_ptr = }
#4  0x00007ffff5edb910 in osg::Group::accept (this=0x7fff9ad9f2a0, nv=...)
     at /tmp/buildd/openscenegraph-3.2.1/OpenSceneGraph/include/osg/Group:38
         nv = @0x115dad0: {<osg::Referenced> = {_vptr.Referenced = 
0x3d94230,
             _observerSet = {_ptr = 0x3d94260}, _refCount = {
---Type <return> to continue, or q <return> to quit---q
_value = 64570000}},Quit
(gdb) frame 1
#1  0x00007ffff70ae200 in simgear::EffectGeode::accept 
(this=0x7fff86413e50,
     nv=...)
     at 
/build/simgear-mmipqT/simgear-3.0.0/simgear/scene/material/EffectGeode.hxx:32
32 
/build/simgear-mmipqT/simgear-3.0.0/simgear/scene/material/EffectGeode.hxx: 
No such file or directory.
(gdb) print (SGUpdateVisitor &)nv
$1 = (SGUpdateVisitor &) @0x115dad0: {
     <osgUtil::UpdateVisitor> = {<osg::NodeVisitor> = {<osg::Referenced> = {
         _vptr.Referenced = 0xdb1c78 <vtable for SGUpdateVisitor+312>,
         _observerSet = {_ptr = 0x0}, _refCount = {_value = 2}},
       _vptr.NodeVisitor = 0xdb1b58 <vtable for SGUpdateVisitor+24>,
       _visitorType = osg::NodeVisitor::UPDATE_VISITOR,
       _traversalNumber = 1399, _frameStamp = {_ptr = 0x17cfb70},
       _traversalMode = osg::NodeVisitor::TRAVERSE_ACTIVE_CHILDREN,
       _traversalMask = 4294967295, _nodeMaskOverride = 0,
       _nodePath = std::vector of length 17, capacity 64 = {0x17cfa10,
         0xbf9ad30, 0x115dd30, 0xbfb7d70, 0x17842f0, 0x17843d0, 0xc1657e0,
         0x7fffad460840, 0x7fffac65b4d0, 0x7fff981fe910, 0x7fff981f38d0,
         0x7fff9adf0ba0, 0x7fff90fe7ca0, 0x7fff97cc5770, 0x7fff9ad9f2a0,
         0x7fff8640e400, 0x7fff86413e50}, _userData = {_ptr = 0x0},
       _databaseRequestHandler = {_ptr = 0x0}, _imageRequestHandler = {
         _ptr = 0x1377620}}, <No data fields>}, _matrix = {_mat = {{
         0.32685558153785754, 0.51555219546057363, 0.79206777650232141, 
0}, {
         -0.8445678134471043, 0.53544860489983293, 
-5.5511151231257827e-17, 0},
       {-0.42411158591428072, -0.66895495010247519, 0.61043315557616018, 
0}, {
         -2708422.905852552, -4272019.3694665777, 3872196.1536400444, 1}}},
   _currentEyePos = {_v = {-2707409.9428072725, -4273245.1429145085,
       3871554.3221857855}}, mGlobalGeodEyePos = {_lon = 
-2.1355362887398637,
     _lat = 0.65648006752853061, _elevation = 0.92333008982791664},
---Type <return> to continue, or q <return> to quit---
   mGlobalEyePos = {_data = {-2707409.9428072725, -4273245.1429145085,
       3871554.3221857855}}, mGlobalViewOr = {_data = {0.78950568936808396,
       -0.096581256195751503, 0.38608191497461986, 0.46721898756001679}},
   mGlobalHorizLocalOr = {_data = {-0.78615775221458106, 
-0.43257618834241002,
       -0.38672221942900042, 0.21279040136241426}}, mHorizLocalNorth = {
     _data = {0.32664753255811951, 0.51556469520151915, 
0.7921454629898832}},
   mHorizLocalEast = {_data = {0.84472780035376172, -0.53519617273434905,
       -5.5511151231257827e-17}}, mHorizLocalDown = {_data = {
       0.42395322004106434, 0.66914729451165633, -0.61033234017586158}},
   mVisibility = 16093.4208984375, mSqrVisibility = 258998196.21426487,
   mFogExpDensity = 0.00028615234853114445,
   mFogExp2Density = 0.00013334430509412065,
   mRunwayFogExp2Density = 0.00010729830131446736,
   mTaxiFogExp2Density = 0.00017883050219077895,
   mGroundLightsFogExp2Density = 8.8896203396080425e-05, mLightDirection = {
     _data = {0.900083184, 0.387896061, -0.198461428}}, mAmbientLight = {
     _data = {0.000713053858, 0.00081491872, 0.000996011775, 1}},
   mDiffuseLight = {_data = {0, 0, 0, 1}}, mSpecularLight = {_data = {0, 
0, 0,
       1}}, mFogColor = {_data = {0.0036530653, 0.00417493191, 
0.00510269497,
       0}}, mSunAngleDeg = 139.66562858096833}
(gdb)
(gdb) print *this
$2 = {<osg::Geode> = {<osg::Node> = {<osg::Object> = {<osg::Referenced> = {
           _vptr.Referenced = 0x7ffff742de10 <vtable for 
simgear::EffectGeode+16>, _observerSet = {_ptr = 0x0}, _refCount = 
{_value = 1}}, _name = "",
         _dataVariance = osg::Object::UNSPECIFIED, _userDataContainer = 
0x0},
       _initialBound = {_center = {_v = {0, 0, 0}}, _radius = -1},
       _computeBoundCallback = {_ptr = 0x0}, _boundingSphere = {_center = {
           _v = {-1364.14893, 631.931152, 2.8567667}}, _radius = 
12.9490824},
       _boundingSphereComputed = true,
       _parents = std::vector of length 1, capacity 1 = {0x7fff8640e400},
       _updateCallback = {_ptr = 0x7fff86414320},
       _numChildrenRequiringUpdateTraversal = 0, _eventCallback = {_ptr 
= 0x0},
       _numChildrenRequiringEventTraversal = 0, _cullCallback = {_ptr = 
0x0},
       _cullingActive = true, _numChildrenWithCullingDisabled = 0,
       _numChildrenWithOccluderNodes = 0, _nodeMask = 4294967295, 
_stateset = {
         _ptr = 0x0}}, _bbox = {_min = {_v = {-1375.31665, 625.558289,
           1.32436633}}, _max = {_v = {-1352.98132, 638.304077, 
4.38916683}}},
     _drawables = std::vector of length 12, capacity 16 = {{_ptr =
     0x7fff86413fa0}, {_ptr = 0x7fff864141b0}, {_ptr = 0x7fff864143c0}, {
         _ptr = 0x7fff89adda80}, {_ptr = 0x7fff89addc90}, {
         _ptr = 0x7fff89addef0}, {_ptr = 0x7fff89ade100}, {
         _ptr = 0x7fff89ade310}, {_ptr = 0x7fff89ade520}, {
         _ptr = 0x7fff89ade6e0}, {_ptr = 0x7fff89ade8f0}, {
         _ptr = 0x7fff89adeb00}}}, _effect = {_ptr = 0x7fff9a7c3190}}
(gdb) print *(this->_updateCallback)
Could not find operator*.
(gdb) print *(this->_updateCallback._ptr)
$3 = {<osg::Object> = <invalid address>,
   _vptr.NodeCallback = 0x6574616c75646f6d, _nestedCallback = {
     _ptr = 0x7fff910eff00}}
(gdb) print *(NodeCallback *)(this->_updateCallback._ptr)
$4 = {<osg::Object> = <invalid address>,
   _vptr.NodeCallback = 0x6574616c75646f6d, _nestedCallback = {
     _ptr = 0x7fff910eff00}}
(gdb) print *(this->_updateCallback._ptr->_nestedCallback._ptr)
$5 = {<osg::Object> = {<osg::Referenced> = {
       _vptr.Referenced = 0x10f2650 <vtable for osg::DrawArrays+16>,
       _observerSet = {_ptr = 0x0}, _refCount = {_value = 1}}, _name = "",
     _dataVariance = osg::Object::UNSPECIFIED, _userDataContainer = 0x0},
   _vptr.NodeCallback = 0x10f2650 <vtable for osg::DrawArrays+16>,
   _nestedCallback = {_ptr = 0x0}}
(gdb) set pagination 0
(gdb) thread apply all bt full



More information about the pkg-fgfs-crew mailing list