Hi.! I am working on a TFS 1.3 8.6 server and everything was going fine until I started to notice some crashers when a player dies (not every time Tho)
This is my gdbb logg whit thread apply all bt
I already compared the sources of the log with master sources but really I can’t figure it out
thank you very much in advance
This is my gdbb logg whit thread apply all bt
Code:
Thread 4 (Thread 0x7f3ef66da700 (LWP 32689)):
#0 0x00007f3efa3e38bd in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f3efc4f416f in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#2 0x00007f3efc4f42bc in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#3 0x00007f3efc4f4448 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#4 0x00007f3efc4f4e93 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#5 0x00007f3efc4f5eed in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#6 0x00007f3efc4fc262 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#7 0x00007f3efc4fcc58 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#8 0x00007f3efc4fd167 in mysql_real_query ()
from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#9 0x000055f4e306dcec in Database::executeQuery (
Python Exception <class 'gdb.error'> There is no member named _M_dataplus.:
this=0x55f4e343eda0 <Database::getInstance()::instance>, query=)
at /home/debian/forgotten/engine/src/database.cpp:103
#10 0x000055f4e2fdf38e in IOLoginData::updateOnlineStatus(unsigned int, bool) (
guid=625, login=false) at /home/debian/forgotten/engine/src/iologindata.cpp:196
#11 0x000055f4e2ea7cc4 in Player::onRemoveCreature (this=0x7f3ef1c608a0,
creature=0x7f3ef1c608a0, isLogout=false)
at /home/debian/forgotten/engine/src/player.cpp:1123
#12 0x000055f4e30576a4 in Game::removeCreature(Creature*, bool) (
this=0x55f4e3441840 <g_game>, creature=0x7f3ef1c608a0, isLogout=false)
at /home/debian/forgotten/engine/src/game.cpp:563
---Type <return> to continue, or q <return> to quit---
#13 0x000055f4e30886f9 in Creature::onDeath (this=0x7f3ef1c608a0)
at /home/debian/forgotten/engine/src/creature.cpp:683
#14 0x000055f4e30362e8 in Game::checkCreatures (this=0x55f4e3441840 <g_game>,
index=1) at /home/debian/forgotten/engine/src/game.cpp:3375
#15 0x000055f4e3031d18 in __invoke_impl (__f=
@0x7f3ef1cd4b00: (void (Game::*)(struct Game *, long unsigned int)) 0x55f4e303611e <Game::checkCreatures(unsigned long)>,
__t=@0x7f3ef1cd4b18: 0x55f4e3441840 <g_game>, __args#0=@0x7f3ef1cd4b10: 1)
at /usr/include/c++/6/functional:227
#16 0x000055f4e3030529 in __invoke (__fn=
@0x7f3ef1cd4b00: (void (Game::*)(struct Game *, long unsigned int)) 0x55f4e303611e <Game::checkCreatures(unsigned long)>,
__args#0=@0x7f3ef1cd4b18: 0x55f4e3441840 <g_game>,
__args#1=@0x7f3ef1cd4b10: 1) at /usr/include/c++/6/functional:251
#17 0x000055f4e302dc81 in operator() (this=0x7f3ef1cd4b00,
__args#0=@0x7f3ef1cd4b18: 0x55f4e3441840 <g_game>,
__args#1=@0x7f3ef1cd4b10: 1) at /usr/include/c++/6/functional:604
#18 0x000055f4e3029cd7 in __call (this=0x7f3ef1cd4b00,
__args=<unknown type in /home/debian/forgotten/tfs, CU 0x2879c4, DIE 0x29cc69>)
at /usr/include/c++/6/functional:934
#19 0x000055f4e3023682 in std::_Bind<std::_Mem_fn<void (Game::*)(unsigned long)> (Game*, unsigned long)>::operator()<, void>() (this=0x7f3ef1cd4b00)
at /usr/include/c++/6/functional:993
---Type <return> to continue, or q <return> to quit---
#20 0x000055f4e304b0ff in std::_Function_handler::_M_invoke (__functor=...)
at /usr/include/c++/6/functional:1731
#21 0x000055f4e2e172a2 in operator() (this=0x7f3ee05a0b30)
at /usr/include/c++/6/functional:2127
#22 0x000055f4e2e16da0 in operator() (this=0x7f3ee05a0b20)
at /home/debian/forgotten/engine/src/tasks.h:40
#23 0x000055f4e2e1702f in Dispatcher::threadMain() (
this=0x55f4e3441680 <g_dispatcher>)
at /home/debian/forgotten/engine/src/tasks.cpp:60
#24 0x000055f4e2ecc910 in __invoke_impl (
__f=@0x55f4e3808eb0: (void (Dispatcher::*)(struct Dispatcher *)) 0x55f4e2e16f2a <Dispatcher::threadMain()>,
__t=<unknown type in /home/debian/forgotten/tfs, CU 0x12196d, DIE 0x13f1c0>)
at /usr/include/c++/6/functional:227
#25 0x000055f4e2ecc555 in __invoke (
__fn=@0x55f4e3808eb0: (void (Dispatcher::*)(struct Dispatcher *)) 0x55f4e2e16f2a <Dispatcher::threadMain()>,
__args#0=<unknown type in /home/debian/forgotten/tfs, CU 0x12196d, DIE 0x13f1c0>) at /usr/include/c++/6/functional:251
#26 0x000055f4e2ecc344 in operator() (this=0x55f4e3808eb0,
__args#0=<unknown type in /home/debian/forgotten/tfs, CU 0x12196d, DIE 0x13f1c0>) at /usr/include/c++/6/functional:604
#27 0x000055f4e2ecbf8f in _M_invoke (this=0x55f4e3808ea8)
---Type <return> to continue, or q <return> to quit---
at /usr/include/c++/6/functional:1391
#28 0x000055f4e2ecbacf in operator() (this=0x55f4e3808ea8)
at /usr/include/c++/6/functional:1380
#29 0x000055f4e2ecb664 in std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)> >::_M_run() (this=0x55f4e3808ea0)
at /usr/include/c++/6/thread:197
#30 0x00007f3efac77e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#31 0x00007f3efaf474a4 in start_thread ()
from /lib/x86_64-linux-gnu/libpthread.so.0
#32 0x00007f3efa3ecd0f in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 3 (Thread 0x7f3ef5ed9700 (LWP 32690)):
#0 0x00007f3efaf4d528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x000055f4e2e32263 in __gthread_cond_timedwait (
__cond=0x55f4e3441760 <g_scheduler+64>,
__mutex=0x55f4e3441738 <g_scheduler+24>, __abs_timeout=0x7f3ef5ed8ca0)
at /usr/include/x86_64-linux-gnu/c++/6/bits/gthr-default.h:871
#2 0x000055f4e2e32f17 in std::condition_variable::__wait_until_impl (
this=0x55f4e3441760 <g_scheduler+64>, __lock=..., __atime=...)
at /usr/include/c++/6/condition_variable:166
#3 0x000055f4e2e32b6b in std::condition_variable::wait_until (
this=0x55f4e3441760 <g_scheduler+64>, __lock=..., __atime=...)
at /usr/include/c++/6/condition_variable:106
#4 0x000055f4e2e3260f in Scheduler::threadMain (
this=0x55f4e3441720 <g_scheduler>)
at /home/debian/forgotten/engine/src/scheduler.cpp:34
#5 0x000055f4e2ecc8a8 in __invoke_impl (
__f=@0x55f4e3809030: (void (Scheduler::*)(struct Scheduler *)) 0x55f4e2e3254e <Scheduler::threadMain()>,
__t=<unknown type in /home/debian/forgotten/tfs, CU 0x12196d, DIE 0x13f2f6>)
at /usr/include/c++/6/functional:227
#6 0x000055f4e2ecc4fb in __invoke (
__fn=@0x55f4e3809030: (void (Scheduler::*)(struct Scheduler *)) 0x55f4e2e3254e <Scheduler::threadMain()>,
__args#0=<unknown type in /home/debian/forgotten/tfs, CU 0x12196d, DIE 0x13f2f6>) at /usr/include/c++/6/functional:251
#7 0x000055f4e2ecc314 in operator() (this=0x55f4e3809030,
__args#0=<unknown type in /home/debian/forgotten/tfs, CU 0x12196d, DIE 0x13f2f6>) at /usr/include/c++/6/functional:604
#8 0x000055f4e2ecbedd in _M_invoke (this=0x55f4e3809028)
at /usr/include/c++/6/functional:1391
#9 0x000055f4e2ecbaab in operator() (this=0x55f4e3809028)
at /usr/include/c++/6/functional:1380
#10 0x000055f4e2ecb646 in std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (Scheduler::*)()> (Scheduler*)> >::_M_run() (this=0x55f4e3809020)
---Type <return> to continue, or q <return> to quit---
at /usr/include/c++/6/thread:197
#11 0x00007f3efac77e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#12 0x00007f3efaf474a4 in start_thread ()
from /lib/x86_64-linux-gnu/libpthread.so.0
#13 0x00007f3efa3ecd0f in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 2 (Thread 0x7f3efc94bbc0 (LWP 32688)):
#0 0x00007f3efa3ed303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x000055f4e2e349ed in boost::asio::detail::epoll_reactor::run (
this=0x55f4e3805240, block=true, ops=...)
at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:392
#2 0x000055f4e2e35432 in boost::asio::detail::task_io_service::do_run_one (
this=0x55f4e3804f00, lock=..., this_thread=..., ec=...)
at /usr/include/boost/asio/detail/impl/task_io_service.ipp:356
#3 0x000055f4e2e3520c in boost::asio::detail::task_io_service::run (
this=0x55f4e3804f00, ec=...)
at /usr/include/boost/asio/detail/impl/task_io_service.ipp:149
#4 0x000055f4e2e355e5 in boost::asio::io_service::run (this=0x7ffc157bfff8)
at /usr/include/boost/asio/impl/io_service.ipp:59
#5 0x000055f4e2e36568 in ServiceManager::run (this=0x7ffc157bffc0)
at /home/debian/forgotten/engine/src/server.cpp:45
#6 0x000055f4e2ebf3fd in main (argc=4, argv=0x7ffc157c01b8)
at /home/debian/forgotten/engine/src/otserv.cpp:83
Thread 1 (Thread 0x7f3ef50a9700 (LWP 32691)):
#0 0x00007f3efa336fff in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f3efa33842a in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007f3efc4ebf67 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#3 0x00007f3efc4f9755 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#4 0x00007f3efc501b11 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#5 0x00007f3efc501dad in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#6 0x00007f3efc4fd149 in mysql_real_query ()
from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#7 0x000055f4e306dcec in Database::executeQuery (
Python Exception <class 'gdb.error'> There is no member named _M_dataplus.:
this=0x55f4e34415d0 <g_databaseTasks+16>, query=)
at /home/debian/forgotten/engine/src/database.cpp:103
#8 0x000055f4e3072e78 in DatabaseTasks::runTask (
this=0x55f4e34415c0 <g_databaseTasks>, task=...)
at /home/debian/forgotten/engine/src/databasetasks.cpp:78
#9 0x000055f4e3072bfd in DatabaseTasks::threadMain (
this=0x55f4e34415c0 <g_databaseTasks>)
at /home/debian/forgotten/engine/src/databasetasks.cpp:47
#10 0x000055f4e30753ca in std::__invoke_impl(std::__invoke_memfun_deref, void (DatabaseTasks::*&)(DatabaseTasks * const), <unknown type in /home/debian/forgotten/tfs, CU 0x2e8a8b, DIE 0x304f77>) (
__f=@0x7f3ef0007bd0: (void (DatabaseTasks::*)(DatabaseTasks * const)) 0x55f4---Type <return> to continue, or q <return> to quit---
e3072b0c <DatabaseTasks::threadMain()>,
__t=<unknown type in /home/debian/forgotten/tfs, CU 0x2e8a8b, DIE 0x304f77>)
at /usr/include/c++/6/functional:227
#11 0x000055f4e3075357 in std::__invoke(void (DatabaseTasks::*&)(DatabaseTasks * const), <unknown type in /home/debian/forgotten/tfs, CU 0x2e8a8b, DIE 0x304f77>) (
__fn=@0x7f3ef0007bd0: (void (DatabaseTasks::*)(DatabaseTasks * const)) 0x55f4e3072b0c <DatabaseTasks::threadMain()>,
__args#0=<unknown type in /home/debian/forgotten/tfs, CU 0x2e8a8b, DIE 0x304f77>) at /usr/include/c++/6/functional:251
#12 0x000055f4e3075308 in std::_Mem_fn_base::operator()(<unknown type in /home/debian/forgotten/tfs, CU 0x2e8a8b, DIE 0x304f77>) const (this=0x7f3ef0007bd0,
__args#0=<unknown type in /home/debian/forgotten/tfs, CU 0x2e8a8b, DIE 0x304f77>) at /usr/include/c++/6/functional:604
#13 0x000055f4e30752d3 in std::_Bind_simple::_M_invoke (this=0x7f3ef0007bc8)
at /usr/include/c++/6/functional:1391
#14 0x000055f4e3075221 in std::_Bind_simple::operator() (this=0x7f3ef0007bc8)
at /usr/include/c++/6/functional:1380
#15 0x000055f4e3075202 in std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (DatabaseTasks::*)()> (DatabaseTasks*)> >::_M_run() (
this=0x7f3ef0007bc0) at /usr/include/c++/6/thread:197
#16 0x00007f3efac77e6f in ?? () from
I already compared the sources of the log with master sources but really I can’t figure it out
thank you very much in advance