opentibiabr / canary

Canary Server 13.x for OpenTibia community.
https://docs.opentibiabr.com/
GNU General Public License v2.0
369 stars 604 forks source link

[Bug]: Crash #304

Closed Zapotoczny closed 2 years ago

Zapotoczny commented 2 years ago
Thread 2 "tfs" received signal SIGSEGV, Segmentation fault.
2022-01-11 15:48:23 -  [Switching to Thread 0x7ffff79d8700 (LWP 387074)]
2022-01-11 15:48:23 -  0x0000555555712746 in std::pair<std::__detail::_Node_iterator<Creature*, true, false>, bool> std::_Hashtable<Creature*, Creature*, std::allocator<Creature*>, std::__detail::_Identity, std::equal_to<Creature*>, std::hash<Creature*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, true, true> >::_M_insert<Creature*, std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<Creature*, false> > > >(Creature*&&, std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<Creature*, false> > > const&, std::integral_constant<bool, true>) [clone .isra.1681] [clone .lto_priv.1705] ()
2022-01-11 15:48:23 -  
2022-01-11 15:48:23 -  Thread 4 (Thread 0x7ffff69c2700 (LWP 387076)):
2022-01-11 15:48:23 -  #0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5555560a448c <g_databaseTasks+140>) at ../sysdeps/nptl/futex-internal.h:183
2022-01-11 15:48:23 -          __ret = -512
2022-01-11 15:48:23 -          oldtype = 0
2022-01-11 15:48:23 -          err = <optimized out>
2022-01-11 15:48:23 -          oldtype = <optimized out>
2022-01-11 15:48:23 -          err = <optimized out>
2022-01-11 15:48:23 -          __ret = <optimized out>
2022-01-11 15:48:23 -          resultvar = <optimized out>
2022-01-11 15:48:23 -          __arg4 = <optimized out>
2022-01-11 15:48:23 -          __arg3 = <optimized out>
2022-01-11 15:48:23 -          __arg2 = <optimized out>
2022-01-11 15:48:23 -          __arg1 = <optimized out>
2022-01-11 15:48:23 -          _a4 = <optimized out>
2022-01-11 15:48:23 -          _a3 = <optimized out>
2022-01-11 15:48:23 -          _a2 = <optimized out>
2022-01-11 15:48:23 -          _a1 = <optimized out>
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555560a4438 <g_databaseTasks+56>, cond=0x5555560a4460 <g_databaseTasks+96>) at pthread_cond_wait.c:508
2022-01-11 15:48:23 -          spin = 0
2022-01-11 15:48:23 -          buffer = {__routine = 0x7ffff7fae050 <__condvar_cleanup_waiting>, __arg = 0x7ffff69c1d00, __canceltype = 0, __prev = 0x0}
2022-01-11 15:48:23 -          cbuffer = {wseq = 2435, cond = 0x5555560a4460 <g_databaseTasks+96>, mutex = 0x5555560a4438 <g_databaseTasks+56>, private = 0}
2022-01-11 15:48:23 -          err = <optimized out>
2022-01-11 15:48:23 -          g = 1
2022-01-11 15:48:23 -          flags = <optimized out>
2022-01-11 15:48:23 -          g1_start = <optimized out>
2022-01-11 15:48:23 -          signals = <optimized out>
2022-01-11 15:48:23 -          result = 0
2022-01-11 15:48:23 -          wseq = 2435
2022-01-11 15:48:23 -          seq = 1217
2022-01-11 15:48:23 -          private = <optimized out>
2022-01-11 15:48:23 -          maxspin = <optimized out>
2022-01-11 15:48:23 -          err = <optimized out>
2022-01-11 15:48:23 -          result = <optimized out>
2022-01-11 15:48:23 -          wseq = <optimized out>
2022-01-11 15:48:23 -          g = <optimized out>
2022-01-11 15:48:23 -          seq = <optimized out>
2022-01-11 15:48:23 -          flags = <optimized out>
2022-01-11 15:48:23 -          private = <optimized out>
2022-01-11 15:48:23 -          signals = <optimized out>
2022-01-11 15:48:23 -          g1_start = <optimized out>
2022-01-11 15:48:23 -          spin = <optimized out>
2022-01-11 15:48:23 -          buffer = <optimized out>
2022-01-11 15:48:23 -          cbuffer = <optimized out>
2022-01-11 15:48:23 -          s = <optimized out>
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#2  __pthread_cond_wait (cond=0x5555560a4460 <g_databaseTasks+96>, mutex=0x5555560a4438 <g_databaseTasks+56>) at pthread_cond_wait.c:638
2022-01-11 15:48:23 -  No locals.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#3  0x00007ffff7d37e30 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#4  0x0000555555808d3e in DatabaseTasks::threadMain() ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#5  0x00007ffff7d3dde4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#6  0x00007ffff7fa7609 in start_thread (arg=<optimized out>) at pthread_create.c:477
2022-01-11 15:48:23 -          ret = <optimized out>
2022-01-11 15:48:23 -          pd = <optimized out>
2022-01-11 15:48:23 -          unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737330816768, 5384242312976870537, 140737347674462, 140737347674463, 140737347674464, 140737330814848, -5384256886912766839, -5384259857706701687}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
2022-01-11 15:48:23 -          not_first_call = 0
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#7  0x00007ffff7b7c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
2022-01-11 15:48:23 -  No locals.
2022-01-11 15:48:23 -  
2022-01-11 15:48:23 -  Thread 3 (Thread 0x7ffff71d7700 (LWP 387075)):
2022-01-11 15:48:23 -  #0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7ffff71d6e40, clockid=<optimized out>, expected=0, futex_word=0x5555560a4628 <g_scheduler+104>) at ../sysdeps/nptl/futex-internal.h:320
2022-01-11 15:48:23 -          __ret = -516
2022-01-11 15:48:23 -          clockbit = <optimized out>
2022-01-11 15:48:23 -          op = <optimized out>
2022-01-11 15:48:23 -          __ret = <optimized out>
2022-01-11 15:48:23 -          oldtype = 0
2022-01-11 15:48:23 -          err = <optimized out>
2022-01-11 15:48:23 -          oldtype = <optimized out>
2022-01-11 15:48:23 -          err = <optimized out>
2022-01-11 15:48:23 -          __ret = <optimized out>
2022-01-11 15:48:23 -          clockbit = <optimized out>
2022-01-11 15:48:23 -          op = <optimized out>
2022-01-11 15:48:23 -          __ret = <optimized out>
2022-01-11 15:48:23 -          resultvar = <optimized out>
2022-01-11 15:48:23 -          __arg6 = <optimized out>
2022-01-11 15:48:23 -          __arg5 = <optimized out>
2022-01-11 15:48:23 -          __arg4 = <optimized out>
2022-01-11 15:48:23 -          __arg3 = <optimized out>
2022-01-11 15:48:23 -          __arg2 = <optimized out>
2022-01-11 15:48:23 -          __arg1 = <optimized out>
2022-01-11 15:48:23 -          _a6 = <optimized out>
2022-01-11 15:48:23 -          _a5 = <optimized out>
2022-01-11 15:48:23 -          _a4 = <optimized out>
2022-01-11 15:48:23 -          _a3 = <optimized out>
2022-01-11 15:48:23 -          _a2 = <optimized out>
2022-01-11 15:48:23 -          _a1 = <optimized out>
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#1  __pthread_cond_wait_common (abstime=0x7ffff71d6e40, clockid=<optimized out>, mutex=0x5555560a45d8 <g_scheduler+24>, cond=0x5555560a4600 <g_scheduler+64>) at pthread_cond_wait.c:520
2022-01-11 15:48:23 -          spin = 0
2022-01-11 15:48:23 -          buffer = {__routine = 0x7ffff7fae050 <__condvar_cleanup_waiting>, __arg = 0x7ffff71d6db0, __canceltype = 1443652224, __prev = 0x0}
2022-01-11 15:48:23 -          cbuffer = {wseq = 253214674, cond = 0x5555560a4600 <g_scheduler+64>, mutex = 0x5555560a45d8 <g_scheduler+24>, private = 0}
2022-01-11 15:48:23 -          err = <optimized out>
2022-01-11 15:48:23 -          g = 0
2022-01-11 15:48:23 -          flags = <optimized out>
2022-01-11 15:48:23 -          g1_start = <optimized out>
2022-01-11 15:48:23 -          maxspin = 0
2022-01-11 15:48:23 -          signals = <optimized out>
2022-01-11 15:48:23 -          result = 0
2022-01-11 15:48:23 -          wseq = 253214674
2022-01-11 15:48:23 -          seq = 126607337
2022-01-11 15:48:23 -          private = <optimized out>
2022-01-11 15:48:23 -          maxspin = <optimized out>
2022-01-11 15:48:23 -          err = <optimized out>
2022-01-11 15:48:23 -          result = <optimized out>
2022-01-11 15:48:23 -          wseq = <optimized out>
2022-01-11 15:48:23 -          g = <optimized out>
2022-01-11 15:48:23 -          seq = <optimized out>
2022-01-11 15:48:23 -          flags = <optimized out>
2022-01-11 15:48:23 -          private = <optimized out>
2022-01-11 15:48:23 -          signals = <optimized out>
2022-01-11 15:48:23 -          g1_start = <optimized out>
2022-01-11 15:48:23 -          spin = <optimized out>
2022-01-11 15:48:23 -          buffer = <optimized out>
2022-01-11 15:48:23 -          cbuffer = <optimized out>
2022-01-11 15:48:23 -          s = <optimized out>
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#2  __pthread_cond_timedwait (cond=0x5555560a4600 <g_scheduler+64>, mutex=0x5555560a45d8 <g_scheduler+24>, abstime=0x7ffff71d6e40) at pthread_cond_wait.c:656
2022-01-11 15:48:23 -          flags = <optimized out>
2022-01-11 15:48:23 -          clockid = <optimized out>
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#3  0x000055555587d0f7 in Scheduler::threadMain() ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#4  0x00007ffff7d3dde4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#5  0x00007ffff7fa7609 in start_thread (arg=<optimized out>) at pthread_create.c:477
2022-01-11 15:48:23 -          ret = <optimized out>
2022-01-11 15:48:23 -          pd = <optimized out>
2022-01-11 15:48:23 -          unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737339291392, 5384242312976870537, 140737488345918, 140737488345919, 140737488345920, 140737339289472, -5384257994477458295, -5384259857706701687}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
2022-01-11 15:48:23 -          not_first_call = 0
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#6  0x00007ffff7b7c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
2022-01-11 15:48:23 -  No locals.
2022-01-11 15:48:23 -  
2022-01-11 15:48:23 -  Thread 2 (Thread 0x7ffff79d8700 (LWP 387074)):
2022-01-11 15:48:23 -  #0  0x0000555555712746 in std::pair<std::__detail::_Node_iterator<Creature*, true, false>, bool> std::_Hashtable<Creature*, Creature*, std::allocator<Creature*>, std::__detail::_Identity, std::equal_to<Creature*>, std::hash<Creature*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, true, true> >::_M_insert<Creature*, std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<Creature*, false> > > >(Creature*&&, std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<Creature*, false> > > const&, std::integral_constant<bool, true>) [clone .isra.1681] [clone .lto_priv.1705] ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#1  0x0000555555785b97 in Monster::onCreatureFound(Creature*, bool) ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#2  0x000055555578e96d in Monster::updateTargetList() ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#3  0x000055555578ed31 in Monster::onCreatureMove(Creature*, Tile const*, Position const&, Tile const*, Position const&, bool) ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#4  0x0000555555714dea in Map::moveCreature(Creature&, Tile&, bool) ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#5  0x000055555582e343 in Game::internalMoveCreature(Creature&, Tile&, unsigned int) ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#6  0x000055555578917e in Monster::onCreatureWalk() ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#7  0x000055555580e9e4 in Game::checkCreatureWalk(unsigned int) ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#8  0x000055555587cee0 in Dispatcher::threadMain() ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#9  0x00007ffff7d3dde4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#10 0x00007ffff7fa7609 in start_thread (arg=<optimized out>) at pthread_create.c:477
2022-01-11 15:48:23 -          ret = <optimized out>
2022-01-11 15:48:23 -          pd = <optimized out>
2022-01-11 15:48:23 -          unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737347684096, 5384242312976870537, 140737488345918, 140737488345919, 140737488345920, 140737347682176, -5384259093452215159, -5384259857706701687}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
2022-01-11 15:48:23 -          not_first_call = 0
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#11 0x00007ffff7b7c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
2022-01-11 15:48:23 -  No locals.
2022-01-11 15:48:23 -  
2022-01-11 15:48:23 -  Thread 1 (Thread 0x7ffff79dbbc0 (LWP 387070)):
2022-01-11 15:48:23 -  #0  0x00007ffff7b7c5ce in epoll_wait (epfd=4, events=0x7fffffffd480, maxevents=128, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
2022-01-11 15:48:23 -          resultvar = 18446744073709551612
2022-01-11 15:48:23 -          sc_cancel_oldtype = 0
2022-01-11 15:48:23 -          sc_ret = <optimized out>
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#1  0x0000555555712404 in boost::asio::detail::epoll_reactor::run(long, boost::asio::detail::op_queue<boost::asio::detail::scheduler_operation>&) ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#2  0x000055555575f2bd in boost::asio::detail::scheduler::run(boost::system::error_code&) [clone .constprop.161] ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  opentibiabr/otservbr-global#3  0x000055555564bfc2 in main ()
2022-01-11 15:48:23 -  No symbol table info available.
2022-01-11 15:48:23 -  [2022-11-01 15:48:23.066] [info] Saving server... 
2022-01-11 15:48:33 -  [2022-11-01 15:48:33.728] [info] Saved house items in 0.835 seconds 
2022-01-11 15:48:33 -  A debugging session is active.
2022-01-11 15:48:33 -  
2022-01-11 15:48:33 -   Inferior 1 [process 387070] will be killed.
2022-01-11 15:48:33 -  
2022-01-11 15:48:33 -  Quit anyway? (y or n) [answered Y; input not from terminal]

How to Reproduce?

I can't...

Relevant log output

No response

Attach any relevant file

No response

Version

12.x (Default)

What OS are you seeing the problem on?

Ubuntu 20.04

Code of Conduct

andersonfaaria commented 2 years ago

Can you give a little more context on when did this happened, how often it happens and what are common things that might trigger it? the log itself unfortunately is too generic