Advertisement
Guest User

pol crash

a guest
Dec 26th, 2012
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.58 KB | None | 0 0
  1. Caught SIGSEGV (Segfault). Please post the following on http://forums.polserver.com/tracker.php :
  2. === CUT ===
  3. Build: POL099-2011-05-02 Break Everything Even Rudder (debian)
  4. Last Script: pkg/items/containers/container/onRemove.ecl PC: 239
  5. Stack Backtrace:
  6. [0x829521c]
  7. [0x830b5e8]
  8. [0x81acd78]
  9. [0x81ce981]
  10. [0x81d1c01]
  11. [0x8264e2e]
  12. [0x826b7d3]
  13. [0x826e3f1]
  14. [0x8177786]
  15. [0x81784ca]
  16. [0x8142c44]
  17. [0x829bc7a]
  18. [0x829c1c3]
  19. [0x8307734]
  20. [0x83544ce]
  21. === CUT ===
  22.  
  23. (gdb) l *0x829521c
  24. 0x829521c is in segv_handler(int) (clib/strexcpt.cpp:275).
  25. 270 cerr << "Build: " << progverstr << " (" << buildtagstr << ")" << endl;
  26. 271 cerr << "Last Script: " << scripts_thread_script << " PC: " << scripts_thread_scriptPC << endl;
  27. 272 cerr << "Stack Backtrace:" << endl;
  28. 273
  29. 274 void* bt[ 200 ];
  30. 275 int n = backtrace( bt, 200 );
  31. 276 char** strings = backtrace_symbols( bt, n );
  32. 277 for (int i = 0; i < n; i++)
  33. 278 {
  34. 279 Log( "%s\n", strings[ i ] );
  35. (gdb)
  36.  
  37. (gdb) l *0x830b5e8
  38. No source file for address 0x830b5e8.
  39.  
  40. (gdb) l *0x81acd78
  41. 0x81acd78 is in send_remove_object_if_inrange(Client*, Item const*) (pol/ufunc.cpp:653).
  42. 648 (abs( c1->y - c2->y ) <= RANGE_VISUAL) );
  43. 649 }
  44. 650
  45. 651 bool inrange( const Character *c1, const UObject *obj )
  46. 652 {
  47. 653 obj = obj->toplevel_owner();
  48. 654
  49. 655 return ( (c1->realm == obj->realm) &&
  50. 656 (abs( c1->x - obj->x ) <= RANGE_VISUAL) &&
  51. 657 (abs( c1->y - obj->y ) <= RANGE_VISUAL) );
  52. (gdb)
  53.  
  54.  
  55. (gdb) l *0x81ce981
  56. 0x81ce981 is in true_extricate(Item*) (pol/module/../../clib/stlutil.h:38).
  57. 33
  58. 34 template <class C, class T, class A>
  59. 35 void ConstForEach( C& coll, void (*f)(T elem, const A* staticdata), const A* staticdata )
  60. 36 {
  61. 37 typename C::iterator itr = coll.begin(), end = coll.end();
  62. 38 for( ; itr != end; ++itr )
  63. 39 {
  64. 40 (*f)( *itr, staticdata );
  65. 41 }
  66. 42 }
  67. (gdb)
  68.  
  69.  
  70. (gdb) l *0x81d1c01
  71. 0x81d1c01 is in UOExecutorModule::mf_MoveItemToContainer() (pol/module/uomod.cpp:3798).
  72. 3793 else
  73. 3794 {
  74. 3795 u16 amount = item->getamount();
  75. 3796 existing_stack->add_to_self(item);
  76. 3797 true_extricate( item );
  77. 3798 Log("MoveItemToCont...: %s \n", item->serial);
  78. 3799 update_item_to_inrange( existing_stack );
  79. 3800 UpdateCharacterWeight( existing_stack );
  80. 3801 // Log("Test2: "+item->serial+"\n");
  81. 3802 cont->on_insert_increase_stack( chr_owner, UContainer::MT_CORE_MOVED, existing_stack, amount );
  82. (gdb)
  83.  
  84.  
  85. (gdb) l *0x8264e2e
  86. 0x8264e2e is in Executor::execFunc(Token const&) (bscript/executor.cpp:806).
  87. 801 if (!fparams.empty())
  88. 802 strm << " [" << fparams[0].get()->impptr()->typeOf() << "]";
  89. 803 string name(strm.str());
  90. 804 unsigned long profile_start= GetTimeUs();
  91. 805 #endif
  92. 806 BObjectImp* resimp = em->execFunc( modfunc->funcidx );
  93. 807 #ifdef ESCRIPT_PROFILE
  94. 808 profile_escript(name,profile_start);
  95. 809 #endif
  96. 810
  97. (gdb)
  98.  
  99.  
  100. 0x826b7d3 is in Executor::ins_func(Instruction const&) (/usr/include/c++/4.4/bits/stl_vector.h:951).
  101. 946 * pointed-to memory is not touched in any way. Managing the pointer is
  102. 947 * the user's responsibility.
  103. 948 */
  104. 949 void
  105. 950 clear()
  106. 951 { _M_erase_at_end(this->_M_impl._M_start); }
  107. 952
  108. 953 protected:
  109. 954 /**
  110. 955 * Memory expansion handler. Uses the member allocation function to
  111.  
  112. (gdb) l *0x826e3f1
  113. 0x826e3f1 is in Executor::execInstr() (bscript/executor.cpp:3321).
  114. 3316 onPC );
  115. 3317
  116. 3318 show_context( onPC );
  117. 3319 }
  118. 3320 #endif
  119. 3321 }
  120. 3322
  121. 3323 string Executor::dbg_get_instruction( size_t atPC ) const
  122. 3324 {
  123. 3325 OSTRINGSTREAM os;
  124. (gdb)
  125.  
  126.  
  127. (gdb) l *0x8177786
  128. 0x8177786 is in run_ready() (pol/scrsched.cpp:316).
  129. 311 ++ex->instr_cycles;
  130. 312 THREAD_CHECKPOINT( scripts, 112 );
  131. 313 scripts_thread_scriptPC = ex->PC;
  132. 314 ex->execInstr();
  133. 315
  134. 316 THREAD_CHECKPOINT( scripts, 113 );
  135. 317
  136. 318 if (os_module->blocked_)
  137. 319 {
  138. 320 ex->warn_runaway_on_cycle = ex->instr_cycles + config.runaway_script_threshold;
  139. (gdb)
  140.  
  141.  
  142. (gdb) l *0x81784ca
  143. 0x81784ca is in step_scripts(int*, bool*) (pol/scrsched.cpp:495).
  144. 490 THREAD_CHECKPOINT( scripts, 103 );
  145. 491
  146. 492 run_ready();
  147. 493
  148. 494 // cerr << "h";
  149. 495 THREAD_CHECKPOINT( scripts, 104 );
  150. 496
  151. 497 check_blocked( clocksleft );
  152. 498 THREAD_CHECKPOINT( scripts, 105 );
  153. 499 if (!runlist.empty())
  154. (gdb)
  155.  
  156. (gdb) l *0x8142c44
  157. 0x8142c44 is in scripts_thread() (/usr/include/c++/4.4/bits/stl_iterator.h:686).
  158. 681 typedef typename iterator_traits<_Iterator>::pointer pointer;
  159. 682
  160. 683 __normal_iterator() : _M_current(_Iterator()) { }
  161. 684
  162. 685 explicit
  163. 686 __normal_iterator(const _Iterator& __i) : _M_current(__i) { }
  164. 687
  165. 688 // Allow iterator to const_iterator conversion
  166. 689 template<typename _Iter>
  167. 690 __normal_iterator(const __normal_iterator<_Iter,
  168. (gdb)
  169.  
  170.  
  171. (gdb) l *0x829bc7a
  172. 0x829bc7a is in threadhelp::run_thread(void (*)()) (clib/threadhelp.cpp:144).
  173. 139 res = pthread_attr_setdetachstate( &create_detached_attr, PTHREAD_CREATE_DETACHED );
  174. 140 passert_always( res == 0 );
  175. 141 }
  176. 142 void threadsem_lock()
  177. 143 {
  178. 144 pid_t pid = getpid();
  179. 145 int res = pthread_mutex_lock( &threadsem );
  180. 146 if (res != 0)
  181. 147 {
  182. 148 Log( "pthread_mutex_lock: res=%d, pid=%d\n", res, pid );
  183. (gdb)
  184.  
  185.  
  186. (gdb) l *0x829c1c3
  187. 0x829c1c3 is in threadhelp::thread_stub2(void*) (clib/threadhelp.cpp:277).
  188. 272 td = NULL;
  189. 273
  190. 274 if (entry != NULL)
  191. 275 run_thread( entry, arg );
  192. 276 else
  193. 277 run_thread( entry_noparam );
  194. 278
  195. 279 #ifdef _WIN32
  196. 280 _endthreadex(0);
  197. 281 #else
  198. (gdb)
  199.  
  200. (gdb) l *0x8307734
  201. 0x8307734 is in start_thread (pthread_create.c:300).
  202. 295 pthread_create.c: Nie ma takiego pliku ani katalogu.
  203. in pthread_create.c
  204.  
  205.  
  206. (gdb) l *0x83544ce
  207. No source file for address 0x83544ce.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement