Unconfirmed Frequent Server Crashes: Consistent Segmentation Fault in jampgamei386.so

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.*

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)

---
 

Defiant

Nerd
Project Leader
Movie Battles II Team
Code Leader
Posts
1,118
Likes
1,670
Did these all happen when spin was enabled?
 

Leons

Movie Battles II Team
Posts
426
Likes
640
Did these all happen when spin was enabled?
I can say that spin was not enabled and there were no sorts of weapons other than a lightsaber in duel mode used. Those crashlogs are from the last 2-3 days
 
Posts
2
Likes
5
Isn't G_RunMissile also responsible for handling saber throws? My apologies for missing the dates in the crash logs.
 

Defiant

Nerd
Project Leader
Movie Battles II Team
Code Leader
Posts
1,118
Likes
1,670
Everything in that stack is responsible for many things.
 
Top