From: <no...@so...> - 2002-07-10 16:44:40
|
Bugs item #579649, was opened at 2002-07-10 16:35 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101111&aid=579649&group_id=1111 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: linux server&worldgen crash Initial Comment: using cvs from today, arianne-server segfaults on my linux (RH 7.3) system. NOTE: I double (no trice-)checked that the share/Arianne/FOO.arianne files are indeed correct. Suspecting that the WorldFile might be corrupt, I tried to run worldgen, but it segfaults also, apparently at the same position. here are the outputs and backtrace from gdb: arianne-server -log [...] 16:26:01|App |notice-> ArianneServer::ArianneServer -BEGIN- 16:26:01|Layer5 |notice-> WorldManager::Load (World) -BEGIN- 16:26:01|Layer5 |notice-> WorldManager::LoadObjectDefinition -BEGIN- Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1024 (LWP 10721)] 0x08058389 in basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >::Rep::release (this=0xfffffff0) at /usr/include/g++-3/std/bastring.h:114 /usr/include/g++-3/std/bastring.h:114:3341:beg:0x8058389 (gdb) backtrace #0 0x08058389 in basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >::Rep::release (this=0xfffffff0) at /usr/include/g++-3/std/bastring.h:114 #1 0x08058190 in basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >::~basic_string (this=0x818eaa8, __in_chrg=2) at /usr/include/g++-3/std/bastring.h:195 #2 0x08064be1 in void destroy<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > > (__pointer=0x818eaa8) at /usr/include/g++-3/stl_construct.h:43 #3 0x0806483d in _List_base<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >, allocator<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > > >::clear (this=0xbfffe90c) at /usr/include/g++-3/stl_list.h:239 #4 0x080643bb in _List_base<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >, allocator<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > > >::~_List_base (this=0xbfffe90c, __in_chrg=0) at /usr/include/g++-3/stl_list.h:192 #5 0x08063bdd in list<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >, allocator<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > > >::~list (this=0xbfffe90c, __in_chrg=2) at /usr/include/g++-3/stl_list.h:437 #6 0x080d6acd in ObjectClassInfo::~ObjectClassInfo (this=0xbfffe8f0, __in_chrg=2) at SlotManager.cpp:38 #7 0x080e3383 in SlotManager::readFromObjectClassManager (this=0xbffff0c4, ClassManager=@0xbffff0b8) at SlotManager.cpp:38 #8 0x080bcbb6 in WorldManager::LoadObjectDefinition (this=0xbffff034) at WorldManager.cpp:54 #9 0x080bd02a in WorldManager::Load (this=0xbffff034, filename=@0xbfffeb00) at WorldManager.cpp:71 #10 0x08055f8b in ArianneServer::ArianneServer (this=0xbfffeb50) at Arianneserver.cpp:40 #11 0x0805b6ad in main (Num=2, arg=0xbffff274) at smain.cpp:229 #12 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6 (gdb) [END] worldGen: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1024 (LWP 11184)] 0x0805778d in _List_base<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >, allocator<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > > >::clear (this=0xbfffefcc) at /usr/include/g++-3/stl_list.h:238 /usr/include/g++-3/stl_list.h:238:6762:beg:0x805778d (gdb) backtrace #0 0x0805778d in _List_base<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >, allocator<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > > >::clear (this=0xbfffefcc) at /usr/include/g++-3/stl_list.h:238 #1 0x08056987 in _List_base<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >, allocator<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > > >::~_List_base (this=0xbfffefcc, __in_chrg=0) at /usr/include/g++-3/stl_list.h:192 #2 0x08055a25 in list<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >, allocator<basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > > >::~list (this=0xbfffefcc, __in_chrg=2) at /usr/include/g++-3/stl_list.h:437 #3 0x0807344d in ObjectClassInfo::~ObjectClassInfo (this=0xbfffefb0, __in_chrg=2) at SlotManager.cpp:38 #4 0x08080d9f in SlotManager::readFromObjectClassManager (this=0xbffff1e0, ClassManager=@0xbffff1d4) at SlotManager.cpp:38 #5 0x08068b6a in WorldManager::LoadObjectDefinition (this=0xbffff150) at WorldManager.cpp:54 #6 0x080526ec in main (argc=1, argv=0xbffff274) at main.cpp:40 #7 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6 (gdb) ---------------------------------------------------------------------- >Comment By: Eugen Treise (eugen11) Date: 2002-07-10 18:44 Message: Logged In: YES user_id=286483 This problem was reported by two people both on linux. On windows i don't have this problem. in WorldManager::LoadObjectDefinition() after loading the ObjectClass file the Slotmanager reads the ForSlots lists of all classes from the ObjectManager: m_SlotManager.readFromObjectClassManager(m_objectman); The problem occurs in the Slotmanager.cpp line 38: addForSlotList(*it, ClassManager.getObjectClassInfo(*it).ClassForSlots); something with std::list. I have no idea for the reason. For a workaround comment line 54 in Worldmanager.cpp the slot system is then disabled. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101111&aid=579649&group_id=1111 |