• 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+ crash tfs 1.2

emil1174

Active Member
Joined
Feb 12, 2012
Messages
87
Reaction score
45
sometimes i got random crash
u know this?
Tfs 1.2
C++:
bool Tile::hasProperty(ITEMPROPERTY prop) const
{
    if (ground && ground->hasProperty(prop)) {
        return true;
    }

    if (const TileItemVector* items = getItemList()) {
        for (const Item* item : *items) {
            if (item->hasProperty(prop)) {
                return true;
            }
        }
    }
    return false;
}
gdb full
Code:
#0  0x0000562abeca5769 in Tile::hasProperty(ITEMPROPERTY) const ()
No symbol table info available.
#1  0x0000562abea8a9fd in AreaCombat::getList(Position const&, Position const&, std::forward_list<Tile*, std::allocator<Tile*> >&) const ()
No symbol table info available.
#2  0x0000562abea878aa in Combat::getCombatArea(Position const&, Position const&, AreaCombat const*, std::forward_list<Tile*, std::allocator<Tile*> >&) ()
No symbol table info available.
#3  0x0000562abea890dc in Combat::CombatFunc(Creature*, Position const&, AreaCombat const*, CombatParams const&, void (*)(Creature*, Creature*, CombatParams const&, CombatDamage*), CombatDamage*) ()
No symbol table info available.
#4  0x0000562abea8986c in Combat::doCombatHealth(Creature*, Position const&, AreaCombat const*, CombatDamage&, CombatParams const&) ()
No symbol table info available.
#5  0x0000562abea89661 in Combat::doCombat(Creature*, Position const&) const ()
No symbol table info available.
#6  0x0000562abec9ab92 in CombatSpell::castSpell(Creature*) ()
No symbol table info available.
#7  0x0000562abec9ad45 in CombatSpell::castSpell(Creature*, Creature*) ()
No symbol table info available.
#8  0x0000562abebf4508 in Monster::doAttacking(unsigned int) ()
No symbol table info available.
#9  0x0000562abeac6e96 in Creature::onAttacking(unsigned int) ()
No symbol table info available.
#10 0x0000562abeaf5bce in Game::checkCreatures(unsigned long) ()
No symbol table info available.
#11 0x0000562abeb1f635 in void std::__invoke_impl<void, void (Game::*&)(unsigned long), Game*&, unsigned long&>(std::__invoke_memfun_deref, void (Game::*&)(unsigned long), Game*&, unsigned long&) ()
No symbol table info available.
#12 0x0000562abeb1dcf1 in std::__invoke_result<void (Game::*&)(unsigned long), Game*&, unsigned long&>::type std::__invoke<void (Game::*&)(unsigned long), Game*&, unsigned long&>(void (Game::*&)(unsigned long), Game*&, unsigned long&) ()
No symbol table info available.
#13 0x0000562abeb1b961 in void std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) ()
No symbol table info available.
#14 0x0000562abeb182c8 in void std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>::operator()<, void>() ()
No symbol table info available.
#15 0x0000562abeb13baa in void std::__invoke_impl<void, std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>&>(std::__invoke_other, std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>&) ()
No symbol table info available.
#16 0x0000562abeb0d5f3 in std::enable_if<std::__and_<std::is_void<void>, std::__is_invocable<std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>&> >::value, void>::type std::__invoke_r<void, std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>&>(std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>&) ()
No symbol table info available.
#17 0x0000562abeb07505 in std::_Function_handler<void (), std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)> >::_M_invoke(std::_Any_data const&) ()
No symbol table info available.
#18 0x0000562abeca451e in std::function<void ()>::operator()() const ()
No symbol table info available.
#19 0x0000562abeca4496 in Task::operator()() ()
No symbol table info available.
#20 0x0000562abeca3c30 in Dispatcher::threadMain() ()
No symbol table info available.
#21 0x0000562abec29b6b in void std::__invoke_impl<void, void (Dispatcher::*)(), Dispatcher*>(std::__invoke_memfun_deref, void (Dispatcher::*&&)(), Dispatcher*&&) ()
No symbol table info available.
#22 0x0000562abec298f0 in std::__invoke_result<void (Dispatcher::*)(), Dispatcher*>::type std::__invoke<void (Dispatcher::*)(), Dispatcher*>(void (Dispatcher::*&&)(), Dispatcher*&&) ()
No symbol table info available.
#23 0x0000562abec29545 in void std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) ()
No symbol table info available.
#24 0x0000562abec29198 in std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> >::operator()() ()
No symbol table info available.
#25 0x0000562abec28d64 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> > >::_M_run() ()
No symbol table info available.
#26 0x00007f696a13ded0 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#27 0x00007f696a243ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140090709100288, -8228373995313005459, 140728166644542, 140728166644543, 140090709098368, 8396800, 8294540438297017453, 8294545544996748397}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#28 0x00007f6969e36a2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

