Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#1427 closed defect (fixed)

FT: Intro crash (regression)

Reported by: eriktorbjorn Owned by: sev-
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Full Throttle


When I try to run the Full Throttle intro with today's CVS snapshot, compiled under MinGW, it crashes after the line "You know Ben, we're broke." with the following backtrace:

#0 0x77f596cf in _libwinmm_a_iname () #1 0x03244be8 in ?? () #2 0x77f591d4 in _libwinmm_a_iname () #3 0x77f8520d in _libwinmm_a_iname () #4 0x77f9e227 in _libwinmm_a_iname () #5 0x77f85010 in _libwinmm_a_iname () #6 0x77f58b37 in _libwinmm_a_iname () #7 0x77c2ab2e in _libwinmm_a_iname () #8 0x0048d5d5 in Scumm::SmushPlayer::handleFrameObject(Scumm::Chunk&) ( this=0x2508290, b=@0x2513fc8) at scumm/smush/smush_player.cpp:725 #9 0x0048d7c1 in Scumm::SmushPlayer::handleFrame(Scumm::Chunk&) ( this=0x2508290, b=@0x310ae60) at scumm/smush/smush_player.cpp:748 #10 0x0048e0e1 in Scumm::SmushPlayer::parseNextFrame() (this=0x2508290) at scumm/smush/smush_player.cpp:876 #11 0x0048b7b8 in Scumm::SmushPlayer::timerCallback(void*) (refCon=0x2508290) at scumm/smush/smush_player.cpp:211 #12 0x005e3761 in Timer::handler(int) (this=0x3fe098, t=10) at common/timer.cpp:99 #13 0x005e35f8 in Timer::timer_handler(int) (t=10) at common/timer.cpp:79 #14 0x1003474d in callback_wrapper (ms=10, param=0x5e35d8) at SDL_timer.c:252 #15 0x1003442a in SDL_ThreadedTimerCheck () at SDL_timer.c:137 #16 0x1003410a in HandleAlarm (uID=16, uMsg=0, dwUser=0, dw1=0, dw2=0) at SDL_systimer.c:180 #17 0x76b42271 in _libwinmm_a_iname () #18 0x76b49e64 in _libwinmm_a_iname () #19 0x0296e850 in ?? ()

Line 725 is simply free(chunk_buffer); so there's probably some memory corruption going on. I haven't looked into it any further than that, though.

Ticket imported from: #887536. Ticket imported from: bugs/1427.

Attachments (1)

valgrind-output.txt (10.6 KB ) - added by SF/olki 17 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 by eriktorbjorn, 17 years ago

Fortunately you don't have to sit through the first half of the intro. Pressing Esc once should advance the intro to shortly before the crash.

I believe codec is 37 right before the crash, but of course the corruption could have happened before that. Perhaps someone could valgrind the intro?

comment:2 by fingolfin, 17 years ago

Owner: set to aquadran

by SF/olki, 17 years ago

Attachment: valgrind-output.txt added

comment:3 by SF/olki, 17 years ago

I attached a valgrind report

comment:4 by sev-, 17 years ago

Owner: changed from aquadran to sev-
Status: newclosed

comment:5 by sev-, 17 years ago

This has nothing to do with codec37. Just stack apparently gets overwritten andbacktrace is wrong. This was caused my changes to smush player so it can draw overlayed frames used in FT INSANE sequences.

I restricted it to be insane-only, as .san files (smush video) have smaller frames which serve unknown purpose at the moment.

Bug is fixed.

comment:6 by fingolfin, 17 years ago

Resolution: fixed
Note: See TracTickets for help on using tickets.