Opened 8 years ago

Closed 8 years ago

#6918 closed defect (fixed)

SHERLOCK: Crash when skipping intro

Reported by: eriktorbjorn Owned by: dreammaster
Priority: normal Component: Engine: Sherlock
Version: Keywords:
Cc: Game: Sherlock Holmes: Case of the Rose Tattoo


I've only had this happen to me once, and I don't know how to reproduce it, but when I pressed Escape during the intro ScummVM crashed for me. I was running Valgrind at the time, and here's the error message I got:

~~~~ ==30039== Invalid read of size 8 ==30039== at 0x13AF2ED: Sherlock::StreamingImageFile::getNextFrame() (image_file.cpp:1056) ==30039== by 0x13875F6: Sherlock::Tattoo::TattooScene::startCAnim(int, int) (tattoo_scene.cpp:678) ==30039== by 0x134ACFC: Sherlock::Talk::cmdRunCAnimation(unsigned char const&) (talk.cpp:1085) ==30039== by 0x1349B1A: Sherlock::Talk::doScript(Common::String const&) (talk.cpp:755) ==30039== by 0x1347F3C: Sherlock::Talk::talkTo(Common::String) (talk.cpp:346) ==30039== by 0x1388E0E: Sherlock::Tattoo::TattooTalk::talkTo(Common::String) (tattoo_talk.cpp:195) ==30039== by 0x13430FC: Sherlock::SherlockEngine::sceneLoop() (sherlock.cpp:176) ==30039== by 0x134303B: Sherlock::SherlockEngine::run() (sherlock.cpp:165) ==30039== by 0x40D06E: runGame(PluginSubclass const, OSystem&, Common::String const&) (main.cpp:244) ==30039== by 0x40E077: scummvm_main (main.cpp:489) ==30039== by 0x40BBD7: main (posix-main.cpp:45) ==30039== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==30039== ==30039== ==30039== Process terminating with default action of signal 11 (SIGSEGV) ~~~~

So apparently there was no stream to read from when trying to get the next frame?

Ticket imported from: bugs/6918.

Change History (2)

comment:1 by dreammaster, 8 years ago

Thanks for that. You're probably right; I'll look into it further tonight. Valgrind is actually a good idea; I get the feeling that a lot of the reported unreproducable errors may be due to memory corruption elsewhere that Valgrind may be able to detect. Maybe a more lengthy Valgrind session will turn other problems up.

comment:2 by dreammaster, 8 years ago

Owner: set to dreammaster
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.