Menu

#6112 DREAMWEB: Crash after Intro on OS X

Dreamweb
closed-fixed
7
2016-03-05
2012-08-02
No

ScummVM 1.5.0 stable
OS X 10.8.0
The game crashes right after the third intro sequence (the credits and tiles) with this error on console

User picked target 'dreamweb-it' (gameid 'dreamweb')...
Looking for a plugin supporting this gameid... DreamWeb engine
Starting 'DreamWeb'
scummvm(1294,0xac617a28) malloc: *** error for object 0x8922cb4: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Bus error: 10

Any other game seems working fine

Discussion

<< < 1 2 (Page 2 of 2)
  • Oystein Eftevaag

    User picked target 'dreamweb' (gameid 'dreamweb')...
    Looking for a plugin supporting this gameid... DreamWeb engine
    Starting 'DreamWeb'
    scummvm-static(445,0xac583a28) malloc: *** error for object 0x1141ccb4: pointer being freed was not allocated
    *** set a breakpoint in malloc_error_break to debug

    Program received signal EXC_BAD_ACCESS, Could not access memory.
    Reason: KERN_PROTECTION_FAILURE at address: 0x00000004
    DreamWeb::DreamWebEngine::showAllObs (this=0x11400000) at ../scummvm/common/list.h:196
    196 pos = pos->_next;
    (gdb) bt
    #0 DreamWeb::DreamWebEngine::showAllObs (this=0x11400000) at ../scummvm/common/list.h:196
    #1 0x0029c4b2 in DreamWeb::DreamWebEngine::drawFloor (this=0x11400000) at ../scummvm/engines/dreamweb/stubs.cpp:2115
    #2 0x0029d31f in DreamWeb::DreamWebEngine::startup (this=0x11400000) at ../scummvm/engines/dreamweb/stubs.cpp:808
    #3 0x0029d381 in DreamWeb::DreamWebEngine::startup1 (this=0x11400000) at ../scummvm/engines/dreamweb/stubs.cpp:822
    #4 0x002a083d in DreamWeb::DreamWebEngine::dreamweb (this=0x11400000) at ../scummvm/engines/dreamweb/stubs.cpp:667
    #5 0x00295858 in DreamWeb::DreamWebEngine::run (this=0x11400000) at ../scummvm/engines/dreamweb/dreamweb.cpp:379
    #6 0x00006573 in runGame (plugin=0xe124920, system=@0xe32d1f0, edebuglevels=@0xbfffee18) at ../scummvm/base/main.cpp:225
    #7 0x00007296 in scummvm_main (argc=1, argv=0xd529cb0) at ../scummvm/base/main.cpp:451
    #8 0x000049e7 in SDL_main (argc=1, argv=0xd529cb0) at ../scummvm/backends/platform/sdl/macosx/macosx-main.cpp:45
    #9 0x00be0c1b in -[SDLMain applicationDidFinishLaunching:] (self=0xe427aa0, _cmd=0xde7080, note=0xe32d160) at ./src/main/macosx/SDLMain.m:300
    #10 0x91967c52 in __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 ()
    #11 0x99cd9e01 in ___CFXNotificationPost_block_invoke_0 ()
    #12 0x99c2543a in _CFXNotificationPost ()
    #13 0x91950788 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
    #14 0x957e918e in -[NSApplication _postDidFinishNotification] ()
    #15 0x957e8e48 in -[NSApplication _sendFinishLaunchingNotification] ()
    #16 0x957e5d9f in -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] ()
    #17 0x957e58b4 in -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] ()
    #18 0x9798c628 in -[NSObject performSelector:withObject:withObject:] ()
    #19 0x9196b23a in __76-[NSAppleEventManager setEventHandler:andSelector:forEventClass:andEventID:]_block_invoke_0 ()
    #20 0x9196ad91 in -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] ()
    #21 0x9196ab8e in _NSAppleEventManagerGenericHandler ()
    #22 0x90fd3535 in aeDispatchAppleEvent ()
    #23 0x90fa99de in dispatchEventAndSendReply ()
    #24 0x90fa989d in aeProcessAppleEvent ()
    #25 0x9409fe48 in AEProcessAppleEvent ()
    #26 0x957e1ddd in _DPSNextEvent ()
    #27 0x957e126c in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
    #28 0x957d76cc in -[NSApplication run] ()
    #29 0x00be1388 in main (argc=1, argv=0xbffffc10) at ./src/main/macosx/SDLMain.m:227
    Current language: auto; currently c++
    (gdb) b malloc_error_break
    Breakpoint 1 at 0x94a0d81b
    (gdb) r
    The program being debugged has been started already.
    Start it from the beginning? (y or n) y
    Starting program: /Volumes/Store/Src/scummvm/osx-intel/scummvm-static
    Reading symbols for shared libraries . done
    Reading symbols for shared libraries + done
    Reading symbols for shared libraries . done
    WARNING: You are missing a valid 'translations.dat' file. GUI translation will not be available!
    WARNING: Could not find theme 'scummmodern' falling back to builtin!
    User picked target 'dreamweb' (gameid 'dreamweb')...
    Looking for a plugin supporting this gameid... DreamWeb engine
    Starting 'DreamWeb'
    scummvm-static(459,0xac583a28) malloc: *** error for object 0x1078fcb4: pointer being freed was not allocated
    *** set a breakpoint in malloc_error_break to debug

    Breakpoint 1, 0x94a0d81b in malloc_error_break ()
    (gdb) bt
    #0 0x94a0d81b in malloc_error_break ()
    #1 0x94a0ed51 in free ()
    #2 0x002a884d in DreamWeb::DreamWebEngine::showAllObs (this=0x10773000) at ../scummvm/common/list.h:197
    #3 0x0029c4b2 in DreamWeb::DreamWebEngine::drawFloor (this=0x10773000) at ../scummvm/engines/dreamweb/stubs.cpp:2115
    #4 0x0029d31f in DreamWeb::DreamWebEngine::startup (this=0x10773000) at ../scummvm/engines/dreamweb/stubs.cpp:808
    #5 0x0029d381 in DreamWeb::DreamWebEngine::startup1 (this=0x10773000) at ../scummvm/engines/dreamweb/stubs.cpp:822
    #6 0x002a083d in DreamWeb::DreamWebEngine::dreamweb (this=0x10773000) at ../scummvm/engines/dreamweb/stubs.cpp:667
    #7 0x00295858 in DreamWeb::DreamWebEngine::run (this=0x10773000) at ../scummvm/engines/dreamweb/dreamweb.cpp:379
    #8 0x00006573 in runGame (plugin=0xe639910, system=@0xe636530, edebuglevels=@0xbfffee18) at ../scummvm/base/main.cpp:225
    #9 0x00007296 in scummvm_main (argc=1, argv=0xd538500) at ../scummvm/base/main.cpp:451
    #10 0x000049e7 in SDL_main (argc=1, argv=0xd538500) at ../scummvm/backends/platform/sdl/macosx/macosx-main.cpp:45
    #11 0x00be0c1b in -[SDLMain applicationDidFinishLaunching:] (self=0xd53d880, _cmd=0xde7080, note=0xe6364a0) at ./src/main/macosx/SDLMain.m:300
    #12 0x91967c52 in __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 ()
    #13 0x99cd9e01 in ___CFXNotificationPost_block_invoke_0 ()
    #14 0x99c2543a in _CFXNotificationPost ()
    #15 0x91950788 in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
    #16 0x957e918e in -[NSApplication _postDidFinishNotification] ()
    #17 0x957e8e48 in -[NSApplication _sendFinishLaunchingNotification] ()
    #18 0x957e5d9f in -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] ()
    #19 0x957e58b4 in -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] ()
    #20 0x9798c628 in -[NSObject performSelector:withObject:withObject:] ()
    #21 0x9196b23a in __76-[NSAppleEventManager setEventHandler:andSelector:forEventClass:andEventID:]_block_invoke_0 ()
    #22 0x9196ad91 in -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] ()
    #23 0x9196ab8e in _NSAppleEventManagerGenericHandler ()
    #24 0x90fd3535 in aeDispatchAppleEvent ()
    #25 0x90fa99de in dispatchEventAndSendReply ()
    #26 0x90fa989d in aeProcessAppleEvent ()
    #27 0x9409fe48 in AEProcessAppleEvent ()
    #28 0x957e1ddd in _DPSNextEvent ()
    #29 0x957e126c in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
    #30 0x957d76cc in -[NSApplication run] ()
    #31 0x00be1388 in main (argc=1, argv=0xbffffc10) at ./src/main/macosx/SDLMain.m:227

     
  • Oystein Eftevaag

    The crash is only reproducible with optimizations on (--enable-release), which may be why people have had problems seeing this in their own builds.

     
  • Saint of Killers

    I did'nt compile my own build, I use the nightly from official ScummVM Buildbot.

    ScummVM 1.6.0git2137-gc11ab39 (Nov 23 2012 06:02:37)
    Features compiled in: TAINTED Vorbis FLAC MP3 SEQ TiMidity RGB zLib

    The error message with any 3x scaler now is

    User picked target 'dreamweb-it' (gameid 'dreamweb')...
    Looking for a plugin supporting this gameid... DreamWeb engine
    Starting 'DreamWeb'
    WARNING: SDL_SetVideoMode says we can't switch to that mode (No video mode large enough for 640x480)!

    As always, this doesn't occur in Monkey3, Broken Sword or Discworld 2.

     
  • Willem Jan Palenstijn

    As far as I can tell that backtrace indicates a corrupt list data structure. Do you have access to valgrind or something equivalent?

     
  • Willem Jan Palenstijn

    A compiler bug is also starting to sound plausible, by the way.

     
  • digitall

    digitall - 2012-12-01

    wjp: I think that is likely, though -O2 optimisation levels are usually relatively safe.

    vinterstum: I have fixed a number of minor issues in Dreamweb recently and wjp fixed a major issue with corruption of the _exFrames structure. Though I doubt that these are the cause of the issue observed here, could you try compiling the latest source code with release mode / optimisations enabled and see if the crash still occurs?

    If so, the problem seems to be calling the clear() method on a Common::List which is newly constructed i.e.
    The backtrace is associated with the _setList.clear() call at the start of the showAllObs() function in scummvm/engines/dreamweb/backdrop.cpp.

    I would suggest cutting the code down to try to find a minimal test case for this, so we can try to locate a fix for either the code to avoid this or the exact compiler issue i.e. a minimal application using scummvm/common/list.h along with the objPos structure.

     
  • Eugene Sandulenko

    • priority: 5 --> 7
     
  • Eugene Sandulenko

    This bug is nice to get fixed before the release. Raising priority for keeping the track.

     
  • digitall

    digitall - 2013-06-24

    Well, this is still occuring with v1.6.0 release. Reported on the forums by somnolentsurfer:
    "Using the release version of 1.6.0 on OS X 10.8.4, I get a crash to desktop just after the guy in the intro releases the floaty blue orb."

    vinterstum: Any progress on fixing/avoiding this?

     
  • Thierry Crozat

    Thierry Crozat - 2014-07-29

    Unfortunately I can confirm this is still occurring with 1.7.0 release.

     
  • digitall

    digitall - 2014-07-29

    criezy: Unfortunately as expected as not fix for this has been applied. It only appears when optimisations are enabled for the OSX build. As I don't have an OSX machine, I can't replicate.

    vinterstum has already used --enable-optimizations to produce an equivalent build to the release optimized build and replicated the error to get a gdb backtrace which is in an earlier comment... however this points to a nasty compiler optimization bug in the Common::List class usage... :/

    Can you look at getting to this point yourself on your machine and then see if you can replicate?

     
  • Thierry Crozat

    Thierry Crozat - 2014-07-29

    digitall: I already tried in the past to compile my own version with optimizations and I tried again today just in case. But it doesn't crash with the versions I compile myself. And since I cannot replicate, I cannot really try to find a fix either.
    I guess I would need to use the same compiler as the one used to compile the release.

     
  • Oystein Eftevaag

    I'll try to take a look. The toolchain used to build the release is the same Linux-based toolchain the buildbot is using, but its GCC version is pretty old at this point. If this is a compiler bug I'll see about updating it (maybe leaving the 10.2 PPC toolchain alone though; I doubt that'd work with anything more modern).

     
  • digitall

    digitall - 2014-07-29

    "Post awaiting moderation"?!? SIGH. Will talk to _sev or other sf.net project admin and get that fixed facepalm

    http://wiki.scummvm.org/index.php/Compiling_ScummVM/Mac_OS_X doesn't list the compiler versions... and is a bit skeletal, but it appears that only vinterstum's toolchain compiler is affected

    criezy: What compiler / toolchain are you using on OSX? Fink/Macports/Official? What binutils and gcc version please?

     
  • Thierry Crozat

    Thierry Crozat - 2014-07-29

    On my side I am using the official toolchains. The tests I did two years ago where with Xcode 4 (llvm-gcc 4.2.1) and the one I did today with XCode 5 (Apple LLVM version 5.1 clang-503.0.40 (based on LLVM 3.4svn)). Both produce working executables.

     
  • digitall

    digitall - 2014-07-29

    From the buildbot toolchains:
    /opt/toolchains/i686-apple-darwin9-10.4/bin/i686-apple-darwin9-g++ --version
    i686-apple-darwin9-g++ (GCC) 4.2.4
    /opt/toolchains/i686-apple-darwin9-10.4/bin/i686-apple-darwin9-as -v
    Apple Computer, Inc. version odcctools-622.3od16, GNU assembler version 1.38

    /opt/toolchains/powerpc-apple-darwin8-10.2/bin/ppc-apple-darwin8-g++ --version
    ppc-apple-darwin8-g++ (GCC) 4.2.4
    /opt/toolchains/powerpc-apple-darwin8-10.2/bin/ppc-apple-darwin8-as -v
    Apple Computer, Inc. version odcctools-622.3od16, GNU assembler version 1.38

     
  • Johannes Schickel

    • summary: DREAMWEB: Crash after intro on OS X 10.8.0 --> DREAMWEB: Crash after Intro on OS X
     
  • Johannes Schickel

    Another duplicate has been reported as #6698.

     
  • Willem Jan Palenstijn

    With a new release approaching, I'd like to bring this back to everyone's attention. It would be nice if this doesn't affect our official 1.8.0 release build.

     
  • Saint of Killers

    ScummVM 1.8.0git6493-g331a9f4 (Feb 5 2016 04:39:47) on OS X El Capitan 10.11.3

    With fullscreen and any scaler but normal and OpenGL, right after the intro, it crashes. Windowed seems working.

    2016-02-05 23:13:07.249 scummvm[3805:1382689] 23:13:07.248 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
    User picked target 'dreamweb-it' (gameid 'dreamweb')...
      Looking for a plugin supporting this gameid... DreamWeb engine
      Starting 'DreamWeb'
    2016-02-05 23:13:42.945 scummvm[3805:1382689] -[__NSCFDictionary objectAtIndex:]: unrecognized selector sent to instance 0x2753120
    2016-02-05 23:13:42.945 scummvm[3805:1382689] -[__NSCFDictionary objectAtIndex:]: unrecognized selector sent to instance 0x2753120
    Killed: 9
    
     
  • Thierry Crozat

    Thierry Crozat - 2016-03-05
    • status: open --> closed-fixed
    • assigned_to: Oystein Eftevaag --> Thierry Crozat
     
  • Thierry Crozat

    Thierry Crozat - 2016-03-05

    The ScummVM 1.8.0 release was built with a different toolchain and doesn't exhibit this crash.

     
<< < 1 2 (Page 2 of 2)