Final Fantasy IX (U) crash at Cards menu.
Describe the bug
The game hangs, crashes and takes whole emulator with it whenever the Cards menu is being called (Triangle -> Cards). The other menu entries seems to work just fine.
Expected behavior
After checking with two different emulators to be sure, there should appear a grid of sort, 10x10 with icons of collected cards so far, their amount and some information on each of them.
Steps to reproduce the bug
- Arrive in the city early in the game.
- Press Triangle Button to open main menu.
- Go down to Cards entry and press X to open it.
Operating System
Fedora 42 (RPI5) | Fedora 41 (PC)
PCSX-Redux version
Compiled on 22nd May 2025 from source up to date for 18th May 2025, both for RPI5 and PC, thus double information filled.
CPU model
Broadcom BCM2712 (RPI5) | AMD Ryzen 9 5950X (PC)
GPU model & Drivers
Broadcom V3D 7.1.10.2 Mesa 25.0.4 (RPI5) | AMD Radeon RX 6700 XT Mesa 25.0.4 (PC)
BIOS version
SCPH5502
Options
- [x] Dynarec CPU
- [ ] 8MB
- [ ] OpenGL GPU
- [ ] Fastboot
- [ ] Debugger
Iso checks
Disc 1 bin file CRC32 is 49521342 which fits with the data on the website.
Logs
No response
Additional information
Initially the crash happened on RPI5 so I have compiled the same version / state of the code on PC to make sure it's not something on my side. After it crashed as well on PC I have checked two other emulators to make sure the disc image is not somehow damaged and these emulators managed to get into the Cards menu just fine.
I have also tried to do some debugging on Linux side but I'm not well versed in this so it's a bit of "guessing" here but maybe the emulator crashes somewhere in "GPU" and/or "DMA" area.
The crash itself is the ugly generic error which I think translated as: Memory access violation (memory dumped) or something among those lines.
FWIW, I was able to reproduce this on Arch Linux (amd64) also. I've attached a coredump:
Core was generated by `/opt/pcsx-redux/pcsx-redux'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00005575c340e7ec in PCSX::GPU::directDMARead (this=0x5575f113f060,
dest=0x7fa7979ae004, transferSize=<optimized out>, transferSize@entry=432,
hwAddr=hwAddr@entry=2061676) at src/core/gpu.cc:702
702 *dest++ = m_dataRet;
[Current thread is 1 (Thread 0x7fa7daf940c0 (LWP 340122))]
(gdb) bt
#0 0x00005575c340e7ec in PCSX::GPU::directDMARead
(this=0x5575f113f060, dest=0x7fa7979ae004, transferSize=<optimized out>,
transferSize@entry=432, hwAddr=hwAddr@entry=2061676) at src/core/gpu.cc:702
#1 0x00005575c341338e in PCSX::GPU::dma
(this=<optimized out>, madr=madr@entry=2061676, bcr=bcr@entry=1769488, chcr=chcr@entry=16777728) at src/core/gpu.cc:515
#2 0x00005575c34d9300 in PCSX::HW::dma2
(this=<optimized out>, madr=<optimized out>, bcr=1769488, chcr=16777728)
at /usr/include/c++/15.1.1/bits/unique_ptr.h:193
#3 PCSX::HW::dmaExec<2u> (this=<optimized out>, chcr=16777728)
at src/core/psxhw.h:65
#4 PCSX::HW::write32
(this=<optimized out>, add=<optimized out>, value=16777728)
at src/core/psxhw.cc:700
#5 0x00005575c68a2cb0 in s_codeCache ()
#6 0x00007ffcadc2eba0 in ??? ()
#7 0x0000000000000000 in ??? ()
core.gz
(note: the core.gz file is compressed with xz but GitHub didn't allow me to upload with an xz extension, so I renamed the file to gz)