For some odd reason, it appears that I'm having problems running Reborn MOHAA servers in KVM virtual machines under newer Linux operating systems. For example, if you try running a MOHAA server from an Ubuntu 20.04 guest virtual machine on a Rocky Linux KVM host server, when you change the map using rcon, reborn crashes:
Code:
map
Got signal 11 - Segmentation fault, faulty address is 0xf55033e6
Crash Recover Attempt will take place!
Execution path:
--> [0xf55033e6]
--> ./mohaa_lnxded() [0x806676b]
--> ./mohaa_lnxded() [0x8067425]
--> ./mohaa_lnxded() [0x809726e]
--> /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf74baaf3]
This happens every time for me.
After all kinds of testing, it appears that non-reborn servers running in these KVM guests run fine. I used the original Linux server binaries, and I'm not seeing any crashes when changing the map using the non-reborn binaries in the KVM guest servers. This didn't use to happen in older versions of CentOS and Red Hat, so I wonder why it's happening now with the reborn binaries. I use the same setup on other servers, but these servers are running CentOS 7 as the KVM host, and reborn works OK in Ubuntu guests there for the most part.
To further troubleshoot, I ran a Reborn MOHAA server directly from Rocky Linux (not running in a virtual machine), and reborn appears to work correctly there too. Is there any chance we can further track down why this is happening in the KVM guests? This is not an atypical setup. I love KVM and have been running all sorts of servers in guest virtual machines, and they've worked well. Unfortunately, now it appears that I can't get reborn to run well, and I have no idea why, as the same setup used to work just fine.
Is there any more I can provide to help troubleshoot / debug this?
gdb backtrace shows:
Code:
Program received signal SIGSEGV, Segmentation fault.
0xf5d5a3e6 in ?? ()
(gdb) backtrace
#0 0xf5d5a3e6 in ?? ()
#1 0x00000004 in ?? ()
#2 0x3bd30818 in ?? ()
#3 0x00000000 in ?? ()
Anyone else run into similar issues recently?