• 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!

Weird crash issue related to character.

SixNine

Active Member
Joined
Dec 12, 2018
Messages
442
Reaction score
40
Im not sure if its true but as far im looking crash log points to one account that crashed the server multiple times not sure where is the issue. Sorry again if im asking for help again :D

Crash log (not sure what he was doing) (TFS 1.2)
 
Solution
Damn unfortunate then. How you compile with debug symbols never heard about it. Usually just using
Code:
make
It is funny because you have debug symbols xD.
Code:
#5 Connection::getIP (this=0x0)
You have nullptr dereference here.
In protocollogin.cpp change:
C++:
    uint32_t serverIp = serverIPs[0].first;
    for (uint32_t i = 0; i < serverIPs.size(); i++) {
        if ((serverIPs[i].first & serverIPs[i].second) == (getConnection()->getIP() & serverIPs[i].second)) {
            serverIp = serverIPs[i].first;
            break;
        }
    }
to:
C++:
    Connection_ptr connection = getConnection();
    if (!connection) {
        return;
    }

    uint32_t serverIp = serverIPs[0].first;
    for (uint32_t i = 0; i <...
Im not sure if its true but as far im looking crash log points to one account that crashed the server multiple times not sure where is the issue. Sorry again if im asking for help again :D

Crash log (not sure what he was doing) (TFS 1.2)

You need to compile with debug symbols, else its not possible to deduce (almost) anything from the log.
 
Damn unfortunate then. How you compile with debug symbols never heard about it. Usually just using
Code:
make
It is funny because you have debug symbols xD.
Code:
#5 Connection::getIP (this=0x0)
You have nullptr dereference here.
In protocollogin.cpp change:
C++:
    uint32_t serverIp = serverIPs[0].first;
    for (uint32_t i = 0; i < serverIPs.size(); i++) {
        if ((serverIPs[i].first & serverIPs[i].second) == (getConnection()->getIP() & serverIPs[i].second)) {
            serverIp = serverIPs[i].first;
            break;
        }
    }
to:
C++:
    Connection_ptr connection = getConnection();
    if (!connection) {
        return;
    }

    uint32_t serverIp = serverIPs[0].first;
    for (uint32_t i = 0; i < serverIPs.size(); i++) {
        if ((serverIPs[i].first & serverIPs[i].second) == (connection->getIP() & serverIPs[i].second)) {
            serverIp = serverIPs[i].first;
            break;
        }
    }
 
Solution
It is funny because you have debug symbols xD.
Code:
#5 Connection::getIP (this=0x0)
You have nullptr dereference here.
In protocollogin.cpp change:
C++:
    uint32_t serverIp = serverIPs[0].first;
    for (uint32_t i = 0; i < serverIPs.size(); i++) {
        if ((serverIPs[i].first & serverIPs[i].second) == (getConnection()->getIP() & serverIPs[i].second)) {
            serverIp = serverIPs[i].first;
            break;
        }
    }
to:
C++:
    Connection_ptr connection = getConnection();
    if (!connection) {
        return;
    }

    uint32_t serverIp = serverIPs[0].first;
    for (uint32_t i = 0; i < serverIPs.size(); i++) {
        if ((serverIPs[i].first & serverIPs[i].second) == (connection->getIP() & serverIPs[i].second)) {
            serverIp = serverIPs[i].first;
            break;
        }
    }
Life saver <3
 
Back
Top