Project

General

Profile

Bug #1135

Assertion failure in Spc_Cpu.cc

Added by Nyan Pasu about 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Major
Assignee:
-
Category:
plugins/console
Target version:
Start date:
November 09, 2021
Due date:
% Done:

100%

Estimated time:
Affects version:

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.

Orig34.spc (64.7 KB) Orig34.spc Nyan Pasu, November 09, 2021 00:10

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

Also available in: Atom PDF