im forgot compile tfs with debuger, damn
 
Last edited:
It was problem with map. after install gdb i saw bug position.
Now i have other problem
C++:
(gdb) bt full
#0  0x0000561ac2ef64d0 in LuaScriptInterface::setCreatureMetatable (L=0x40826378, index=-1, creature=0x7f675606ef20) at /home/tfs/src/luascript.cpp:693
No locals.
#1  0x0000561ac2f55be0 in LuaScriptInterface::luaCreatureCreate (L=0x40826378) at /home/tfs/src/luascript.cpp:6360
        creature = 0x7f675606ef20
#2  0x00007f67724305e7 in ?? () from /lib/x86_64-linux-gnu/libluajit-5.1.so.2
No symbol table info available.
#3  0x00007f677248478f in lua_pcall () from /lib/x86_64-linux-gnu/libluajit-5.1.so.2
No symbol table info available.
#4  0x0000561ac2ef4618 in LuaScriptInterface::protectedCall (L=0x40826378, nargs=1, nresults=1) at /home/tfs/src/luascript.cpp:295
        error_index = 4
        ret = -1025301823
#5  0x0000561ac2ef5473 in LuaScriptInterface::callFunction (this=0x561ac3187b40 <g_luaEnvironment>, params=1) at /home/tfs/src/luascript.cpp:519
        result = false
        size = 5
#6  0x0000561ac2f663bf in LuaEnvironment::executeTimerEvent (this=0x561ac3187b40 <g_luaEnvironment>, eventIndex=104496) at /home/tfs/src/luascript.cpp:11952
        env = 0x561ac3187d20 <LuaScriptInterface::scriptEnv>
        it = {<std::__detail::_Node_iterator_base<std::pair<unsigned int const, LuaTimerEventDesc>, false>> = {_M_cur = 0x7f6738c39120}, <No data fields>}
        timerEventDesc = {scriptId = 1008, function = 3, parameters = std::__cxx11::list = {[0] = 37}, eventId = 2632621}
#7  0x0000561ac2f7ba93 in std::__invoke_impl<void, void (LuaEnvironment::*&)(unsigned int), LuaEnvironment*&, unsigned int&> (__f=@0x7f6755e02810: (void (LuaEnvironment::*)(LuaEnvironment * const, unsigned int)) 0x561ac2f661f0 <LuaEnvironment::executeTimerEvent(unsigned int)>,
    __t=@0x7f6755e02828: 0x561ac3187b40 <g_luaEnvironment>) at /usr/include/c++/10/bits/invoke.h:73
