I've got the following messages (from within plib) recently: fgfs: ssgBase.cxx:78: virtual ssgBase::~ssgBase(): Assertion `refc == 0' failed.
Spurious bug; hard to trigger at will. You have to swing a fresh dead mouse from the mousetrap under the sink over your head whilst chanting "Oh Bug of Darkness! Reveal thyself!" (and that only works on haloween) Something is being deleted while still referenced. (Doesn't seem to be plib's fault. I haven't even tried to build an osg version yet.) But tonight I managed to catch it in gdb (as well as the notorious sink mouse). Backtrace follows below. While investigating this I noticed these lines in src/AIModel/AIManager.cxx in method ssgBranch * FGAIManager::getModel(const string& path) (line 262) ...(while iterating over all loaded models): if (i->getNumRefs() == 1) { i = loadedModels.erase(i); //cerr << "[ Deleted ]" << endl; } else { i++; //cerr << endl; } Does this mean what I think it does?: "if referenced by just one -- then what the heck, let's erase it!" Looking at the backtrace it seems the task was to add a new aircraft in the MP scene. Why erase anything. But the call to ::getModel() looks funny too: the argument is NULL The backtrace: Chat [Platon] Syd is now online, using Chat [Platon] Aircraft/Aerostar-700/Models/aerostar.xml fgfs: ssgBase.cxx:78: virtual ssgBase::~ssgBase(): Assertion `refc == 0' failed. Program received signal SIGABRT, Aborted. [Switching to Thread 16384 (LWP 28136)] 0x404ccd81 in kill () from /lib/libc.so.6 (gdb) bt #0 0x404ccd81 in kill () from /lib/libc.so.6 #1 0x40039681 in pthread_kill () from /lib/libpthread.so.0 #2 0x400399fb in raise () from /lib/libpthread.so.0 #3 0x404ccb14 in raise () from /lib/libc.so.6 #4 0x404ce05d in abort () from /lib/libc.so.6 #5 0x404c600f in __assert_fail () from /lib/libc.so.6 #6 0x086591c4 in ~ssgBase (this=0xc603ce0) at ssgBase.cxx:88 #7 0x0866e2dd in ~ssgTexture (this=0xc603ce0) at ssgTexture.cxx:148 #8 0x085d553d in ~SGShaderAnimation (this=0xc66da28) at shadanim.cxx:621 #9 0x08656999 in ssgDeRefDelete (s=0x4003eff4) at ssg.cxx:92 #10 0x08659169 in ~ssgBase (this=0xc90ce58) at ssgBase.cxx:75 #11 0x0865d5a2 in ~ssgEntity (this=0xc90ce58) at ssgEntity.cxx:52 #12 0x08659e5a in ~ssgBranch (this=0xc90ce58) at ssgBranch.cxx:59 #13 0x08656999 in ssgDeRefDelete (s=0x4003eff4) at ssg.cxx:92 #14 0x0865a076 in ssgBranch::removeKid (this=0xcaf1b70, n=0) at ssgBranch.cxx:97 #15 0x0865a10a in ssgBranch::removeAllKids (this=0xcaf1b70) at ssgBranch.cxx:112 #16 0x08659e47 in ~ssgBranch (this=0xcaf1b70) at ssgBranch.cxx:59 #17 0x08656999 in ssgDeRefDelete (s=0x4003eff4) at ssg.cxx:92 #18 0x0865a076 in ssgBranch::removeKid (this=0xc889d60, n=0) at ssgBranch.cxx:97 #19 0x0865a10a in ssgBranch::removeAllKids (this=0xc889d60) at ssgBranch.cxx:112 #20 0x08659d47 in ~ssgBranch (this=0xc889d60) at ssgBranch.cxx:59 #21 0x0866627e in ~ssgSelector (this=0xc889d60) at ssgSelector.cxx:56 #22 0x08670856 in ~ssgRangeSelector (this=0xc889d60) at ssgRangeSelector.cxx:57 #23 0x08656999 in ssgDeRefDelete (s=0x4003eff4) at ssg.cxx:92 #24 0x0865a076 in ssgBranch::removeKid (this=0xecaaa48, n=10) at ssgBranch.cxx:97 #25 0x0865a10a in ssgBranch::removeAllKids (this=0xecaaa48) at ssgBranch.cxx:112 #26 0x08659e47 in ~ssgBranch (this=0xecaaa48) at ssgBranch.cxx:59 #27 0x08656999 in ssgDeRefDelete (s=0x4003eff4) at ssg.cxx:92 #28 0x0865a076 in ssgBranch::removeKid (this=0xde78a58, n=0) at ssgBranch.cxx:97 #29 0x0865a10a in ssgBranch::removeAllKids (this=0xde78a58) at ssgBranch.cxx:112 #30 0x08659d47 in ~ssgBranch (this=0xde78a58) at ssgBranch.cxx:59 #31 0x08659985 in ~ssgBaseTransform (this=0x0) at ssgBaseTransform.cxx:49 #32 0x0866e836 in ~ssgTransform (this=0xde78a58) at ssgTransform.cxx:52 #33 0x08656999 in ssgDeRefDelete (s=0x4003eff4) at ssg.cxx:92 #34 0x0865a076 in ssgBranch::removeKid (this=0xc70de40, n=0) at ssgBranch.cxx:97 #35 0x0865a10a in ssgBranch::removeAllKids (this=0xc70de40) at ssgBranch.cxx:112 ---Type <return> to continue, or q <return> to quit--- #36 0x08659e47 in ~ssgBranch (this=0xc70de40) at ssgBranch.cxx:59 #37 0x08656999 in ssgDeRefDelete (s=0x4003eff4) at ssg.cxx:92 #38 0x0865a076 in ssgBranch::removeKid (this=0xc5d2548, n=0) at ssgBranch.cxx:97 #39 0x0865a10a in ssgBranch::removeAllKids (this=0xc5d2548) at ssgBranch.cxx:112 #40 0x08659d47 in ~ssgBranch (this=0xc5d2548) at ssgBranch.cxx:59 #41 0x08659985 in ~ssgBaseTransform (this=0x0) at ssgBaseTransform.cxx:49 #42 0x0866e836 in ~ssgTransform (this=0xc5d2548) at ssgTransform.cxx:52 #43 0x080b3269 in ssgSharedPtr<ssgBranch>::put (this=0x4d19e7c8) at ssgSharedPtr.hxx:85 #44 0x085187a8 in std::vector<FGModelID, std::allocator<FGModelID> >::erase (this=0xb1350cc) at ssgSharedPtr.hxx:43 #45 0x085178fc in FGAIManager::getModel (this=0xb1350c0, [EMAIL PROTECTED]) at AIManager.cxx:273 #46 0x08519b64 in FGAIBase::load3DModel (this=0xefb7668, [EMAIL PROTECTED], [EMAIL PROTECTED], prop_root=0xc61d538, sim_time_sec=252.5249999999977) at ssgSharedPtr.hxx:52 #47 0x08519a38 in FGAIBase::init (this=0xefb7668) at globals.hxx:242 #48 0x0851fbf9 in FGAIMultiplayer::init (this=0xefb7668) at AIMultiplayer.cxx:60 #49 0x08516bd6 in FGAIManager::attach (this=0xb1350c0, model={_ptr = 0xefb7668}) at SGSharedPtr.hxx:70 #50 0x0850e6b0 in FGMultiplayMgr::addMultiplayer (this=0xb369f70, [EMAIL PROTECTED], [EMAIL PROTECTED]) at SGReferenced.hxx:41 #51 0x0850d9ef in FGMultiplayMgr::ProcessPosMsg (this=0xb369f70, Msg=0xbfffec20 "SFGF\001", [EMAIL PROTECTED], len=436, stamp=1162691100) at stl_alloc.h:652 #52 0x0850cea2 in FGMultiplayMgr::Update (this=0xb369f70) at multiplaymgr.cxx:502 #53 0x08052b28 in fgMainLoop () at globals.hxx:329 #54 0x080875b2 in GLUTidle () at fg_os.cxx:124 #55 0x400a5929 in __glutRegisterEventParser () from /usr/X11R6/lib/libglut.so.3 #56 0x400a60ad in glutMainLoop () from /usr/X11R6/lib/libglut.so.3 #57 0x080558db in fgMainInit (argc=2, argv=0xbffff464) at main.cxx:1042 #58 0x08051a86 in main (argc=2, argv=0xbffff464) at bootstrap.cxx:204 (gdb) ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel