• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

TFS 1.X+ 8.60 Downgrade by Nekiro crashing

Loney

#!
Senator
Premium User
Joined
Jul 23, 2012
Messages
2,044
Solutions
31
Reaction score
243
Location
México
Hi. My server been crashing randomly 1 or 2 times a day. Checked core crash log and found this:

Code:
(gdb) #0  0x00007f8d5548ffff in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) #1  0x00007f8d5549142a in abort () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) #2  0x00007f8d57644f67 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
(gdb) #3  0x00007f8d57652755 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
(gdb) #4  0x00007f8d5765ab11 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
(gdb) #5  0x00007f8d5765adad in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
(gdb) #6  0x00007f8d57656149 in mysql_real_query ()
(gdb)    from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
Undefined command: "from".  Try "help".
(gdb) #7  0x0000562f6442df22 in Database::executeQuery(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
(gdb) #8  0x0000562f644330ae in DatabaseTasks::runTask(DatabaseTask const&) ()
(gdb) #9  0x0000562f64432e33 in DatabaseTasks::threadMain() ()
(gdb) #10 0x0000562f64435600 in void std::__invoke_impl<void, void (DatabaseTasks::* const&)(), DatabaseTasks*>(std::__invoke_memfun_deref, void (DatabaseTasks::* const&)(), DatabaseTasks*&&) ()
(gdb) #11 0x0000562f6443558d in std::result_of<void (DatabaseTasks::* const&(DatabaseTasks*&&))()>::type std::__invoke<void (DatabaseTasks::* const&)(), DatabaseTasks*>(void (DatabaseTasks::* const&)(), DatabaseTasks*&&) ()
(gdb) #12 0x0000562f6443553e in decltype (__invoke((*this)._M_pmf, (forward<DatabaseTasks*>)({parm#1}))) std::_Mem_fn_base<void (DatabaseTasks::*)(), true>::operator()<DatabaseTasks*>(DatabaseTasks*&&) const ()
(gdb) #13 0x0000562f64435509 in void std::_Bind_simple<std::_Mem_fn<void (DatabaseTasks::*)()> (DatabaseTasks*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) ()

Any thoughts?
Thank you!
Loney
 
Solution
Looks like condition problem, it always crashes right after condition has to end. I remember TFS had issue with that and it was fixed some time ago. Not sure if this tfs has these changes as I dont remember. Look up TFS main repo commits and look for conditions fix commit and compare with your code
up

had 50h+ uptime and happened again this normally happens 1-2 (max) times a day.
just noticed it happened at the exact time a random player died. Still can't figure it out.
Thanks.
 
up

i think it has something to do with the debugger, or / & mariadb losing connection in certain cases or when executing a query.

Code:
#0  0x00007f0e637d9fff in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f0e637db42a in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007f0e6598ef67 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#3  0x00007f0e6599c755 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#4  0x00007f0e659a4b11 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#5  0x00007f0e659a4dad in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#6  0x00007f0e659a0149 in mysql_real_query ()
   from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#7  0x00005625e0f2df22 in Database::executeQuery(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#8  0x00005625e0f330ae in DatabaseTasks::runTask(DatabaseTask const&) ()
#9  0x00005625e0f32e33 in DatabaseTasks::threadMain() ()
#10 0x00005625e0f35600 in void std::__invoke_impl<void, void (DatabaseTasks::* const&)(), DatabaseTasks*>(std::__invoke_memfun_deref, void (DatabaseTasks::* const&)(), DatabaseTasks*&&) ()
#11 0x00005625e0f3558d in std::result_of<void (DatabaseTasks::* const&(DatabaseTasks*&&))()>::type std::__invoke<void (DatabaseTasks::* const&)(), DatabaseTasks*>(void (DatabaseTasks::* const&)(), DatabaseTasks*&&) ()
#12 0x00005625e0f3553e in decltype (__invoke((*this)._M_pmf, (forward<DatabaseTasks*>)({parm#1}))) std::_Mem_fn_base<void (DatabaseTasks::*)(), true>::operator()<DatabaseTasks*>(DatabaseTasks*&&) const ()
#13 0x00005625e0f35509 in void std::_Bind_simple<std::_Mem_fn<void (DatabaseTasks::*)()> (DatabaseTasks*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) ()
 
Write bt full and then show us the full log

This is what I got:

Code:
#0  0x00007f0e637d9fff in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007f0e637db42a in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x00007f0e6598ef67 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
No symbol table info available.
#3  0x00007f0e6599c755 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
No symbol table info available.
#4  0x00007f0e659a4b11 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
No symbol table info available.
#5  0x00007f0e659a4dad in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
No symbol table info available.
#6  0x00007f0e659a0149 in mysql_real_query ()
   from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