No locals.
#8  0x0000561ac2f7b08d in std::__invoke<void (LuaEnvironment::*&)(unsigned int), LuaEnvironment*&, unsigned int&> (__fn=@0x7f6755e02810: (void (LuaEnvironment::*)(LuaEnvironment * const, unsigned int)) 0x561ac2f661f0 <LuaEnvironment::executeTimerEvent(unsigned int)>) at /usr/include/c++/10/bits/invoke.h:95
No locals.
#9  0x0000561ac2f79e67 in std::_Bind<void (LuaEnvironment::*(LuaEnvironment*, unsigned int))(unsigned int)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) (this=0x7f6755e02810, __args=...) at /usr/include/c++/10/functional:416
No locals.
#10 0x0000561ac2f77f24 in std::_Bind<void (LuaEnvironment::*(LuaEnvironment*, unsigned int))(unsigned int)>::operator()<, void>() (this=0x7f6755e02810) at /usr/include/c++/10/functional:499
No locals.
#11 0x0000561ac2f75350 in std::__invoke_impl<void, std::_Bind<void (LuaEnvironment::*(LuaEnvironment*, unsigned int))(unsigned int)>&>(std::__invoke_other, std::_Bind<void (LuaEnvironment::*(LuaEnvironment*, unsigned int))(unsigned int)>&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
No locals.
#12 0x0000561ac2f7262e in std::__invoke_r<void, std::_Bind<void (LuaEnvironment::*(LuaEnvironment*, unsigned int))(unsigned int)>&>(std::_Bind<void (LuaEnvironment::*(LuaEnvironment*, unsigned int))(unsigned int)>&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:153
No locals.
#13 0x0000561ac2f6ec47 in std::_Function_handler<void (), std::_Bind<void (LuaEnvironment::*(LuaEnvironment*, unsigned int))(unsigned int)> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/10/bits/std_function.h:291
No locals.
#14 0x0000561ac303a4fc in std::function<void ()>::operator()() const (this=0x7f67522bfa80) at /usr/include/c++/10/bits/std_function.h:622
No locals.
#15 0x0000561ac303a474 in Task::operator() (this=0x7f67522bfa70) at /home/tfs/src/tasks.h:42
No locals.
#16 0x0000561ac3039c0e in Dispatcher::threadMain (this=0x561ac31886e0 <g_dispatcher>) at /home/tfs/src/tasks.cpp:50
        task = 0x7f67522bfa70
        taskLockUnique = {_M_device = 0x561ac31886f8 <g_dispatcher+24>, _M_owns = false}
#17 0x0000561ac2fbfb49 in std::__invoke_impl<void, void (Dispatcher::*)(), Dispatcher*> (__f=@0x561ac4ec0340: (void (Dispatcher::*)(Dispatcher * const)) 0x561ac3039b12 <Dispatcher::threadMain()>, __t=@0x561ac4ec0338: 0x561ac31886e0 <g_dispatcher>) at /usr/include/c++/10/bits/invoke.h:73
No locals.
#18 0x0000561ac2fbf8ce in std::__invoke<void (Dispatcher::*)(), Dispatcher*> (__fn=@0x561ac4ec0340: (void (Dispatcher::*)(Dispatcher * const)) 0x561ac3039b12 <Dispatcher::threadMain()>) at /usr/include/c++/10/bits/invoke.h:95
No locals.
#19 0x0000561ac2fbf523 in std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> >::_M_invoke<0ul, 1ul> (this=0x561ac4ec0338) at /usr/include/c++/10/thread:264
No locals.
#20 0x0000561ac2fbf176 in std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> >::operator() (this=0x561ac4ec0338) at /usr/include/c++/10/thread:271
No locals.
#21 0x0000561ac2fbed42 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> > >::_M_run (this=0x561ac4ec0330) at /usr/include/c++/10/thread:215
No locals.
#22 0x00007f6772247ed0 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#23 0x00007f677234dea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140082254472960, 7733541082745799675, 140732717382750, 140732717382751, 140082254471040, 8396800, -7665710764124797957, -7665712821431303173}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#24 0x00007f6771f40a2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
 
Fixed.
Spell was bugged.
Dont use Druid Furry spell with otland guys :D
When someone cast spell then logout or die- server crashed
 
Back
Top