Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Caught SIGSEGV (Segfault). Please post the following on http://forums.polserver.com/tracker.php :
- === CUT ===
- Build: POL099-2011-05-02 Break Everything Even Rudder (debian)
- Last Script: pkg/items/containers/container/onRemove.ecl PC: 239
- Stack Backtrace:
- [0x829521c]
- [0x830b5e8]
- [0x81acd78]
- [0x81ce981]
- [0x81d1c01]
- [0x8264e2e]
- [0x826b7d3]
- [0x826e3f1]
- [0x8177786]
- [0x81784ca]
- [0x8142c44]
- [0x829bc7a]
- [0x829c1c3]
- [0x8307734]
- [0x83544ce]
- === CUT ===
- (gdb) l *0x829521c
- 0x829521c is in segv_handler(int) (clib/strexcpt.cpp:275).
- 270 cerr << "Build: " << progverstr << " (" << buildtagstr << ")" << endl;
- 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 ] );
- (gdb)
- (gdb) l *0x830b5e8
- No source file for address 0x830b5e8.
- (gdb) l *0x81acd78
- 0x81acd78 is in send_remove_object_if_inrange(Client*, Item const*) (pol/ufunc.cpp:653).
- 648 (abs( c1->y - c2->y ) <= RANGE_VISUAL) );
- 649 }
- 650
- 651 bool inrange( const Character *c1, const UObject *obj )
- 652 {
- 653 obj = obj->toplevel_owner();
- 654
- 655 return ( (c1->realm == obj->realm) &&
- 656 (abs( c1->x - obj->x ) <= RANGE_VISUAL) &&
- 657 (abs( c1->y - obj->y ) <= RANGE_VISUAL) );
- (gdb)
- (gdb) l *0x81ce981
- 0x81ce981 is in true_extricate(Item*) (pol/module/../../clib/stlutil.h:38).
- 33
- 34 template <class C, class T, class A>
- 35 void ConstForEach( C& coll, void (*f)(T elem, const A* staticdata), const A* staticdata )
- 36 {
- 37 typename C::iterator itr = coll.begin(), end = coll.end();
- 38 for( ; itr != end; ++itr )
- 39 {
- 40 (*f)( *itr, staticdata );
- 41 }
- 42 }
- (gdb)
- (gdb) l *0x81d1c01
- 0x81d1c01 is in UOExecutorModule::mf_MoveItemToContainer() (pol/module/uomod.cpp:3798).
- 3793 else
- 3794 {
- 3795 u16 amount = item->getamount();
- 3796 existing_stack->add_to_self(item);
- 3797 true_extricate( item );
- 3798 Log("MoveItemToCont...: %s \n", item->serial);
- 3799 update_item_to_inrange( existing_stack );
- 3800 UpdateCharacterWeight( existing_stack );
- 3801 // Log("Test2: "+item->serial+"\n");
- 3802 cont->on_insert_increase_stack( chr_owner, UContainer::MT_CORE_MOVED, existing_stack, amount );
- (gdb)
- (gdb) l *0x8264e2e
- 0x8264e2e is in Executor::execFunc(Token const&) (bscript/executor.cpp:806).
- 801 if (!fparams.empty())
- 802 strm << " [" << fparams[0].get()->impptr()->typeOf() << "]";
- 803 string name(strm.str());
- 804 unsigned long profile_start= GetTimeUs();
- 805 #endif
- 806 BObjectImp* resimp = em->execFunc( modfunc->funcidx );
- 807 #ifdef ESCRIPT_PROFILE
- 808 profile_escript(name,profile_start);
- 809 #endif
- 810
- (gdb)
- 0x826b7d3 is in Executor::ins_func(Instruction const&) (/usr/include/c++/4.4/bits/stl_vector.h:951).
- 946 * pointed-to memory is not touched in any way. Managing the pointer is
- 947 * the user's responsibility.
- 948 */
- 949 void
- 950 clear()
- 951 { _M_erase_at_end(this->_M_impl._M_start); }
- 952
- 953 protected:
- 954 /**
- 955 * Memory expansion handler. Uses the member allocation function to
- (gdb) l *0x826e3f1
- 0x826e3f1 is in Executor::execInstr() (bscript/executor.cpp:3321).
- 3316 onPC );
- 3317
- 3318 show_context( onPC );
- 3319 }
- 3320 #endif
- 3321 }
- 3322
- 3323 string Executor::dbg_get_instruction( size_t atPC ) const
- 3324 {
- 3325 OSTRINGSTREAM os;
- (gdb)
- (gdb) l *0x8177786
- 0x8177786 is in run_ready() (pol/scrsched.cpp:316).
- 311 ++ex->instr_cycles;
- 312 THREAD_CHECKPOINT( scripts, 112 );
- 313 scripts_thread_scriptPC = ex->PC;
- 314 ex->execInstr();
- 315
- 316 THREAD_CHECKPOINT( scripts, 113 );
- 317
- 318 if (os_module->blocked_)
- 319 {
- 320 ex->warn_runaway_on_cycle = ex->instr_cycles + config.runaway_script_threshold;
- (gdb)
- (gdb) l *0x81784ca
- 0x81784ca is in step_scripts(int*, bool*) (pol/scrsched.cpp:495).
- 490 THREAD_CHECKPOINT( scripts, 103 );
- 491
- 492 run_ready();
- 493
- 494 // cerr << "h";
- 495 THREAD_CHECKPOINT( scripts, 104 );
- 496
- 497 check_blocked( clocksleft );
- 498 THREAD_CHECKPOINT( scripts, 105 );
- 499 if (!runlist.empty())
- (gdb)
- (gdb) l *0x8142c44
- 0x8142c44 is in scripts_thread() (/usr/include/c++/4.4/bits/stl_iterator.h:686).
- 681 typedef typename iterator_traits<_Iterator>::pointer pointer;
- 682
- 683 __normal_iterator() : _M_current(_Iterator()) { }
- 684
- 685 explicit
- 686 __normal_iterator(const _Iterator& __i) : _M_current(__i) { }
- 687
- 688 // Allow iterator to const_iterator conversion
- 689 template<typename _Iter>
- 690 __normal_iterator(const __normal_iterator<_Iter,
- (gdb)
- (gdb) l *0x829bc7a
- 0x829bc7a is in threadhelp::run_thread(void (*)()) (clib/threadhelp.cpp:144).
- 139 res = pthread_attr_setdetachstate( &create_detached_attr, PTHREAD_CREATE_DETACHED );
- 140 passert_always( res == 0 );
- 141 }
- 142 void threadsem_lock()
- 143 {
- 144 pid_t pid = getpid();
- 145 int res = pthread_mutex_lock( &threadsem );
- 146 if (res != 0)
- 147 {
- 148 Log( "pthread_mutex_lock: res=%d, pid=%d\n", res, pid );
- (gdb)
- (gdb) l *0x829c1c3
- 0x829c1c3 is in threadhelp::thread_stub2(void*) (clib/threadhelp.cpp:277).
- 272 td = NULL;
- 273
- 274 if (entry != NULL)
- 275 run_thread( entry, arg );
- 276 else
- 277 run_thread( entry_noparam );
- 278
- 279 #ifdef _WIN32
- 280 _endthreadex(0);
- 281 #else
- (gdb)
- (gdb) l *0x8307734
- 0x8307734 is in start_thread (pthread_create.c:300).
- 295 pthread_create.c: Nie ma takiego pliku ani katalogu.
- in pthread_create.c
- (gdb) l *0x83544ce
- No source file for address 0x83544ce.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement