Advertisement
RLka

Untitled

Oct 7th, 2012
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 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 (ubuntu)
  4. Last Script: pkg/systems/repsys/hook/repsys.ecl PC: 41
  5. Stack Backtrace:
  6. ./pol-dynamic() [0x82b655c]
  7. [0xbe7400]
  8. ./pol-dynamic() [0x80e294c]
  9. ./pol-dynamic() [0x80603e2]
  10. ./pol-dynamic() [0x814db50]
  11. ./pol-dynamic() [0x81507ee]
  12. ./pol-dynamic() [0x821c83d]
  13. ./pol-dynamic() [0x81a0542]
  14. ./pol-dynamic() [0x82bd6f2]
  15. ./pol-dynamic() [0x82be01b]
  16. /lib/i386-linux-gnu/libpthread.so.0(+0x5e99) [0x46de99]
  17. /lib/i386-linux-gnu/libc.so.6(clone+0x5e) [0x2d1cbe]
  18. === CUT ===
  19. Segmentation fault
  20.  
  21. Reading symbols from /home/rl/pol099/pol-dynamic...done.
  22. (gdb) l *0x82b655c
  23. 0x82b655c is in segv_handler(int) (clib/strexcpt.cpp:276).
  24. 271 cerr << "Last Script: " << scripts_thread_script << " PC: " << scripts_thread_scriptPC << endl;
  25. 272 cerr << "Stack Backtrace:" << endl;
  26. 273
  27. 274 void* bt[ 200 ];
  28. 275 int n = backtrace( bt, 200 );
  29. 276 char** strings = backtrace_symbols( bt, n );
  30. 277 for (int i = 0; i < n; i++)
  31. 278 {
  32. 279 Log( "%s\n", strings[ i ] );
  33. 280 cerr << strings[ i ] << endl;
  34. (gdb) l *0x80e294c
  35. 0x80e294c is in JusticeRegion::RunNoCombatCheck(Client*) (pol/guardrgn.cpp:84).
  36. 79 return res->isTrue();
  37. 80 }
  38. 81
  39. 82 bool JusticeRegion::RunNoCombatCheck(Client* client)
  40. 83 {
  41. 84 JusticeRegion* cur_justice_region = client->gd->justice_region;
  42. 85
  43. 86 if ( (cur_justice_region != NULL) && cur_justice_region->nocombat_ != false )
  44. 87 {
  45. 88 return true;
  46. (gdb) l *0x80603e2
  47. 0x80603e2 is in handle_attack(Client*, PKTIN_05*) (pol/mobile/attack.cpp:66).
  48. 61 }
  49. 62
  50. 63 if( defender->acct != NULL )
  51. 64 {
  52. 65 JusticeRegion* cur_justice_region = client->gd->justice_region;
  53. 66 if( cur_justice_region->RunNoCombatCheck(defender->client) == true )
  54. 67 {
  55. 68 client->chr->send_highlight();
  56. 69 send_sysmessage( client, "Combat is not allowed in this area." );
  57. 70 return;
  58. (gdb) l *0x814db50
  59. 0x814db50 is in process_data(Client*) (pol/pol.cpp:823).
  60. 818 {
  61. 819 try {
  62. 820 dtrace(10) << "Client#" << client->instance_ << ": message " << hexint( static_cast<unsigned short>(msgtype)) << endl;
  63. 821 CLIENT_CHECKPOINT(26);
  64. 822 (*handler[msgtype].func)(client, client->buffer);
  65. 823 CLIENT_CHECKPOINT(27);
  66. 824 restart_all_clients();
  67. 825 }
  68. 826 catch( std::exception& ex )
  69. 827 {
  70. (gdb) l *0x81507ee
  71. 0x81507ee is in client_io_thread(Client*) (pol/pol.cpp:1142).
  72. 1137
  73. 1138 if (FD_ISSET( client->csocket, &c_recv_fd ))
  74. 1139 {
  75. 1140 checkpoint = 4;
  76. 1141 CLIENT_CHECKPOINT(6);
  77. 1142 if (process_data( client ))
  78. 1143 {
  79. 1144 CLIENT_CHECKPOINT(17);
  80. 1145 PolLock lck;
  81. 1146
  82. (gdb) l *0x821c83d
  83. 0x821c83d is in UoClientThread::run() (pol/uolisten.cpp:81).
  84. 76 clients.size(),
  85. 77 ifdesc.c_str() );
  86. 78 }
  87. 79
  88. 80 client_io_thread( client );
  89. 81 }
  90. 82
  91. 83 void uo_client_listener_thread( void* arg )
  92. 84 {
  93. 85 UoClientListener* ls = static_cast<UoClientListener*>(arg);
  94. (gdb) l *0x81a0542
  95. 0x81a0542 is in _thread_stub2(void*) (/usr/include/c++/4.5/backward/auto_ptr.h:168).
  96. 163 * The C++ standard says there is supposed to be an empty throw
  97. 164 * specification here, but omitting it is standard conforming. Its
  98. 165 * presence can be detected only if _Tp::~_Tp() throws, but this is
  99. 166 * prohibited. [17.4.3.6]/2
  100. 167 */
  101. 168 ~auto_ptr() { delete _M_ptr; }
  102. 169
  103. 170 /**
  104. 171 * @brief Smart pointer dereferencing.
  105. 172 *
  106. (gdb) l *0x82bd6f2
  107. 0x82bd6f2 is in threadhelp::run_thread(void (*)(void*), void*) (clib/threadhelp.cpp:144).
  108. 139 res = pthread_attr_setdetachstate( &create_detached_attr, PTHREAD_CREATE_DETACHED );
  109. 140 passert_always( res == 0 );
  110. 141 }
  111. 142 void threadsem_lock()
  112. 143 {
  113. 144 pid_t pid = getpid();
  114. 145 int res = pthread_mutex_lock( &threadsem );
  115. 146 if (res != 0)
  116. 147 {
  117. 148 Log( "pthread_mutex_lock: res=%d, pid=%d\n", res, pid );
  118. (gdb) l *0x82be01b
  119. 0x82be01b is in threadhelp::thread_stub2(void*) (clib/threadhelp.cpp:282).
  120. 277 run_thread( entry_noparam );
  121. 278
  122. 279 #ifdef _WIN32
  123. 280 _endthreadex(0);
  124. 281 #else
  125. 282 pthread_exit(NULL);
  126. 283 #endif
  127. 284 return 0;
  128. 285 }
  129. 286
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement