• 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.2 Crash

Something was changes on the onRecvFirstMessage ?
Yea OTCV8 detection if im not wrong

protcolgame.cpp

protocollogin.cpp
 
Signal caught: SIGINT
This does not look like a crash to me but I could be wrong. Normally an interrupt signal (SIGINT) means that you pressed Ctrl+C.

I think its random failure but it happens kinda often(have no idea how, got like 6 crash logs within 24hours) so from logical point somehow its reproducible
How do you start the server? Do you try to back out of gdb while the server is running or let your PC go to sleep with ssh/Putty open?
 
This does not look like a crash to me but I could be wrong. Normally an interrupt signal (SIGINT) means that you pressed Ctrl+C.


How do you start the server? Do you try to back out of gdb while the server is running or let your PC go to sleep with ssh/Putty open?
I use sudo ./start-tfs and after that i have functions that automatically restarts the server every 5:55:00AM so i think its the last option i let it go sleep with ssh/putty open

echo Starting Server....
sleep 0
screen -A -m -d -S tfs ./start.sh
 
try to go to a house, and put ***************************************************************************************************** in aleta sio, then try to enter with a char on another account (left the door open) and see what happen
 
try to go to a house, and put ***************************************************************************************************** in aleta sio, then try to enter with a char on another account (left the door open) and see what happen
what? houses have nothing to do with it
 
It looks like someone enter into 'screen' and press CTRL+C or type command "kill -2 here_tfs_process_id" in console.

All threads in your dumps are on some locks (nothing to do, waiting for some work). Everything looks fine.
In TFS 1.2+ there is even added 'signal handling' and sending 'SIGINT' to TFS process does not crash it. It saves server and shutdown:
 
It looks like someone enter into 'screen' and press CTRL+C or type command "kill -2 here_tfs_process_id" in console.

All threads in your dumps are on some locks (nothing to do, waiting for some work). Everything looks fine.
In TFS 1.2+ there is even added 'signal handling' and sending 'SIGINT' to TFS process does not crash it. It saves server and shutdown:
Impossible im the only one who have access to a terminal
 
Please dont shit post, comments like this are useless in support section, its wasting everyones time
You can add code to handle signals to your server. You can add it like in TFS 1.2+ (close server on SIGINT) or make your server ignore SIGINT signal. So it won't close (crash) on CTRL+C from console or OTHER UNKNOWN source of SIGINT signals.
Signals tell application to shutdown for X reason. Most of signals can be ignored by C++ application. You just need to add code to handle these signals.

In all other threads on forum, you can read reports with SIGSEGV (segmentation fault) or SIGABRT. There are also stacks from which you can read what function was executed in moment of crash. In your case it's SIGINT and OTS is not executing any function in any thread in moment of crash.

ConstantExplanation
SIGTERMtermination request, sent to the program
SIGSEGVinvalid memory access (segmentation fault)
SIGINTexternal interrupt, usually initiated by the user
SIGILLinvalid program image, such as invalid instruction
SIGABRTabnormal termination condition, as is e.g. initiated by std::abort()
SIGFPEerroneous arithmetic operation such as divide by zero
 
Last edited:
I use sudo ./start-tfs and after that i have functions that automatically restarts the server every 5:55:00AM so i think its the last option i let it go sleep with ssh/putty open

echo Starting Server....
sleep 0
screen -A -m -d -S tfs ./start.sh

Rather than leaving the ssh terminal open with your server console, I strongly suggest you do the following:

screen -a This will "attach" you to a new "screen"
sudo ./start-tfs Your start script(?)
[Press ctrl+a+d] This will detatch you from the screen, leaving it running in the background.
You can now disconnect from your ssh terminal and the game server will continue running.

Later, you can re-attach to the screen by typing screen -r

If it ever fails to bring you straight back to your game console, it is probably because you have multiple screens open and they'll now be listed for you. Simply add the name of one of the listed screens to your command e.g. screen -r 46234 where 46234 is the name of the screen listed.

If it won't let you return to the screen you want for some reason (probably because it is already attached) you can force it by using screen -r -d 46234 where 46234 is the name of the screen listed.

You might find that this will solve your problem.
 
Rather than leaving the ssh terminal open with your server console, I strongly suggest you do the following:

screen -a This will "attach" you to a new "screen"
sudo ./start-tfs Your start script(?)
[Press ctrl+a+d] This will detatch you from the screen, leaving it running in the background.
You can now disconnect from your ssh terminal and the game server will continue running.

Later, you can re-attach to the screen by typing screen -r

If it ever fails to bring you straight back to your game console, it is probably because you have multiple screens open and they'll now be listed for you. Simply add the name of one of the listed screens to your command e.g. screen -r 46234 where 46234 is the name of the screen listed.

If it won't let you return to the screen you want for some reason (probably because it is already attached) you can force it by using screen -r -d 46234 where 46234 is the name of the screen listed.

You might find that this will solve your problem.
Its better to start named session so you dont have to check numbers, like screen -S ots
To restore: screen -xS ots
 
Back
Top