Hi,
I found another bug. While exiting fg, I got a crash. The crashed
function is called by FGAIBase::~FGAIBase() line 71:
fgSetString("/ai/models/model-removed", props->getPath());
This calls SGPropertyNode::getNode (const char * relative_path, bool
create) where _path_cache is referenced. But this object seems to be
destructed and SGPropertyNode * result =
_path_cache->get(relative_path); (props.cxx l. 61) crashes.
Here the call stack:
FlightGear.exe!SGPropertyNode::hash_table::get(const char *
key=0x01230c78) Zeile 2230 + 0x3 Bytes C++
> FlightGear.exe!SGPropertyNode::getNode(const char *
relative_path=0x01230c78, bool create=true) Zeile 1746 + 0x12 Bytes C++
FlightGear.exe!SGPropertyNode::setStringValue(const char *
relative_path=0x01230c78, const char * value=0x1ded48f0) Zeile 1936 +
0x12 Bytes C++
FlightGear.exe!fgSetString(const char * name=0x01230c78, const char
* val=0x1ded48f0) Zeile 787 C++
FlightGear.exe!FGAIBase::~FGAIBase() Zeile 80 + 0x1f Bytes C++
FlightGear.exe!FGAIMultiplayer::~FGAIMultiplayer() Zeile 44 + 0x5d
Bytes C++
FlightGear.exe!FGAIMultiplayer::`scalar deleting destructor'() +
0x2b Bytes C++
FlightGear.exe!SGSharedPtr<FGAIMultiplayer>::put() Zeile 93 + 0x8e
Bytes C++
FlightGear.exe!SGSharedPtr<FGAIMultiplayer>::~SGSharedPtr<FGAIMultiplayer>()
Zeile 58 + 0x2b Bytes C++
FlightGear.exe!std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> const ,SGSharedPtr<FGAIMultiplayer>
>::~pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> const ,SGSharedPtr<FGAIMultiplayer> >() + 0x54 Bytes C++
FlightGear.exe!std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0> >::_Node::~_Node() + 0x2e
Bytes C++
FlightGear.exe!std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0> >::_Node::`scalar deleting
destructor'() + 0x2b Bytes C++
FlightGear.exe!std::_Destroy<std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0>
>::_Node>(std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0> >::_Node *
_Ptr=0x157a6f98) Zeile 61 C++
FlightGear.exe!std::allocator<std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0>
>::_Node>::destroy(std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0> >::_Node *
_Ptr=0x157a6f98) Zeile 161 + 0x9 Bytes C++
FlightGear.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0>
>::_Erase(std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0> >::_Node *
_Rootnode=0x157a6f98) Zeile 1078 C++
FlightGear.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0>
>::_Erase(std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0> >::_Node *
_Rootnode=0x1d06f700) Zeile 1076 C++
FlightGear.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>,SGSharedPtr<FGAIMultiplayer>,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
>
>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>
>
> const ,SGSharedPtr<FGAIMultiplayer> > >,0> >::clear() Zeile 955 C++
FlightGear.exe!FGMultiplayMgr::Close() Zeile 226 C++
FlightGear.exe!FGMultiplay::close() Zeile 292 C++
FlightGear.exe!FGIO::shutdown_all() Zeile 351 + 0xf Bytes C++
FlightGear.exe!FGIO::~FGIO() Zeile 85 C++
FlightGear.exe!FGIO::`scalar deleting destructor'() + 0x2b
Bytes C++
FlightGear.exe!FGGlobals::~FGGlobals() Zeile 107 + 0x3a Bytes C++
FlightGear.exe!FGGlobals::`scalar deleting destructor'() + 0x2b
Bytes C++
FlightGear.exe!fgExitCleanup() Zeile 232 + 0x36 Bytes C++
Maik
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel