Bug #1135
Assertion failure in Spc_Cpu.cc
100%
Description
When playing the attached .spc file (from Super Famicompo 3) in audacious-git (d32136dac2c6ad26e52babf468e3ca63152d8a73), Audacious crashes with message:
audacious: Spc_Cpu.cc:498: int Snes_Spc::cpu_read(int, Snes_Spc::rel_time_t): Assertion `reg + (r_t0out + 0xF0 - 0x10000) < 0x100' failed.
The failed assertion is at https://github.com/audacious-media-player/audacious-plugins/blob/22a0c2d7f353e5f1312632d107cb053fca4dc8c1/src/console/Spc_Cpu.cc#L498.
mpyne's libgme has the same assertion at https://bitbucket.org/mpyne/game-music-emu/src/b3d158a30492181fd7c38ef795c8d4dcfd77eaa9/gme/Spc_Cpu.cpp#lines-482.
kode54's libgme uses Higan's S-SMP and doesn't contain Blargg's Spc_Cpu.{cpp,cc}: https://bitbucket.org/losnoco/game_music_emu/src/master/gme/higan/
Blargg's CPU emulator is... less than secure (https://scarybeastsecurity.blogspot.com/2016/12/redux-compromising-linux-using-snes.html), though Audacious's copy has been patched. I didn't look into how to resolve this assertion error though.
History
#1 Updated by John Lindgren about 3 years ago
- % Done changed from 0 to 100
- Status changed from New to Closed
- Category set to plugins/console
- Subject changed from Assertion failure in to Assertion failure in Spc_Cpu.cc
I have no idea if this is the correct fix or not, but it seems to allow the file to play:
https://github.com/audacious-media-player/audacious-plugins/commit/c6257f9d5c3c68ba80003915270417336d65f741
#2 Updated by John Lindgren almost 3 years ago
- Target version set to 4.2
- Affects version 4.1 added