No symbol table info available.
#7  0x00005625e0f2df22 in Database::executeQuery(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No symbol table info available.
#8  0x00005625e0f330ae in DatabaseTasks::runTask(DatabaseTask const&) ()
No symbol table info available.
#9  0x00005625e0f32e33 in DatabaseTasks::threadMain() ()
No symbol table info available.
#10 0x00005625e0f35600 in void std::__invoke_impl<void, void (DatabaseTasks::* c

Thank you
 
Try to post bt of all threads, information of what you paste might not be enough.
thread apply all bt

For sure the following information might be helpful as it looks like one of your queries might be malformed:
Undefined command: "from". Try "help".
 
Try to post bt of all threads, information of what you paste might not be enough.
thread apply all bt

For sure the following information might be helpful as it looks like one of your queries might be malformed:
Undefined command: "from". Try "help".

Thank you @esigma94 , this what I got with thread apply all:

Code:
#0  0x00007f0e643f363f in send () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f0e659976df in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#2  0x00007f0e659985ed in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#3  0x00007f0e65998914 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#4  0x00007f0e65998d08 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#5  0x00007f0e659a4cfb in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#6  0x00007f0e659a0149 in mysql_real_query ()
   from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#7  0x00005625e0f2df22 in Database::executeQuery(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#8  0x00005625e0e9e04f in IOLoginData::removeOnlineStatus(unsigned int) ()
#9  0x00005625e0d66dd1 in Player::onRemoveCreature(Creature*, bool) ()
#10 0x00005625e0f178da in Game::removeCreature(Creature*, bool) ()
#11 0x00005625e0f489cb in Creature::onDeath() ()
#12 0x00005625e0ef651e in Game::checkCreatures(unsigned long) ()
#13 0x00005625e0ef197e in void std::__invoke_impl<void, void (Game::* const&)(unsigned long), Game*&, unsigned long&>(std::__invoke_memfun_deref, void (Game::* const&)(unsigned long), Game*&, unsigned long&) ()
#14 0x00005625e0ef018f in std::result_of<void (Game::* const&(Game*&, unsigned long&))(unsigned long)>::type std::__invoke<void (Game::* const&)(unsigned long), Game*&, unsigned long&>(void (Game::* const&)(unsigned long), Game*&, unsigned
 
I cannot find IOLoginData::removeOnlineStatus method anywhere. Is this some modification? It looks like some query related to this function contains an issue.
Could you paste this function here? It should be somewhere in iologindata.cpp.
 
I cannot find IOLoginData::removeOnlineStatus method anywhere. Is this some modification? It looks like some query related to this function contains an issue.
Could you paste this function here? It should be somewhere in iologindata.cpp.

Code:
void IOLoginData::removeOnlineStatus(uint32_t guid)
{
    if (g_config.getBoolean(ConfigManager::ALLOW_CLONES)) {
        return;
    }

    std::ostringstream query;
        query << "DELETE FROM `players_online` WHERE `player_id` = " << guid;
    Database::getInstance().executeQuery(query.str());
}

I think here's the problem maybe? because this happens when a player die, strange thing is not everytime
Thank you.
 
Hmm... actually it looks fine...
Take a look at your onLogout/onDeath/etc scripts as it might be somewhere there as well. Focus on MySQL queries.
I think it shouldn't be caused by any race condition otherwise you could face it more frequently.
 
Full gdb log from crashes I had this morning.

