Jump to content
  • 0

SIGBUS: Bus error in fresh map server


Valtaroth

Question


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  1
  • Reputation:   0
  • Joined:  05/18/22
  • Last Seen:  

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:

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

Cheers, Valtaroth

 

EDIT: To add some more details:

I configured the servers with:

./configure --enable-packetver=20200401 --enable-prere=yes --disable-64bit

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 Valtaroth
Adding additional details
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...