[ scummvm-Bugs-1726120 ] FREDDI1: Very rare crash on startup

SourceForge.net noreply at sourceforge.net
Sat May 26 17:43:34 CEST 2007


Bugs item #1726120, was opened at 2007-05-26 17:43
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=1726120&group_id=37116

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Unknown Crash/Other
Group: Freddi Fish 1
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Torbjörn Andersson (eriktorbjorn)
Assigned to: Nobody/Anonymous (nobody)
Summary: FREDDI1: Very rare crash on startup

Initial Comment:
Latest SVN snapshot
Swedish Freddi 1

Sometimes - say, once in several dozen attempts - ScummVM crashes instantly for me when I start Freddi Fish 1.

Annoyingly, the generated core file is very unhelpful:

Program terminated with signal 11, Segmentation fault.
#0  0xb7dc128b in crc32 () from /usr/lib/libz.so.1
(gdb) bt
#0  0xb7dc128b in crc32 () from /usr/lib/libz.so.1
#1  0xb7dc40a9 in ?? () from /usr/lib/libz.so.1
#2  0x00000000 in ?? ()

Running Valgrind, I do get a number of warnings about uninitialized variables in deflate(), like this:

==3860== Thread 1:
==3860== Conditional jump or move depends on uninitialised value(s)
==3860==    at 0x815623C: CompressedOutSaveFile::processData(int) (compressed-saves.cpp:184)
==3860==    by 0x8156288: CompressedOutSaveFile::finalize() (compressed-saves.cpp:241)
==3860==    by 0x81563D7: CompressedOutSaveFile::~CompressedOutSaveFile() (compressed-saves.cpp:221)
==3860==    by 0x4CBBC47: Scumm::ScummEngine_v60he::o60_closeFile() (script_v60he.cpp:1031)
==3860==    by 0x4D8EADB: Scumm::ScummEngine_v72he::executeOpcode(unsigned char) (script_v72he.cpp:375)
==3860==    by 0x4D1EAEE: Scumm::ScummEngine::executeScript() (script.cpp:474)
==3860==    by 0x4D1ED87: Scumm::ScummEngine::runScriptNested(int) (script.cpp:340)
==3860==    by 0x4D1F0DE: Scumm::ScummEngine::runScript(int, bool, bool, int*, int) (script.cpp:88)
==3860==    by 0x4D90FB3: Scumm::ScummEngine_v72he::o72_startScript() (script_v72he.cpp:861)
==3860==    by 0x4D8EADB: Scumm::ScummEngine_v72he::executeOpcode(unsigned char) (script_v72he.cpp:375)
==3860==    by 0x4D1EAEE: Scumm::ScummEngine::executeScript() (script.cpp:474)
==3860==    by 0x4D1ED87: Scumm::ScummEngine::runScriptNested(int) (script.cpp:340)

And when I added debug printf()s before and after the line "delete _hOutFileTable[slot];" in o60_closeFile(), when it crashed the message before was printed, but not the message after.

I have no idea what's causing this. It seems the game tries to create a test file - possibly to verify the savegame path - but the script I suspect is doing it won't descumm properly for me.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=1726120&group_id=37116




More information about the Scummvm-tracker mailing list