Code:
Thread 4 (Thread 0x7fd783217700 (LWP 31361)):
#0  0x00007fd78828b528 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000564c05ec1333 in __gthread_cond_timedwait(pthread_cond_t*, pthread_mutex_t*, timespec const*) ()
#2  0x0000564c05ec1fe7 in std::cv_status std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lock<std::mutex>&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) ()
#3  0x0000564c05ec1c3b in std::cv_status std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::unique_lock<std::mutex>&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) ()
#4  0x0000564c05ec16df in Scheduler::threadMain() ()
#5  0x0000564c05f5bb5c in void std::__invoke_impl<void, void (Scheduler::* const&)(), Scheduler*>(std::__invoke_memfun_deref, void (Scheduler::* const&)(), Scheduler*&&) ()
#6  0x0000564c05f5b7af in std::result_of<void (Scheduler::* const&(Scheduler*&&))()>::type std::__invoke<void (Scheduler::* const&)(), Scheduler*>(void (Scheduler::* const&)(), Scheduler*&&) ()
#7  0x0000564c05f5b5c8 in decltype (__invoke((*this)._M_pmf, (forward<Scheduler*>)({parm#1}))) std::_Mem_fn_base<void (Scheduler::*)(), true>::operator()<Schedu---Type <return> to continue, or q <return> to quit---return
ler*>(Scheduler*&&) const ()
#8  0x0000564c05f5b191 in void std::_Bind_simple<std::_Mem_fn<void (Scheduler::*)()> (Scheduler*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) ()
#9  0x0000564c05f5ad5f in std::_Bind_simple<std::_Mem_fn<void (Scheduler::*)()> (Scheduler*)>::operator()() ()
#10 0x0000564c05f5a8fa in std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (Scheduler::*)()> (Scheduler*)> >::_M_run() ()
#11 0x00007fd787fb5e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#12 0x00007fd7882854a4 in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#13 0x00007fd78772ad0f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7fd789c89bc0 (LWP 31359)):
#0  0x00007fd78772b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x0000564c05ec3abd in boost::asio::detail::epoll_reactor::run(bool, boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>&) ()
#2  0x0000564c05ec4502 in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) ()
#3  0x0000564c05ec42dc in boost::asio::detail::task_io_service::run(boost::system::error_code&) ()
#4  0x0000564c05ec46b5 in boost::asio::io_service::run() ()
#5  0x0000564c05ec5638 in ServiceManager::run() ()
---Type <return> to continue, or q <return> to quit---return
#6  0x0000564c05f4e6b1 in main ()

Thread 2 (Thread 0x7fd783a18700 (LWP 31360)):
#0  0x0000564c060f4994 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, Creature::CountBlock_t>, std::_Select1st<std::pair<unsigned int const, Creature::CountBlock_t> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, Creature::CountBlock_t> > >::_S_right(std::_Rb_tree_node_base*) ()
#1  0x0000564c0611e047 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, Creature::CountBlock_t>, std::_Select1st<std::pair<unsigned int const, Creature::CountBlock_t> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, Creature::CountBlock_t> > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, Creature::CountBlock_t> >*) ()
#2  0x0000564c0611e400 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, Creature::CountBlock_t>, std::_Select1st<std::pair<unsigned int const, Creature::CountBlock_t> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, Creature::CountBlock_t> > >::clear() ()
#3  0x0000564c0611c652 in std::map<unsigned int, Creature::CountBlock_t, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, Creature::CountBlock_t> > >::clear() ()
#4  0x0000564c06116945 in Creature::onIdleStatus() ()
#5  0x0000564c05f4007c in Player::onIdleStatus() ()
#6  0x0000564c05f3fbdd in Player::onEndCondition(ConditionType_t) ()
#7  0x0000564c05f3ab28 in Player::death(Creature*) ()
---Type <return> to continue, or q <return> to quit---return
#8  0x0000564c06118980 in Creature::onDeath() ()
#9  0x0000564c060c651e in Game::checkCreatures(unsigned long) ()
#10 0x0000564c060c197e in void std::__invoke_impl<void, void (Game::* const&)(unsigned long), Game*&, unsigned long&>(std::__invoke_memfun_deref, void (Game::* const&)(unsigned long), Game*&, unsigned long&) ()
#11 0x0000564c060c018f in std::result_of<void (Game::* const&(Game*&, unsigned long&))(unsigned long)>::type std::__invoke<void (Game::* const&)(unsigned long), Game*&, unsigned long&>(void (Game::* const&)(unsigned long), Game*&, unsigned long&) ()
#12 0x0000564c060bd8e7 in decltype (__invoke((*this)._M_pmf, (forward<Game*&>)({parm#1}), (forward<unsigned long&>)({parm#1}))) std::_Mem_fn_base<void (Game::*)(unsigned long), true>::operator()<Game*&, unsigned long&>(Game*&, unsigned long&) const ()
#13 0x0000564c060b993d in void std::_Bind<std::_Mem_fn<void (Game::*)(unsigned long)> (Game*, unsigned long)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) ()
#14 0x0000564c060b32e8 in void std::_Bind<std::_Mem_fn<void (Game::*)(unsigned long)> (Game*, unsigned long)>::operator()<, void>() ()
#15 0x0000564c060db335 in std::_Function_handler<void (), std::_Bind<std::_Mem_fn<void (Game::*)(unsigned long)> (Game*, unsigned long)> >::_M_invoke(std::_Any_data const&) ()
#16 0x0000564c05ea62b6 in std::function<void ()>::operator()() const ()
#17 0x0000564c05ea5db4 in Task::operator()() ()
---Type <return> to continue, or q <return> to quit---return
#18 0x0000564c05ea6043 in Dispatcher::threadMain() ()
#19 0x0000564c05f5bbc4 in void std::__invoke_impl<void, void (Dispatcher::* const&)(), Dispatcher*>(std::__invoke_memfun_deref, void (Dispatcher::* const&)(), Dispatcher*&&) ()
#20 0x0000564c05f5b809 in std::result_of<void (Dispatcher::* const&(Dispatcher*&&))()>::type std::__invoke<void (Dispatcher::* const&)(), Dispatcher*>(void (Dispatcher::* const&)(), Dispatcher*&&) ()
#21 0x0000564c05f5b5f8 in decltype (__invoke((*this)._M_pmf, (forward<Dispatcher*>)({parm#1}))) std::_Mem_fn_base<void (Dispatcher::*)(), true>::operator()<Dispatcher*>(Dispatcher*&&) const ()
#22 0x0000564c05f5b243 in void std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) ()
#23 0x0000564c05f5ad83 in std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)>::operator()() ()
#24 0x0000564c05f5a918 in std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)> >::_M_run() ()
#25 0x00007fd787fb5e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#26 0x00007fd7882854a4 in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#27 0x00007fd78772ad0f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7fd7823e7700 (LWP 31362)):
#0  0x00007fd787674fff in raise () from /lib/x86_64-linux-gnu/libc.so.6
---Type <return> to continue, or q <return> to quit---return
#1  0x00007fd78767642a in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fd789829f67 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#3  0x00007fd789837755 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#4  0x00007fd78983fb11 in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#5  0x00007fd78983fdad in ?? () from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#6  0x00007fd78983b149 in mysql_real_query ()
   from /usr/lib/x86_64-linux-gnu/libmariadb.so.2
