Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data/pcs.txt:Caught SIGSEGV (Segfault). Please post the following on http://forums.polserver.com/tracker.php :
- === CUT ===
- Build: POL099-2011-05-02 Break Everything Even Rudder (ubuntu)
- Last Script: scripts/misc/equiptest.ecl PC: 3
- Stack Backtrace:
- ./pol-dynamic() [0x82b5f2c]
- [0xb5f400]
- ./pol-dynamic() [0x8250f08]
- ./pol-dynamic() [0x81e8897]
- ./pol-dynamic() [0x8094f69]
- ./pol-dynamic() [0x809604e]
- ./pol-dynamic() [0x81da71e]
- ./pol-dynamic() [0x81dadf0]
- ./pol-dynamic() [0x81dbd33]
- ./pol-dynamic() [0x81532f7]
- ./pol-dynamic() [0x815431b]
- ./pol-dynamic() [0x82c2b9b]
- /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x2eae37]
- ./pol-dynamic() [0x804d7b1]
- === CUT ===
- Segmentation fault
- rl@RL-Linux:~/pol099$ gdb pol-dynamic
- Reading symbols from /home/rl/pol099/pol-dynamic...done.
- (gdb) l *0x82b5f2c
- 0x82b5f2c is in segv_handler(int) (clib/strexcpt.cpp:276).
- 271 cerr << "Last Script: " << scripts_thread_script << " PC: " << scripts_thread_scriptPC << endl;
- 272 cerr << "Stack Backtrace:" << endl;
- 273
- 274 void* bt[ 200 ];
- 275 int n = backtrace( bt, 200 );
- 276 char** strings = backtrace_symbols( bt, n );
- 277 for (int i = 0; i < n; i++)
- 278 {
- 279 Log( "%s\n", strings[ i ] );
- 280 cerr << strings[ i ] << endl;
- (gdb) l *0xb5f400
- No source file for address 0xb5f400.
- (gdb) l *0x8250f08
- 0x8250f08 is in Realm::valid(unsigned short, unsigned short, short) const (plib/realm.h:157).
- 152 Realm( const Realm& );
- 153
- 154 public:
- 155 inline RealmDescriptor _Descriptor() const
- 156 {
- 157 if (is_shadowrealm)
- 158 return baserealm->_Descriptor();
- 159 return _descriptor;
- 160 }
- 161 };
- (gdb) l *0x81e8897
- 0x81e8897 is in UObject::readProperties(ConfigElem&) (pol/uobject.cpp:287).
- 282
- 283 realm = find_realm( elem.remove_string("Realm", "britannia") );
- 284 x = elem.remove_ushort( "X" );
- 285 y = elem.remove_ushort( "Y" );
- 286 z = static_cast<s8>(elem.remove_int( "Z" ));
- 287 if( !realm->valid(x,y,z) )
- 288 {
- 289 x = static_cast<u16>(realm->width()) - 1;
- 290 y = static_cast<u16>(realm->height()) - 1;
- 291 z = 0;
- (gdb) l *0x8094f69
- 0x8094f69 is in Character::readCommonProperties(ConfigElem&) (pol/mobile/charactr.cpp:1071).
- 1066
- 1067 registered_house = elem.remove_ulong( "REGISTEREDHOUSE", 0 );
- 1068
- 1069 base::readProperties( elem );
- 1070
- 1071 if (name_ == "")
- 1072 {
- 1073 cerr << "Character '" << hexint(serial) << "' has no name!"
- 1074 << endl;
- 1075 throw runtime_error( "Data integrity error" );
- (gdb) l *0x809604e
- 0x809604e is in Character::readProperties(ConfigElem&) (pol/mobile/charactr.cpp:1273).
- 1268 }
- 1269
- 1270 void Character::readProperties( ConfigElem& elem )
- 1271 {
- 1272 readCommonProperties( elem );
- 1273 readAttributesAndVitals( elem );
- 1274
- 1275 last_corpse = elem.remove_ulong("LastCorpse", 0);
- 1276 }
- 1277
- (gdb) l *0x81da71e
- 0x81da71e is in read_character(ConfigElem&) (pol/uimport.cpp:92).
- 87
- 88 try
- 89 {
- 90 // note chr->logged_in is true..
- 91 chr->readProperties( elem );
- 92 chr->clear_dirty();
- 93
- 94 // readProperties gets the serial, so we can't add to the objecthash until now.
- 95 objecthash.Insert(chr.get());
- 96 }
- (gdb) l *0x81dadf0
- 0x81dadf0 is in slurp(char const*, char const*, int) (pol/uimport.cpp:386).
- 381 catch( std::exception& )
- 382 {
- 383 if (!config.ignore_load_errors)
- 384 throw;
- 385 }
- 386 ++nobjects;
- 387 }
- 388
- 389 wallclock_t finish = wallclock();
- 390
- (gdb) l *0x81dbd33
- 0x81dbd33 is in read_data() (pol/uimport.cpp:422).
- 417 slurp( (config.world_data_path + "objects.txt").c_str(), "CHARACTER NPC ITEM GLOBALPROPERTIES" );
- 418 }
- 419
- 420 void read_pcs_dat()
- 421 {
- 422 slurp( (config.world_data_path + "pcs.txt").c_str(), "CHARACTER ITEM", SYSFIND_SKIP_WORLD );
- 423 }
- 424
- 425 void read_pcequip_dat()
- 426 {
- (gdb) l *0x81532f7
- 0x81532f7 is in xmain_inner(int, char**) (pol/pol.cpp:2081).
- 2076 checkpoint( "reading account data" );
- 2077 read_account_data();
- 2078
- 2079 checkpoint( "reading data" );
- 2080 read_data();
- 2081 wallclock_t rd_end = wallclock();
- 2082 int ms = wallclock_diff_ms( rd_start, rd_end );
- 2083 cout << "Done! " << ms << " milliseconds."<< endl;
- 2084
- 2085 allocate_intrinsic_weapon_serials();
- (gdb) l *0x815431b
- 0x815431b is in xmain(int, char**) (pol/pol.cpp:2334).
- 2329 strcpy( progverstr, polverstr );
- 2330 strcpy( buildtagstr, polbuildtag );
- 2331 progver = polver;
- 2332
- 2333 return xmain_outer( argc, argv );
- 2334 }
- 2335 #endif
- 2336
- (gdb) ^CQuit
- (gdb) l *0x82c2b9b
- 0x82c2b9b is in main (clib/xmain.cpp:81).
- 76 cerr << "Execution aborted due to generic exception." << endl;
- 77 exitcode = 2;
- 78 }
- 79 #endif
- 80 return exitcode;
- 81 }
- 82
- 83 string xmain_exepath;
- 84 string xmain_exedir;
- 85
- (gdb) l *0x804d7b1
- No source file for address 0x804d7b1.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement