[Scummvm-tracker] [ScummVM :: Bugs] #16443: SWORD1: File::open() assertion in prepareMusicStreaming() (PSX demo)
ScummVM :: Bugs
trac at scummvm.org
Thu Jan 8 23:00:37 UTC 2026
#16443: SWORD1: File::open() assertion in prepareMusicStreaming() (PSX demo)
---------------------------+----------------------------
Reporter: dwatteau | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: Sword1
Version: | Keywords:
Game: Broken Sword 1 |
---------------------------+----------------------------
On either `master` or `branch-3-0`, I'm seeing an `assert()` being
triggered with the PSX demo of Broken Sword 1.
To reproduce:
1. Build in debug, non-release mode (so that `assert()`'s are not turned
off)
2. Start the PSX demo (see `word1-psx-demo-en.zip` on our demos page)
3. In the intro video (where the character speaks over a black screen),
press Esc to skip it
4. Once he's also done talking in the first room, press Esc again
5. The in-game menu will then open: hit "Done" to return to the game
6. Go inside the café
(tl;dr: spam Esc and go into the café)
The game will crash with the following kind of backtrace:
{{{
[...]
#4 0xa756b67c in __assert_fail_base (fmt=0xa76f662c "%s%s%s:%u:
%s%sAssertion `%s' failed.\n%n", assertion=assertion at entry=0xceb0c4
"!_handle", file=file at entry=0xceb0a0 "common/file.cpp",
line=line at entry=46, function=function at entry=0xceb058 "virtual bool
Common::File::open(const Common::Path&, Common::Archive&)") at assert.c:92
#5 0xa756b704 in __GI___assert_fail (assertion=0xceb0c4 "!_handle",
file=0xceb0a0 "common/file.cpp", line=46, function=0xceb058 "virtual bool
Common::File::open(const Common::Path&, Common::Archive&)") at
assert.c:101
#6 0x00af2e2c in Common::File::open(Common::Path const&,
Common::Archive&) (this=0x126f6dc, filename=..., archive=...) at
common/file.cpp:46
#7 0x00af2d78 in Common::File::open(Common::Path const&) (this=0x126f6dc,
filename=...) at common/file.cpp:41
#8 0x0074e2a0 in Sword1::Sound::prepareMusicStreaming(Common::Path
const&, int, int, unsigned int, signed char, Sword1::MusCompMode)
(this=0x126f480, filename=..., newHandleId=0, tuneId=7, volume=144, pan=0
'\000', assignedMode=Sword1::MusPSX) at engines/sword1/sound.cpp:991
#9 0x0074fb28 in Sword1::Sound::streamMusicFile(int, int)
(this=0x126f480, tuneId=7, looped=0) at engines/sword1/sound.cpp:1187
[...]
}}}
(full GDB trace below.)
(Also, ThreadSanitizer reports several problems when running the demo, but
it may just be an unrelated thing.)
--
Ticket URL: <https://bugs.scummvm.org/ticket/16443>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list