Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05858 Crash/Freeze Critical (emulator) Always Feb 26, 2015, 10:22 5 days ago
Tester Firewave View Status Public Platform MESS (Self-compiled)
Assigned To Resolution Open OS Linux
Status [?] Acknowledged Driver
Version 0.159 Fixed in Version Build Debug
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 05858: n64dd, n64 [various carts]: [debug] Assertion on Linux
Description
MAME exception: Fatal error: offset_from_rbp: delta out of range
Caused by assert: src/emu/cpu/drcbex64.c:514: (INT32)delta == delta

This is a Linux-only issue and affects n64dd and n64 with certain carts (e.g. cart 007goldnu).
Steps To Reproduce
Additional Information
Github Commit
Flags Debug build specific
Regression Version
Affected Sets / Systems n64dd, n64 [various carts]
Attached Files
 
Relationships
related to 05859Acknowledged all aleck64.c sets: [debug] Assertion on Linux 
Notes
2
User avatar
No.23221
cuavas
Administrator
5 days ago
edited on: 5 days ago
This happens when you use MEM for addresses that aren’t guaranteed to be near the base pointer. It isn’t specific to debug builds, it will just silently access the wrong address in non-debug builds causing incorrect results and memory corruption.

It needs to be changed to either make sure stuff it wants to access with MEM lives somewhere it can reach it, or change it to use UML_LOAD/UML_STORE for random heap addresses.
User avatar
No.23222
cuavas
Administrator
5 days ago
But anyway, without knowing the actual code it’s trying to recompile when this happens it’s going to be like searching for a needle in a haystack.