- Posts
- 2
- Likes
- 5
Frequent Server Crashes: Consistent Segmentation Fault in jampgamei386.so (Game Logic)
Description:
Our Movie Battles II dedicated server is experiencing frequent and consistent crashes. All recorded crashes present as a **segmentation fault (Signal Code: 0x0000000B)** with the reason **"address not mapped to object."** This indicates the game attempted to access an invalid memory location.
Steps to Reproduce:
The crashes occur intermittently during regular gameplay, regardless of the specific map or number of players. We have observed it on maps such as `mb2_duel_dotf`, `um_bespin_tournament`, and `um_ns_streets`. There isn't a single, easily repeatable action that consistently triggers the crash.
Expected Behavior:
The server should run stably without unexpected crashes.
Actual Behavior:
The server process terminates abruptly with a segmentation fault, requiring a manual restart.
Technical Analysis:
Upon reviewing multiple crash logs, a highly consistent pattern in the call stack trace has been identified. In every instance, the crash originates within the `jampgamei386.so` library, specifically involving core game logic functions:
* `G_RunObject`
* `G_RunThink`
* `G_RunMissile`
This strong consistency points to a bug within the game's internal handling of dynamic entities (like players, NPCs, items) or projectiles. It suggests a potential issue with memory management related to these objects' lifecycles, states, or their interactions within the game world.
Environment:
* **Game:** JKA Movie Battles II
* **Server Executable:** `mbiided.i386` or `openjkded.i386` (both exhibit the same crash signature)
* **Operating System (Server):** Linux (indicated by `/home/container/.local/share/openjk/MBII/jampgamei386.so` path and `libc.so.6`)
* **Gametype:** 7 (consistent across all logs)
Attached Crash Logs (Sanitized Examples):
*Please note: IP addresses, player names, and specific pings have been removed for privacy and brevity, as they do not affect the core technical issue demonstrated by the stack trace.*
---
Description:
Our Movie Battles II dedicated server is experiencing frequent and consistent crashes. All recorded crashes present as a **segmentation fault (Signal Code: 0x0000000B)** with the reason **"address not mapped to object."** This indicates the game attempted to access an invalid memory location.
Steps to Reproduce:
The crashes occur intermittently during regular gameplay, regardless of the specific map or number of players. We have observed it on maps such as `mb2_duel_dotf`, `um_bespin_tournament`, and `um_ns_streets`. There isn't a single, easily repeatable action that consistently triggers the crash.
Expected Behavior:
The server should run stably without unexpected crashes.
Actual Behavior:
The server process terminates abruptly with a segmentation fault, requiring a manual restart.
Technical Analysis:
Upon reviewing multiple crash logs, a highly consistent pattern in the call stack trace has been identified. In every instance, the crash originates within the `jampgamei386.so` library, specifically involving core game logic functions:
* `G_RunObject`
* `G_RunThink`
* `G_RunMissile`
This strong consistency points to a bug within the game's internal handling of dynamic entities (like players, NPCs, items) or projectiles. It suggests a potential issue with memory management related to these objects' lifecycles, states, or their interactions within the game world.
Environment:
* **Game:** JKA Movie Battles II
* **Server Executable:** `mbiided.i386` or `openjkded.i386` (both exhibit the same crash signature)
* **Operating System (Server):** Linux (indicated by `/home/container/.local/share/openjk/MBII/jampgamei386.so` path and `libc.so.6`)
* **Gametype:** 7 (consistent across all logs)
Attached Crash Logs (Sanitized Examples):
*Please note: IP addresses, player names, and specific pings have been removed for privacy and brevity, as they do not affect the core technical issue demonstrated by the stack trace.*
Code:
===================================
JKA Movie Battles II Crash Log
===================================
Process File Name: mbiided.i386
Process ID: 40
Signal Code: 0x0000000B
Signal Reason: address not mapped to object
Exception Address: 0xA9553CD4
-----------------------------------
Register Dump
-----------------------------------
EAX: 0xA9553A40, EBX: 0xE2034434, ECX: 0x00000000
EDX: 0xFFFFFFFF, EBP: 0xFFADEF40, EDI: 0xFFADED00
EIP: 0x080AF088, ESI: 0xE2034440, ESP: 0xFFADEC60
-----------------------------------
Call Stack Trace
-----------------------------------
/home/container/.local/share/openjk/MBII/jampgamei386.so(signal_backtrace+0x2a) [0xe019a87a]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_PrintCallStack+0xb7) [0xe019a957]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_Handler+0x2e0) [0xe019afb0]
.() [0x80af088]
.() [0x80af088]
.() [0x80b54d8]
.() [0x8081840]
/home/container/.local/share/openjk/MBII/jampgamei386.so(trap_Trace+0x7c) [0xe011af2c]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunObject+0x12c) [0xe010d4cc]
/home/container/.local/share/openjk/MBII/jampgamei386.so(+0x1ab2eb) [0xe01c02eb]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunThink+0x81) [0xe00f1aa1]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunMissile+0x2d4) [0xe0101ad4]
/home/container/.local/share/openjk/MBII/jampgamei386.so(vmMain+0x10ad) [0xe00f612d]
.() [0x8081dbc]
.() [0x80b5ff4]
.() [0x80ac312]
.() [0x805cee8]
.() [0x804bec6]
/lib/i386-linux-gnu/libc.so.6(+0x21519) [0xebc82519]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0x93) [0xebc825f3]
.() [0x804bf3c]
-----------------------------------
JKA Information
-----------------------------------
Map: mb2_duel_dotf
Gametype: 7
Server Time: 171200 ms
Map Time: 171200 ms
Scores: 0 0 (Red,Blue)
Players Count: 21/32
(Player list omitted for privacy)
Code:
===================================
JKA Movie Battles II Crash Log
===================================
Process File Name: mbiided.i386
Process ID: 40
Signal Code: 0x0000000B
Signal Reason: address not mapped to object
Exception Address: 0x40056F14
-----------------------------------
Register Dump
-----------------------------------
EAX: 0x40056C80, EBX: 0xE795E2FC, ECX: 0x00000000
EDX: 0xFFFFFFFF, EBP: 0xFFCAB830, EDI: 0xFFCAB5F0
EIP: 0x080AF088, ESI: 0xE795E308, ESP: 0xFFCAB550
-----------------------------------
Call Stack Trace
-----------------------------------
/home/container/.local/share/openjk/MBII/jampgamei386.so(signal_backtrace+0x2a) [0xe5ace89a]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_PrintCallStack+0xb7) [0xe5ace977]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_Handler+0x2e0) [0xe5acefd0]
.() [0x80af088]
.() [0x80af088]
.() [0x80b54d8]
.() [0x8081840]
/home/container/.local/share/openjk/MBII/jampgamei386.so(trap_Trace+0x7c) [0xe5a4ef4c]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunObject+0x12c) [0xe5a414ec]
/home/container/.local/share/openjk/MBII/jampgamei386.so(+0x1ab2fb) [0xe5af42fb]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunThink+0x81) [0xe5a25b11]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunMissile+0x2d4) [0xe5a35af4]
/home/container/.local/share/openjk/MBII/jampgamei386.so(vmMain+0x10ad) [0xe5a2a19d]
.() [0x8081dbc]
.() [0x80b5ff4]
.() [0x80ac312]
.() [0x805cee8]
.() [0x804bec6]
/lib/i386-linux-gnu/libc.so.6(+0x21519) [0xf15b5519]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0x93) [0xf15b55f3]
.() [0x804bf3c]
-----------------------------------
JKA Information
-----------------------------------
Map: mb2_duel_dotf
Gametype: 7
Server Time: 846820 ms
Map Time: 846820 ms
Scores: 0 0 (Red,Blue)
Players Count: 13/32
(Player list omitted for privacy)
Code:
===================================
JKA Movie Battles II Crash Log
===================================
Process File Name: openjkded.i386
Process ID: 60
Signal Code: 0x0000000B
Signal Reason: address not mapped to object
Exception Address: 0xBE59ADBC
-----------------------------------
Register Dump
-----------------------------------
EAX: 0xBE59AB28, EBX: 0xE80E4E84, ECX: 0x00000000
EDX: 0xFFFFFFFF, EBP: 0xFFE289E0, EDI: 0xFFE287A0
EIP: 0x080AF088, ESI: 0xE80E4E90, ESP: 0xFFE28700
-----------------------------------
Call Stack Trace
-----------------------------------
/home/container/.local/share/openjk/MBII/jampgamei386.so(signal_backtrace+0x2a) [0xe614189a]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_PrintCallStack+0xb7) [0xe6141977]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_Handler+0x2e0) [0xe6141fd0]
.() [0x80af088]
.() [0x80af088]
.() [0x80b54d8]
.() [0x8081840]
/home/container/.local/share/openjk/MBII/jampgamei386.so(trap_Trace+0x7c) [0xe60c1f4c]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunObject+0x12c) [0xe60b44ec]
/home/container/.local/share/openjk/MBII/jampgamei386.so(+0x1ab2fb) [0xe61672fb]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunThink+0x81) [0xe6098b11]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunMissile+0x2d4) [0xe60a8af4]
/home/container/.local/share/openjk/MBII/jampgamei386.so(vmMain+0x10ad) [0xe609d19d]
.() [0x8081dbc]
.() [0x80b5ff4]
.() [0x80ac312]
.() [0x805cee8]
.() [0x804bec6]
/lib/i386-linux-gnu/libc.so.6(+0x21519) [0xf1c28519]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0x93) [0xf1c285f3]
.() [0x804bf3c]
-----------------------------------
JKA Information
-----------------------------------
Map: um_bespin_tournament
Gametype: 7
Server Time: 1722330 ms
Map Time: 1722329 ms
Scores: 1 0 (Red,Blue)
Players Count: 30/32
(Player list omitted for privacy)
Code:
===================================
JKA Movie Battles II Crash Log
===================================
Process File Name: openjkded.i386
Process ID: 37
Signal Code: 0x0000000B
Signal Reason: address not mapped to object
Exception Address: 0xA51F5F14
-----------------------------------
Register Dump
-----------------------------------
EAX: 0xA51F5C80, EBX: 0x5951E000, ECX: 0x00000000
EDX: 0xFFFFFFFF, EBP: 0xDEB7A018, EDI: 0xFF890AA0
EIP: 0x594318D7, ESI: 0xFF890CC8, ESP: 0xFF8909D0
-----------------------------------
Call Stack Trace
-----------------------------------
/home/container/.local/share/openjk/MBII/jampgamei386.so(signal_backtrace+0x2a) [0xdcafd89a]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_PrintCallStack+0xb7) [0xdcafd977]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_Handler+0x2e0) [0xdcafdfd0]
.(+0x728d7) [0x594318d7]
.(+0x728d7) [0x594318d7]
.(+0x7a031) [0x59439031]
.(+0x4111b) [0x5940011b]
/home/container/.local/share/openjk/MBII/jampgamei386.so(trap_Trace+0x7c) [0xdca7df4c]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunObject+0x12c) [0xdca704ec]
/home/container/.local/share/openjk/MBII/jampgamei386.so(+0x1ab2fb) [0xdcb232fb]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunThink+0x81) [0xdca54b11]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunMissile+0x2d4) [0xdca64af4]
/home/container/.local/share/openjk/MBII/jampgamei386.so(vmMain+0x10ad) [0xdca5919d]
.(+0x4174a) [0x5940074a]
.(+0x7ac76) [0x59439c76]
.(+0x6f70b) [0x5942e70b]
.(+0x1a012) [0x593d9012]
.(+0x7101) [0x593c6101]
/lib/i386-linux-gnu/libc.so.6(+0x21519) [0xe85e4519]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0x93) [0xe85e45f3]
.(+0x7181) [0x593c6181]
-----------------------------------
JKA Information
-----------------------------------
Map: um_ns_streets
Gametype: 7
Server Time: 3283450 ms
Map Time: 3283449 ms
Scores: 2 1 (Red,Blue)
Players Count: 25/32
(Player list omitted for privacy)
Code:
===================================
JKA Movie Battles II Crash Log
===================================
Process File Name: openjkded.i386
Process ID: 37
Signal Code: 0x0000000B
Signal Reason: address not mapped to object
Exception Address: 0x90F4BF14
-----------------------------------
Register Dump
-----------------------------------
EAX: 0x90F4BC80, EBX: 0x56FC1000, ECX: 0x00000000
EDX: 0xFFFFFFFF, EBP: 0xED9F36D0, EDI: 0xFFCA23B0
EIP: 0x56ED38B7, ESI: 0xFFCA25D8, ESP: 0xFFCA22E0
-----------------------------------
Call Stack Trace
-----------------------------------
/home/container/.local/share/openjk/MBII/jampgamei386.so(signal_backtrace+0x2a) [0xeb97b87a]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_PrintCallStack+0xb7) [0xeb97b957]
/home/container/.local/share/openjk/MBII/jampgamei386.so(Linux_Handler+0x2e0) [0xeb97bfb0]
./openjkded.i386(+0x728b7) [0x56ed38b7]
./openjkded.i386(+0x728b7) [0x56ed38b7]
./openjkded.i386(+0x7a011) [0x56edb011]
./openjkded.i386(+0x4141b) [0x56ea241b]
/home/container/.local/share/openjk/MBII/jampgamei386.so(trap_Trace+0x7c) [0xeb8fbf2c]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunObject+0x12c) [0xeb8ee4cc]
/home/container/.local/share/openjk/MBII/jampgamei386.so(+0x1ab2eb) [0xeb9a12eb]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunThink+0x81) [0xeb8d2aa1]
/home/container/.local/share/openjk/MBII/jampgamei386.so(G_RunMissile+0x2d4) [0xeb8e2ad4]
/home/container/.local/share/openjk/MBII/jampgamei386.so(vmMain+0x10ad) [0xeb8d712d]
./openjkded.i386(+0x41a4a) [0x56ea2a4a]
./openjkded.i386(+0x7ac56) [0x56edbc56]
./openjkded.i386(+0x6f6fb) [0x56ed06fb]
./openjkded.i386(+0x1a102) [0x56e7b102]
./openjkded.i386(+0x7101) [0x56e68101]
/lib/i386-linux-gnu/libc.so.6(+0x21519) [0xf7463519]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0x93) [0xf74635f3]
./openjkded.i386(+0x7181) [0x56e68181]
-----------------------------------
JKA Information
-----------------------------------
Map: um_ns_streets
Gametype: 7
Server Time: 749900 ms
Map Time: 749900 ms
Scores: 0 0 (Red,Blue)
Players Count: 14/32
(Player list omitted for privacy)
---