• 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+ gdb error

Mjmackan

Mapper ~ Writer
Premium User
Joined
Jul 18, 2009
Messages
1,424
Solutions
15
Reaction score
176
Location
Sweden
My server is crashing, it occurs when certain characters login, so far have 2 characters been busted. Nothing alike, one player logged out on a boat, other one got bugged when going into offline trainers. Then when trying to login they crash the server, below is one of the characters trying to login.

Using: OTSERVBR
OS: Ubuntu 20.04

I'm getting this error in gdb:
C++:
Thread 2 "otbr" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff79d6700 (LWP 16271)]
ItemAttributes::getIntAttr (this=0x7000700070002, type=ITEM_ATTRIBUTE_DECAYSTATE) at /home/otsmanager/otservbr-global/src/items/item.cpp:2375
2375            const Attribute* attr = getExistingAttr(type);
(gdb) bt full
#0  ItemAttributes::getIntAttr (this=0x7000700070002, type=ITEM_ATTRIBUTE_DECAYSTATE) at /home/otsmanager/otservbr-global/src/items/item.cpp:2375
        attr = <optimized out>
#1  0x00005555556f0dd3 in ItemAttributes::getIntAttr (type=ITEM_ATTRIBUTE_DECAYSTATE, this=<optimized out>) at /home/otsmanager/otservbr-global/src/items/item.h:825
        attr = <optimized out>
#2  Item::getIntAttr (type=<optimized out>, this=<optimized out>, this=<optimized out>, type=<optimized out>) at /home/otsmanager/otservbr-global/src/items/item.h:623
No locals.
#3  Item::getDecaying (this=0x7ffff00008d0) at /home/otsmanager/otservbr-global/src/items/item.h:828
No locals.
#4  Game::startDecay(Item*) [clone .constprop.0] (item=0x7ffff00008d0, this=<optimized out>) at /home/otsmanager/otservbr-global/src/game/game.cpp:6426
        decayState = <optimized out>
        duration = <optimized out>
#5  0x0000555555835e45 in Container::startDecaying (this=0x7fff96affbf0) at /home/otsmanager/otservbr-global/src/items/containers/container.cpp:822
        it = {over = std::__cxx11::list = {[0] = 0x7fff96b00190}, cur = 0x7ffff00008d0}
