Opened 10 years ago

Closed 10 years ago

#6659 closed defect (fixed)

INDY3: Rare assertion in AdLib player

Reported by: eriktorbjorn Owned by: lordhoto
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Indiana Jones 3

Description

Current Git snapshot, English VGA version of the game.

Very occasionally, the new AdLib player will trip the following assertion when Indy changes clothes after climing out a window in Castle Brunwald:

scummvm: engines/scumm/players/player_ad.cpp:324: void Scumm::Player_AD::freeHWChannel(int): Assertion `_hwChannels[channel].allocated' failed.

It happened the first time I tried it, but I don't know how many times I had to try for it to happen a second time, let alone a third when I finally tried it in GDB. I can only assume it is some interaction between the music and the random (?) sound effects. Anyway, here is the backtrace I finally got:

#0  0xb7fde424 in __kernel_vsyscall ()
#1  0xb77df527 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2  0xb77e28a3 in __GI_abort () at abort.c:89
#3  0xb77d88a7 in __assert_fail_base (
    fmt=0xb79131b4 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x942e58c "_hwChannels[channel].allocated", 
    file=file@entry=0x942e568 "engines/scumm/players/player_ad.cpp", 
    line=line@entry=324, 
    function=function@entry=0x942e9a0 <Scumm::Player_AD::freeHWChannel(int)::__PRETTY_FUNCTION__> "void Scumm::Player_AD::freeHWChannel(int)") at assert.c:92
#4  0xb77d8957 in __GI___assert_fail (
    assertion=0x942e58c "_hwChannels[channel].allocated", 
    file=0x942e568 "engines/scumm/players/player_ad.cpp", line=324, 
    function=0x942e9a0 <Scumm::Player_AD::freeHWChannel(int)::__PRETTY_FUNCTION__> "void Scumm::Player_AD::freeHWChannel(int)") at assert.c:101
#5  0x0814e3a0 in Scumm::Player_AD::freeHWChannel (this=0x9edec90, channel=1)
    at engines/scumm/players/player_ad.cpp:324
#6  0x0814f854 in Scumm::Player_AD::stopSfx (this=0x9edec90, sfx=0x9edef18)
    at engines/scumm/players/player_ad.cpp:843
#7  0x0814e2f6 in Scumm::Player_AD::allocateHWChannel (this=0x9edec90, 
    priority=118, owner=0x9edef18) at engines/scumm/players/player_ad.cpp:311
#8  0x0814f5c4 in Scumm::Player_AD::startSfx (this=0x9edec90, sfx=0x9edef18, 
    resource=0xa09dc50 "v") at engines/scumm/players/player_ad.cpp:779
#9  0x0814dad2 in Scumm::Player_AD::startSound (this=0x9edec90, sound=58)
    at engines/scumm/players/player_ad.cpp:137
#10 0x08082185 in Scumm::Sound::playSound (this=0x9ee6410, soundID=58)
    at engines/scumm/sound.cpp:406
#11 0x08081652 in Scumm::Sound::processSoundQueues (this=0x9ee6410)
    at engines/scumm/sound.cpp:141
#12 0x080815e9 in Scumm::Sound::processSound (this=0x9ee6410)
    at engines/scumm/sound.cpp:128
#13 0x0807f4a3 in Scumm::ScummEngine::scummLoop_handleSound (this=0x9fe65f8)
    at engines/scumm/scumm.cpp:2442
#14 0x0807e86c in Scumm::ScummEngine::scummLoop (this=0x9fe65f8, delta=6)
    at engines/scumm/scumm.cpp:2224
#15 0x0807de35 in Scumm::ScummEngine::go (this=0x9fe65f8)
    at engines/scumm/scumm.cpp:2024
#16 0x08080216 in Scumm::ScummEngine::run (this=0x9fe65f8)
    at ./engines/scumm/scumm.h:420
#17 0x08051f5c in runGame (plugin=0x9ecdce8, system=..., edebuglevels=...)
    at base/main.cpp:244
#18 0x08052fd3 in scummvm_main (argc=2, argv=0xbffff364) at base/main.cpp:489
#19 0x08050ac4 in main (argc=2, argv=0xbffff364)
    at backends/platform/sdl/posix/posix-main.cpp:45

Ticket imported from: bugs/6659.

Attachments (1)

indy3-vga.s12 (16.0 KB ) - added by eriktorbjorn 10 years ago.

Download all attachments as: .zip

Change History (4)

by eriktorbjorn, 10 years ago

Attachment: indy3-vga.s12 added

comment:1 by lordhoto, 10 years ago

Owner: set to lordhoto
Resolution: fixed
Status: newpending

comment:2 by lordhoto, 10 years ago

I think this should be gone with the combination of 5be5f36aa90ecb09cde5a3d207860906bb6975f6 and a21c9ef913179fcceef82e2e926e8fc78665f8b0. At last I was not able to reproduce it anymore... Please try to check whether you can still reproduce it.

comment:3 by lordhoto, 10 years ago

Status: pendingclosed
Note: See TracTickets for help on using tickets.