I got the urge to set up a server on my Raspberry Pi 4b (arm32v7) and have managed to compile and deploy everything (MariaDB, login, char and map server) successfully. However, after playing any character for a while I cannot log into it anymore, crashing the map server with a `Bus error` every time. New characters can still connect to the map server fine.
A few examples:
I played a Novice to about ~20 and logged out during the Thief job quest > the map server crashes whenever I try to play that character
I played another Novice to 17 and logged out in the Prontera church > I can still log in fine
I started a Novice, idled in the training center while browsing the code and logged out after a while > map server crashes for that character too
Running gdb on the core dump I got the following backtrace of the map-server binary:
#0 0x004aa018 in intif_parse_Registers (fd=7) at intif.cpp:1467#1 0x004adcba in intif_parse (fd=fd@entry=7) at intif.cpp:3788#2 0x0045d97c in chrif_parse (fd=<optimized out>) at chrif.cpp:1781#3 chrif_parse (fd=7) at chrif.cpp:1753#4 0x00653f1e in do_sockets (next=<optimized out>) at socket.cpp:1024#5 0x00415906 in main (argc=1, argv=0xbefff784) at core.cpp:382
I didn't manage to understand what the cause is (other than it trying to read memory outside the range of fd). Can anyone tell me what the cause is and how I can fix it? Since I couldn't find any related issues on GitHub I expect it to be a setup problem on my end. It's highly confusing since I can play fine as long as I don't log out after passing some arbitrary playtime on each individual character..
I can provide more information if necessary, just point me in the direction of what you need!
I have made no modifications to the source code besides disabling PACKET_OBFUSCATION in src/config/packets.hpp (which I later reverted in hopes of it being the cause).
I also have not added any custom data like items, npcs, maps or the like.
I also tried compiling the servers with cmake as outlined in the wiki and in this related post but the map server still behaved the same.
Question
Valtaroth
Hi everyone,
I got the urge to set up a server on my Raspberry Pi 4b (arm32v7) and have managed to compile and deploy everything (MariaDB, login, char and map server) successfully. However, after playing any character for a while I cannot log into it anymore, crashing the map server with a `Bus error` every time. New characters can still connect to the map server fine.
A few examples:
Running gdb on the core dump I got the following backtrace of the map-server binary:
I didn't manage to understand what the cause is (other than it trying to read memory outside the range of fd). Can anyone tell me what the cause is and how I can fix it? Since I couldn't find any related issues on GitHub I expect it to be a setup problem on my end. It's highly confusing since I can play fine as long as I don't log out after passing some arbitrary playtime on each individual character..
I can provide more information if necessary, just point me in the direction of what you need!
Cheers, Valtaroth
EDIT: To add some more details:
I configured the servers with:
I have made no modifications to the source code besides disabling PACKET_OBFUSCATION in src/config/packets.hpp (which I later reverted in hopes of it being the cause).
I also have not added any custom data like items, npcs, maps or the like.
I also tried compiling the servers with cmake as outlined in the wiki and in this related post but the map server still behaved the same.
Edited by ValtarothAdding additional details
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.