#6  0x00005555558577f0 in IOLoginData::loadPlayer (player=0x7fffc1606550, result=...) at /home/otsmanager/otservbr-global/src/io/iologindata.cpp:611
        it2 = <optimized out>
        container = <optimized out>
        pair = <optimized out>
        item = 0x7fff96affbf0
        pid = <optimized out>
        itemContainer = <optimized out>
        it = <optimized out>
        end = {<std::iterator<std::bidirectional_iterator_tag, std::pair<unsigned int const, std::pair<Item*, unsigned int> >, long, std::pair<unsigned int const, std::pair<Item*, unsigned int> > const*, std::pair<unsigned int const, std::pair<Item*, unsigned int> > const&>> = {<No data fields>}, current = {first = 101, second = {first = 0x7fff0dc3a5f0, second = 1}}}
        db = <optimized out>
        accno = <optimized out>
        acc = {db_ = 0x555555f11400 <Database::getInstance()::instance>, db_tasks_ = 0x555555f1a440 <g_databaseTasks>, id_ = 38, name_ = "NOTSAFE", password_ = "423423423423424234234234234", premium_remaining_days_ = 0,
          premium_last_day_ = 0, account_type_ = account::ACCOUNT_TYPE_NORMAL}
        group = <optimized out>
        experience = <optimized out>
        currExpCount = <optimized out>
        nextExpCount = <optimized out>
        attrSize = 43
        attr = <optimized out>
        propStream = {p = 0x7fff9f19a638 "^\246\031\237\377\177", end = 0x7fff9f19a638 "^\246\031\237\377\177"}
        condition = <optimized out>
        nextManaCount = <optimized out>
        manaSpent = <optimized out>
        town = <optimized out>
        loginPos = @0x7fffc1606c9a: {x = 32817, y = 31274, z = 7 '\a'}
        query = <incomplete type>
        itemMap = std::map with 34 elements = {[101] = {first = 0x7fff0dc3a5f0, second = 1}, [102] = {first = 0x7fff96affbf0, second = 3}, [103] = {first = 0x7fffc1605640, second = 4}, [104] = {first = 0x7fff0dc737c0, second = 5},
          [105] = {first = 0x7fff6bd9c480, second = 6}, [106] = {first = 0x7fffc7ee7790, second = 7}, [107] = {first = 0x7fffc9e028e0, second = 8}, [108] = {first = 0x7fff7f4288f0, second = 10}, [109] = {first = 0x7fff96afff10,
            second = 11}, [110] = {first = 0x7ffeff3a2c20, second = 102}, [111] = {first = 0x7fff6bda0590, second = 102}, [112] = {first = 0x7fff97be4450, second = 102}, [113] = {first = 0x7fff9f1a15f0, second = 102}, [114] = {
            first = 0x7ffee7075240, second = 102}, [115] = {first = 0x7fff96b00190, second = 102}, [116] = {first = 0x7fff5b95d690, second = 102}, [117] = {first = 0x7fffef613740, second = 102}, [118] = {first = 0x7fff6bdc4150,
            second = 115}, [119] = {first = 0x7fffc64dc570, second = 115}, [120] = {first = 0x7fffbd0387d0, second = 115}, [121] = {first = 0x7fff77aa0880, second = 115}, [122] = {first = 0x7fff5ab4ea40, second = 115}, [123] = {
            first = 0x7fff61d92920, second = 115}, [124] = {first = 0x7fff5ab440b0, second = 115}, [125] = {first = 0x7fffbd043880, second = 115}, [126] = {first = 0x7fff40554930, second = 115}, [127] = {first = 0x7fff0e996a50,
            second = 115}, [128] = {first = 0x7fffacbe22c0, second = 115}, [129] = {first = 0x7fff6bcb1e80, second = 115}, [130] = {first = 0x7fffa87499e0, second = 115}, [131] = {first = 0x7fff35f63aa0, second = 115}, [132] = {
            first = 0x7fffec3acdc0, second = 115}, [133] = {first = 0x7fff64554c30, second = 115}, [134] = {first = 0x7fff6d7fcac0, second = 115}}
        openContainersList = std::vector of length 0, capacity 0
        skillNames = {"skill_fist", "skill_club", "skill_sword", "skill_axe", "skill_dist", "skill_shielding", "skill_fishing", "skill_critical_hit_chance", "skill_critical_hit_damage", "skill_life_leech_chance",
          "skill_life_leech_amount", "skill_mana_leech_chance", "skill_mana_leech_amount"}
        skillNameTries = {"skill_fist_tries", "skill_club_tries", "skill_sword_tries", "skill_axe_tries", "skill_dist_tries", "skill_shielding_tries", "skill_fishing_tries", "skill_critical_hit_chance_tries",
          "skill_critical_hit_damage_tries", "skill_life_leech_chance_tries", "skill_life_leech_amount_tries", "skill_mana_leech_chance_tries", "skill_mana_leech_amount_tries"}
        __func__ = <optimized out>
        size = <optimized out>
#7  0x000055555585b623 in IOLoginData::loadPlayerById (player=0x7fffc1606550, id=<optimized out>) at /usr/include/c++/9/bits/basic_string.h:1936
        db = <optimized out>
        query = <incomplete type>
#8  0x000055555575c82e in ProtocolGame::login (this=<optimized out>, name=..., accountId=<optimized out>, operatingSystem=<optimized out>) at /home/otsmanager/otservbr-global/src/creatures/players/player.h:220
        waitingList = @0x555555f1edd0: {info = std::unique_ptr<WaitListInfo> = {get() = 0x7fff97bdb700}}
        foundPlayer = <optimized out>
        __func__ = <optimized out>
#9  0x000055555585b312 in std::function<void ()>::operator()() const (this=0x555555f58e70) at /usr/include/c++/9/bits/std_function.h:683
No locals.
#10 Task::operator() (this=0x555555f58e60) at /home/otsmanager/otservbr-global/src/game/scheduling/tasks.h:40
--Type <RET> for more, q to quit, c to continue without paging--
 
Last edited:
Back
Top