Opened 5 days ago

Closed 5 days ago

Last modified 5 days ago

#15498 closed defect (fixed)

Assertion failed: (x + w <= (uint)dstSurf->w), function copyRectToTexture, file texture.cpp, line 234

Reported by: rlanday Owned by: sev-
Priority: high Component: Port: Mac OS X
Version: Keywords:
Cc: rlanday Game:

Description

Recent builds of ScummVM from trunk crash immediately upon starting several Humongous Entertainment games with the following assertion failure:

Assertion failed: (x + w <= (uint)dstSurf->w), function copyRectToTexture, file texture.cpp, line 234

The latest commit I tested on is:

commit 54cafe5733bf7405761abcad844c9ddb933cf562
Author: Matthew Duggan <mgithub@…>
Date: Sat Nov 16 21:18:47 2024 +1100
DGDS: Implement Willy Beamish type talking heads

The issue bisects to the ironically-named:

commit 1e8aea717d1d9fdf5220eb52a60f4abf748d3fb3
Author: AndywinXp <andywinxp@…>
Date: Tue Oct 8 11:14:44 2024 +0200
SCUMM: MI1 (Mac): Bring Mac menu to a non-crashing state

Note that the bisect commit falls into a range of commits that doesn’t even build for me without patching in the fix in:

commit ab342144ff04e99197da8b823eb00b39f4b5335c
Author: Le Philousophe <lephilousophe@…>
Date: Mon Oct 28 20:15:42 2024 +0100
WINTERMUTE: Fix build when 3D is not enabled

I’m tagging this as an issue with the Mac OS X port but I think it also pertains specifically to the SCUMM engine.

Some games I can repro the issue on:

  • Pajama Sam 1, 2, and 3
  • Spy Fox 1, 2, and 3
  • Freddi Fish 3 only (not on 1, 2, 4, or 5)

Full stack trace (from lldb when launching Pajama Sam 1):

Assertion failed: (x + w <= (uint)dstSurf->w), function copyRectToTexture, file texture.cpp, line 234.
Process 97537 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = hit program assert
    frame #4: 0x0000000103691af2 scummvm`OpenGL::Surface::copyRectToTexture(this=0x00007fdc65826a00, x=0, y=40, w=1280, h=960, srcPtr=0x00007fdc180be400, srcPitch=640) at texture.cpp:234:2
   231 	
   232 	void Surface::copyRectToTexture(uint x, uint y, uint w, uint h, const void *srcPtr, uint srcPitch) {
   233 		Graphics::Surface *dstSurf = getSurface();
-> 234 		assert(x + w <= (uint)dstSurf->w);
   235 		assert(y + h <= (uint)dstSurf->h);
   236 	
   237 		addDirtyArea(Common::Rect(x, y, x + w, y + h));
Target 0: (scummvm) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = hit program assert
    frame #0: 0x00007ff808c8db52 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007ff808cc7f85 libsystem_pthread.dylib`pthread_kill + 262
    frame #2: 0x00007ff808be8b19 libsystem_c.dylib`abort + 126
    frame #3: 0x00007ff808be7ddc libsystem_c.dylib`__assert_rtn + 314
  * frame #4: 0x0000000103691af2 scummvm`OpenGL::Surface::copyRectToTexture(this=0x00007fdc65826a00, x=0, y=40, w=1280, h=960, srcPtr=0x00007fdc180be400, srcPitch=640) at texture.cpp:234:2
    frame #5: 0x000000010368ab88 scummvm`OpenGL::OpenGLGraphicsManager::copyRectToScreen(this=0x00007fdc66872400, buf=0x00007fdc180be400, pitch=640, x=0, y=40, w=1280, h=960) at opengl-graphics.cpp:589:15
    frame #6: 0x000000010365368c scummvm`ModularGraphicsBackend::copyRectToScreen(this=0x00007fdc64b04480, buf=0x00007fdc180be400, pitch=640, x=0, y=40, w=1280, h=960) at modular-backend.cpp:173:20
    frame #7: 0x00000001036536f0 scummvm`virtual thunk to ModularGraphicsBackend::copyRectToScreen(void const*, int, int, int, int, int) at modular-backend.cpp:0
    frame #8: 0x00000001000de977 scummvm`Scumm::ScummEngine::mac_blitEPXImage(this=0x00007fdc68100000, buffer="\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010"..., pitch=640, x=0, y=0, width=640, height=480, epxRectangleExpansion=true) at gfx_mac.cpp:270:11
    frame #9: 0x00000001000de55f scummvm`Scumm::ScummEngine::mac_drawBufferToScreen(this=0x00007fdc68100000, buffer="\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010\U00000010"..., pitch=640, x=0, y=0, width=640, height=480, epxRectangleExpansion=true) at gfx_mac.cpp:170:3
    frame #10: 0x00000001000e66b6 scummvm`Scumm::ScummEngine::drawStripToScreen(this=0x00007fdc68100000, vs=0x00007fdc681082a8, x=0, width=640, top=0, bottom=480) at gfx.cpp:807:3
    frame #11: 0x00000001000e56b4 scummvm`Scumm::ScummEngine::drawDirtyScreenParts(this=0x00007fdc68100000) at gfx.cpp:540:3
    frame #12: 0x00000001000e67e8 scummvm`Scumm::ScummEngine_v6::drawDirtyScreenParts(this=0x00007fdc68100000) at gfx.cpp:573:15
    frame #13: 0x000000010021c8ee scummvm`Scumm::ScummEngine::scummLoop(this=0x00007fdc68100000, delta=1) at scumm.cpp:2965:3
    frame #14: 0x000000010021ba6d scummvm`Scumm::ScummEngine::go(this=0x00007fdc68100000) at scumm.cpp:2601:4
    frame #15: 0x000000010008c962 scummvm`Scumm::ScummEngine::run(this=0x00007fdc68100000) at scumm.h:585:10
    frame #16: 0x000000010005a0eb scummvm`runGame(enginePlugin=0x0000600002f9de20, system=0x00007fdc64b04480, game=0x00007ff7bfefcf40, meDescriptor=0x0000000000000000) at main.cpp:311:33
    frame #17: 0x0000000100057bf5 scummvm`scummvm_main(argc=1, argv=0x00007ff7bfefef80) at main.cpp:796:13
    frame #18: 0x000000010005116a scummvm`main(argc=1, argv=0x00007ff7bfefef80) at macosx-main.cpp:44:12
    frame #19: 0x00007ff80893a2cd dyld`start + 1805

I am running macOS Sequoia 15.0 on an Intel Mac.

Change History (5)

comment:1 by sev-, 5 days ago

Could you please clarify which games you run exactly? If you run scummvm -d1, you will get on startup something like: Using MD5 '32709cbeeb3044b34129950860a83f14. We need that information. The games you mentioned were released with different versions of interpreter.

comment:2 by sev-, 5 days ago

Also, the problem is that the commit that you bisected to, should have zero effect on HE games. E.g. that is touching code for old Mac releases of early LEC games.

comment:3 by sev-, 5 days ago

It looks that you are running Mac versions of the games.

comment:4 by sev-, 5 days ago

Owner: set to sev-
Resolution: fixed
Status: newclosed

I fixed it in 2e2d8950ec03a3c208d9af3ec8033990fbfa7f8a and backported.

comment:5 by rlanday, 5 days ago

The fix works for me on all the listed games. Thanks!

Note: See TracTickets for help on using tickets.