#7  0x0000564c060fdf22 in Database::executeQuery(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#8  0x0000564c061030ae in DatabaseTasks::runTask(DatabaseTask const&) ()
#9  0x0000564c06102e33 in DatabaseTasks::threadMain() ()
#10 0x0000564c06105600 in void std::__invoke_impl<void, void (DatabaseTasks::* const&)(), DatabaseTasks*>(std::__invoke_memfun_deref, void (DatabaseTasks::* const&)(), DatabaseTasks*&&) ()
#11 0x0000564c0610558d in std::result_of<void (DatabaseTasks::* const&(DatabaseTasks*&&))()>::type std::__invoke<void (DatabaseTasks::* const&)(), DatabaseTasks*>(void (DatabaseTasks::* const&)(), DatabaseTasks*&&) ()
#12 0x0000564c0610553e in decltype (__invoke((*this)._M_pmf, (forward<DatabaseTasks*>)({parm#1}))) std::_Mem_fn_base<void (DatabaseTasks::*)(), true>::operator()<DatabaseTasks*>(DatabaseTasks*&&) const ()
#13 0x0000564c06105509 in void std::_Bind_simple<std::_Mem_fn<void (DatabaseTasks::*)()> (DatabaseTasks*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) ()
#14 0x0000564c06105457 in std::_Bind_simple<std::_Mem_fn<void (DatabaseTasks::*)---Type <return> to continue, or q <return> to quit---return
()> (DatabaseTasks*)>::operator()() ()
#15 0x0000564c06105438 in std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (DatabaseTasks::*)()> (DatabaseTasks*)> >::_M_run() ()
#16 0x00007fd787fb5e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#17 0x00007fd7882854a4 in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#18 0x00007fd78772ad0f in clone () from /lib/x86_64-linux-gnu/libc.so.6
 
