Opened 20 years ago

Closed 4 years ago

#1631 closed defect (fixed)

SCUMM: FT - Frequent crashing

Reported by: SF/cloney Owned by: lotharsm
Priority: high Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Full Throttle

Description

In the latest CVS (built 20th May), Full Throttle is crashing every few minutes. There doesn't seem to be any set place where crashes occur, but I did discover a situation where set actions after an autosave would cause a crash, when picking up the welding torch. Interestingly though, if I saved before picking up the torch, then loaded this game from a fresh copy of ScummVM, the crash didn't occur.

Perhaps something is not being cleared/freed properly, causing overflow of some kind?

This wasn't noticable in the first part of the game, and only really occurred after being rescued by Mo and trying to find bike parts.

Gentoo Linux 2.6.5 kernel ALSA Full Throttle, FLAC encoded Monster.sou, compress_san used on video directory but NOT data. Compression done using latest CVS scummvm tools

Here's the last ten lines of a crash caught with -d9:

Script 30, offset 0x10: [3] o6_pushWordVar() readvar(22) Script 30, offset 0x13: [5D] o6_ifNot() Script 30, offset 0xf: [6C] o6_breakHere() getResourceAddress(Script,268) == 0x8464f1c Script 268, offset 0x9b: [CA] o6_delayFrames() getResourceAddress(Script,265) == 0x841a3ec Script 265, offset 0x24: [1] o6_pushWord() Script 265, offset 0x27: [98] o6_isSoundRunning() Locking mutex IMuseDigital::getSoundStatus()

Cloney

Ticket imported from: #957640. Ticket imported from: bugs/1631.

Attachments (2)

ft.txt (2.5 KB ) - added by Kirben 20 years ago.
Valgrind log
ft.s03 (5.3 KB ) - added by Kirben 20 years ago.
Save game

Download all attachments as: .zip

Change History (19)

by Kirben, 20 years ago

Attachment: ft.txt added

Valgrind log

comment:1 by Kirben, 20 years ago

I get a reproducable crash when picking up the welding torch under in Full Throttle with latest ScummVM cvs under Windows. I have attached a save game at that point of game and a valgrind log which reports several invalid reads.

comment:2 by Kirben, 20 years ago

Owner: set to aquadran

by Kirben, 20 years ago

Attachment: ft.s03 added

Save game

comment:3 by fingolfin, 20 years ago

Priority: normalhigh

comment:4 by fingolfin, 20 years ago

Summary: Frequent FT crashingFT: Frequent crashing

comment:5 by eriktorbjorn, 20 years ago

I had an iMUSE-related crash a few times yesterday when getting the welding torch. But just as I thought it was reproducable, it suddenly stopped.

On this particular computer, with the most recent CVS snapshot, I can't even get the keys from the bartender at the beginning of the game. I don't know if it's related to the other crashes mentioned here, but this is what the backtrace looks like:

#0 0x77c42f43 in _libwinmm_a_iname () #1 0x00000372 in ?? () #2 0x004b2c44 in Scumm::ImuseDigiSndMgr::getDataFromRegion(Scumm::ImuseDigiSndMgr::soundStruct*, int, unsigned char**, int, int) (this=0x1604018, soundHandle=0x1604064, region=0, buf=0x18efd3c, offset=311346, size=882) at scumm/imuse_digi/dimuse_sndmgr.cpp:509 #3 0x0049a367 in Scumm::IMuseDigital::callback() (this=0x1603c80) at scumm/imuse_digi/dimuse.cpp:269 #4 0x004993a2 in Scumm::IMuseDigital::timer_handler(void*) (refCon=0x1603c80) at scumm/imuse_digi/dimuse.cpp:41 #5 0x00625ab1 in Timer::handler(int) (this=0x1590ce0, t=10) at common/timer.cpp:93 #6 0x00625940 in Timer::timer_handler(int) (t=10) at common/timer.cpp:73 #7 0x6acb47bd in callback_wrapper (ms=10, param=0x625920) at SDL_timer.c:252 #8 0x6acb449a in SDL_ThreadedTimerCheck () at SDL_timer.c:137 #9 0x6acb499a in HandleAlarm (uID=16, uMsg=0, dwUser=0, dw1=0, dw2=0) at SDL_systimer.c:180 #10 0x76b42271 in _libwinmm_a_iname () #11 0x76b49e64 in _libwinmm_a_iname () #12 0xfa76e850 in ?? ()

comment:6 by eriktorbjorn, 20 years ago

Actually, right now just about *everything* that causes the music to change from one tune to another seems to trigger the crash for me.

comment:7 by aquadran, 20 years ago

please test with latest cvs, i added better fix for sound resource locking but i think it's not 100% good enough

comment:8 by Kirben, 20 years ago

Unfortunately still crashes at that point.

comment:9 by eriktorbjorn, 20 years ago

At least some Digital iMUSE crashes seem to be related to the music resource being used after it has been expired. See my comment to bug #962666. But it's probably not the only explanation.

comment:10 by aquadran, 20 years ago

can you test with latest dev cvs ?

comment:11 by Kirben, 20 years ago

The ScummVM crash when picking up torch no longer occurs.

comment:12 by Kirben, 20 years ago

Resolution: fixed
Status: newclosed

comment:13 by lotharsm, 5 years ago

closed by mistake.

Last edited 5 years ago by lotharsm (previous) (diff)

comment:14 by lotharsm, 5 years ago

Resolution: fixed
Status: closednew

comment:15 by raziel-, 4 years ago

Summary: FT: Frequent crashingSCUMM: FT - Frequent crashing

@Kirben
@lotharsm

Then again, the crash described by OP (picking up the welding troch) seems to indeed be fixed.

Can this be closed?

comment:16 by lotharsm, 4 years ago

Yes, it's outdated and obsolete. Closing.

comment:17 by lotharsm, 4 years ago

Owner: changed from aquadran to lotharsm
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.