A while ago AJ and I had the same crash with FG/SG cvs with multiplay.
After some valgrinding I managed to get this errors, which also has
something to do with things being freed in the destructor and got
reference again further in another destructor. I get this report when
I exit FG, see if this would be helpful:

==8641== Invalid read of size 8
==8641==    at 0x81A06BA: SGRawValuePointer<double>::getValue() const (props.hxx
:249)
==8641==    by 0x8067EC3: fgGetFloat(char const*, float) (fg_props.cxx:668)
==8641==    by 0x8360D29: FGAIBase::_isNight() (AIBase.cxx:385)
==8641==    by 0x805CE91: SGRawValueFunctions<bool>::getValue() const (props.hxx
:320)
==8641==    by 0x841A14C: SGPropertyNode::getBoolValue() const (props.cxx:323)
==8641==    by 0x841A1E0: SGPropertyNode::untie() (props.cxx:1660)
==8641==    by 0x841C0DB: SGPropertyNode::untie(char const*) (props.cxx:2030)
==8641==    by 0x83610D5: FGAIBase::unbind() (AIBase.cxx:244)
==8641==    by 0x8366161: FGAIMultiplayer::unbind() (AIMultiplayer.cxx:72)
==8641==    by 0x835E9D3: FGAIManager::~FGAIManager() (AIManager.cxx:46)
==8641==    by 0x844C143: SGSubsystemGroup::Member::~Member() (subsystem_mgr.cxx
:227)
==8641==    by 0x844B8CE: SGSubsystemGroup::~SGSubsystemGroup() (subsystem_mgr.c
xx:85)
==8641==    by 0x844B968: SGSubsystemMgr::~SGSubsystemMgr() (subsystem_mgr.cxx:2
55)
==8641==    by 0x806CEAA: FGGlobals::~FGGlobals() (globals.cxx:99)
==8641==    by 0x8051121: fgExitCleanup() (bootstrap.cxx:226)
==8641==    by 0x4509473: exit (in /lib/tls/libc-2.3.5.so)
==8641==    by 0x807BADA: fgExit(int) (util.cxx:109)
==8641==    by 0x8059F48: do_exit(SGPropertyNode const*) (fg_commands.cxx:224)
==8641==    by 0x825F930: FGBinding::fire() const (input.cxx:132)
==8641==    by 0x823A60F: action_callback(puObject*) (dialog.cxx:177)
==8641==    by 0x8457BDF: puButton::doHit(int, int, int, int) (pu.h:701)
==8641==    by 0x845D10F: puOneShot::doHit(int, int, int, int) (puOneShot.cxx:32
)
==8641==    by 0x845CF51: puObject::checkHit(int, int, int, int) (puObject.cxx:5
12)
==8641==    by 0x8458E29: puGroup::checkHit(int, int, int, int) (puGroup.cxx:218
)
==8641==    by 0x8458E29: puGroup::checkHit(int, int, int, int) (puGroup.cxx:218
)
==8641==    by 0x8456F8B: puMouse(int, int, int, int) (pu.cxx:384)
==8641==    by 0x82604DC: FGInput::doMouseClick(int, int, int, int) (input.cxx:3
08)
==8641==    by 0x825E103: mouseClickHandler(int, int, int, int) (input.cxx:1117)
==8641==    by 0x8080504: fgOSMainLoop() (fg_os_sdl.cxx:210)
==8641==    by 0x8051B51: fgMainInit(int, char**) (main.cxx:1019)
==8641==    by 0x805122B: main (bootstrap.cxx:198)
==8641==  Address 0x4FFB970 is 168 bytes inside a block of size 344 free'd
==8641==    at 0x401C304: operator delete(void*) (vg_replace_malloc.c:246)
==8641==    by 0x844C143: SGSubsystemGroup::Member::~Member() (subsystem_mgr.cxx
:227)
==8641==    by 0x844B8CE: SGSubsystemGroup::~SGSubsystemGroup() (subsystem_mgr.c
xx:85)
==8641==    by 0x844B968: SGSubsystemMgr::~SGSubsystemMgr() (subsystem_mgr.cxx:2
55)
==8641==    by 0x806CEAA: FGGlobals::~FGGlobals() (globals.cxx:99)
==8641==    by 0x8051121: fgExitCleanup() (bootstrap.cxx:226)
==8641==    by 0x4509473: exit (in /lib/tls/libc-2.3.5.so)
==8641==    by 0x807BADA: fgExit(int) (util.cxx:109)
==8641==    by 0x8059F48: do_exit(SGPropertyNode const*) (fg_commands.cxx:224)
==8641==    by 0x825F930: FGBinding::fire() const (input.cxx:132)
==8641==    by 0x823A60F: action_callback(puObject*) (dialog.cxx:177)
==8641==    by 0x8457BDF: puButton::doHit(int, int, int, int) (pu.h:701)
==8641==    by 0x845D10F: puOneShot::doHit(int, int, int, int) (puOneShot.cxx:32
)
==8641==    by 0x845CF51: puObject::checkHit(int, int, int, int) (puObject.cxx:5
12)
==8641==    by 0x8458E29: puGroup::checkHit(int, int, int, int) (puGroup.cxx:218
)
==8641==    by 0x8458E29: puGroup::checkHit(int, int, int, int) (puGroup.cxx:218
)
==8641==    by 0x8456F8B: puMouse(int, int, int, int) (pu.cxx:384)
==8641==    by 0x82604DC: FGInput::doMouseClick(int, int, int, int) (input.cxx:3
08)
==8641==    by 0x825E103: mouseClickHandler(int, int, int, int) (input.cxx:1117)
==8641==    by 0x8080504: fgOSMainLoop() (fg_os_sdl.cxx:210)
==8641==    by 0x8051B51: fgMainInit(int, char**) (main.cxx:1019)
==8641==    by 0x805122B: main (bootstrap.cxx:198)


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to