Actually it presents the same issue in database's thread and a similar place in dispatcher's thread (player's death situation).
Did you try @Infernum suggestion about recompiling the project in "debug mode"?
If it didn't help then try some manual digging and add logging into mysql_real_query() method to check what query is the very last before the crash.

P.S. Ignore my previous comment about this prompt:
Undefined command: "from". Try "help".
It is related to GDB, not MySQL >.<.
 
Actually it presents the same issue in database's thread and a similar place in dispatcher's thread (player's death situation).
Did you try @Infernum suggestion about recompiling the project in "debug mode"?
If it didn't help then try some manual digging and add logging into mysql_real_query() method to check what query is the very last before the crash.

P.S. Ignore my previous comment about this prompt:
Undefined command: "from". Try "help".
It is related to GDB, not MySQL >.<.

I had logout and some events from an outdated version registered in my login.lua, so I just replaced it with the fresh one to see what turns out.
Thank you.
Loney
 
Had a new morning crash today. Log:

Code:
#0  0x0000557cb6e4abfe in Player::getConditionSuppressions() const ()
#1  0x0000557cb703459e in Creature::isSuppress(ConditionType_t) const ()
#2  0x0000557cb6e4d22c in Player::getClientIcons() const ()
#3  0x0000557cb6e8171f in Player::sendIcons() const ()
#4  0x0000557cb6e58c41 in Player::onEndCondition(ConditionType_t) ()
#5  0x0000557cb6e53b28 in Player::death(Creature*) ()
#6  0x0000557cb7031980 in Creature::onDeath() ()
#7  0x0000557cb6fdf51e in Game::checkCreatures(unsigned long) ()
#8  0x0000557cb6fda97e in void std::__invoke_impl<void, void (Game::* const&)(unsigned long), Game*&, unsigned long&>(std::__invoke_memfun_deref, void (Game::* const&)(unsigned long), Game*&, unsigned long&) ()
#9  0x0000557cb6fd918f in std::result_of<void (Game::* const&(Game*&, unsigned long&))(unsigned long)>::type std::__invoke<void (Game::* const&)(unsigned long), Game*&, unsigned long&>(void (Game::* const&)(unsigned long), Game*&, unsigned long&) ()
#10 0x0000557cb6fd68e7 in decltype (__invoke((*this)._M_pmf, (forward<Game*&>)({parm#1}), (forward<unsigned long&>)({parm#1}))) std::_Mem_fn_base<void (Game::*)(unsigned long), true>::operator()<Game*&, unsigned long&>(Game*&, unsigned long&) const ()
#11 0x0000557cb6fd293d in void std::_Bind<std::_Mem_fn<void (Game::*)(unsigned l---Type <return> to continue, or q <return> to quit---return
ong)> (Game*, unsigned long)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) ()
#12 0x0000557cb6fcc2e8 in void std::_Bind<std::_Mem_fn<void (Game::*)(unsigned long)> (Game*, unsigned long)>::operator()<, void>() ()
#13 0x0000557cb6ff4335 in std::_Function_handler<void (), std::_Bind<std::_Mem_fn<void (Game::*)(unsigned long)> (Game*, unsigned long)> >::_M_invoke(std::_Any_data const&) ()
#14 0x0000557cb6dbf2b6 in std::function<void ()>::operator()() const ()
#15 0x0000557cb6dbedb4 in Task::operator()() ()
#16 0x0000557cb6dbf043 in Dispatcher::threadMain() ()
#17 0x0000557cb6e74bc4 in void std::__invoke_impl<void, void (Dispatcher::* const&)(), Dispatcher*>(std::__invoke_memfun_deref, void (Dispatcher::* const&)(), Dispatcher*&&) ()
#18 0x0000557cb6e74809 in std::result_of<void (Dispatcher::* const&(Dispatcher*&&))()>::type std::__invoke<void (Dispatcher::* const&)(), Dispatcher*>(void (Dispatcher::* const&)(), Dispatcher*&&) ()
#19 0x0000557cb6e745f8 in decltype (__invoke((*this)._M_pmf, (forward<Dispatcher*>)({parm#1}))) std::_Mem_fn_base<void (Dispatcher::*)(), true>::operator()<Dispatcher*>(Dispatcher*&&) const ()
#20 0x0000557cb6e74243 in void std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) ()
#21 0x0000557cb6e73d83 in std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)>::operator()() ()
---Type <return> to continue, or q <return> to quit---return
#22 0x0000557cb6e73918 in std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (Dispatcher::*)()> (Dispatcher*)> >::_M_run() ()
#23 0x00007fe231660e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#24 0x00007fe2319304a4 in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#25 0x00007fe230dd5d0f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Seems like a diff. error. Any thoughts? Thanks.
 
still no symbols idk if u just dont want to compile in debug mode or what, it's impossible unless someone has a crystal ball
 
Looks like condition problem, it always crashes right after condition has to end. I remember TFS had issue with that and it was fixed some time ago. Not sure if this tfs has these changes as I dont remember. Look up TFS main repo commits and look for conditions fix commit and compare with your code
 
Solution
I was unable to build in debug mode, so I did what @Nekiro said and found an endCondition fix commit. My sources didn't had that fix yet tho, so I recompiled and server is up again. Everything seems fine atm, going to wait to see what happens.

Thank yall very much
Loney
 
Back
Top