Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#9905 closed defect (fixed)

MOHAWK: Riven: Temple Island Chair Crash

Reported by: dafioram Owned by: bgK
Priority: high Component: Engine: Mohawk
Version: Keywords:
Cc: Game: Riven

Description

ScummVM: 1.10.0git-3674-g02dec19 64bit
Game: Riven DVD 10th-Anniversary/v1.2 Windows/English
Tester OS: Win7-64

Pull lever to open door and then sit in chair.

First reported in #9873 by angstsmurf.

angstsmurf:
That is correct. The game crashes if you just turn around towards the chair after opening the door. But that is a different error message (Assertion failed: (_pos >= _begin), function seek, file common/stream.cpp, line 255. Abort trap: 6), so perhaps that should be a separate bug report?

When you see the hand cursor change to the pointer thats when the game crashes. http://sendvid.com/5of4wmji

Attachments (1)

riven-001.rvn (13.3 KB ) - added by dafioram 7 years ago.
save at chair.

Download all attachments as: .zip

Change History (6)

by dafioram, 7 years ago

Attachment: riven-001.rvn added

save at chair.

comment:1 by dafioram, 7 years ago

This is the same as #9734.

comment:2 by bgK, 7 years ago

Thanks for the report. I was able to reproduce the crash. Here is the backtrace:

#4  0x00000000006a61ee in Common::SeekableSubReadStream::seek (this=0x3017130, offset=-1, whence=0) at ../common/stream.cpp:255
        __PRETTY_FUNCTION__ = "virtual bool Common::SeekableSubReadStream::seek(int32, int)"
        ret = false
#5  0x000000000069dea9 in Common::QuickTimeParser::readDefault (this=0x3017038, atom=...) at ../common/quicktime.cpp:245
        total_size = 0
        a = {type = 1951223638, offset = 0, size = 0}
        err = 0
#6  0x000000000069d580 in Common::QuickTimeParser::parseStream (this=0x3017038, stream=0x3017158, disposeFileHandle=DisposeAfterUse::YES)
    at ../common/quicktime.cpp:104
        atom = {type = 0, offset = 0, size = 4294967295}
#7  0x0000000000582347 in Video::QuickTimeDecoder::loadStream (this=0x3016f90, stream=0x3017158) at ../video/qt_decoder.cpp:68
No locals.
#8  0x000000000046f599 in Mohawk::RivenVideo::load (this=0x300f860, id=13) at ../engines/mohawk/riven_video.cpp:66
No locals.
#9  0x000000000046696f in Mohawk::RivenSimpleCommand::activateMLST (this=0x300e120, mlstRecord=...) at ../engines/mohawk/riven_scripts.cpp:640
        ptr = 0x300f860
#10 0x0000000000466915 in Mohawk::RivenSimpleCommand::activateMLST (this=0x300e120, op=46, args=...) at ../engines/mohawk/riven_scripts.cpp:635
        mlstRecord = {index = 12, movieID = 13, playbackSlot = 1, left = 0, top = 0, lowBoundTime = 0, startTime = 0, highBoundTime = 65535, 
          loop = 0, volume = 355, rate = 1}

comment:3 by dafioram, 7 years ago

This bug is still present in 1.10.0git-3707-g6a16dfa (not that 31d428fd022686e4a1918b6c7748265f209a7952 was meant to solve this).

comment:4 by bgK, 7 years ago

Owner: set to bgK
Resolution: fixed
Status: newclosed

This was fixed by commit 93c75a4. As usual the next daily build will have this change.

comment:5 by ctoroman, 7 years ago

Thank you for your work! :)

Note: See TracTickets for help on using tickets.