[Scummvm-tracker] [ScummVM :: Bugs] #14872: GRAPHICS: HQScaler crash when exiting Indy3-Mac in HQ3X

ScummVM :: Bugs trac at scummvm.org
Wed Jan 24 05:34:53 UTC 2024


#14872: GRAPHICS: HQScaler crash when exiting Indy3-Mac in HQ3X
---------------------+--------------------------------
Reporter:  dwatteau  |       Owner:  (none)
    Type:  defect    |      Status:  new
Priority:  normal    |   Component:  Graphics: Scalers
 Version:            |  Resolution:
Keywords:            |        Game:  Indiana Jones 3
---------------------+--------------------------------
Comment (by eriktorbjorn):

 Using the attached .ini file, I was able to reproduce the crash. Valgrind
 doesn't tell me anything really new:

 {{{
 ==25802== Invalid read of size 4
 ==25802==    at 0x6E3870C: void
 HQ3x_implementation<Graphics::ColorMasks<888> >(unsigned char const*,
 unsigned int, unsigned char*, unsigned int, int, int, unsigned int const*)
 (hq.cpp:2143)
 ==25802==    by 0x6E49409: HQScaler::HQ3x32(unsigned char const*, unsigned
 int, unsigned char*, unsigned int, int, int) (hq.cpp:5033)
 ==25802==    by 0x6DCADD4: HQScaler::scaleIntern(unsigned char const*,
 unsigned int, unsigned char*, unsigned int, int, int, int, int)
 (hq.cpp:5055)
 ==25802==    by 0x688786D: Scaler::scale(unsigned char const*, unsigned
 int, unsigned char*, unsigned int, int, int, int, int)
 (scalerplugin.cpp:56)
 ==25802==    by 0x672C3A7: SurfaceSdlGraphicsManager::blitCursor()
 (surfacesdl-graphics.cpp:2318)
 ==25802==    by 0x6726A8C:
 SurfaceSdlGraphicsManager::setGraphicsModeIntern() (surfacesdl-
 graphics.cpp:702)
 ==25802==    by 0x6725889: SurfaceSdlGraphicsManager::endGFXTransaction()
 (surfacesdl-graphics.cpp:428)
 ==25802==    by 0x669D547: ModularGraphicsBackend::endGFXTransaction()
 (modular-backend.cpp:145)
 ==25802==    by 0x26638A2: setupGraphics(OSystem&) (main.cpp:381)
 ==25802==    by 0x26658B7: scummvm_main (main.cpp:884)
 ==25802==    by 0x266015B: main (posix-main.cpp:44)
 ==25802==  Address 0x40dc9d260 is not stack'd, malloc'd or (recently)
 free'd
 }}}

 However, I did notice two ways which each individually avoid the crash.
 Neither are solutions, of course, but perhaps they provide a clue:

 * If I uncheck the global GUI option "Return to the launcher when leaving
 a game", it doesn't crash.
 * If I change the global scaler from 3x to 4x, making the ScummVM launcher
 window almost as large as the game window, it doesn't crash.

 So I guess that explains why it crashes in the HQ3x scaler, even though
 the game uses a 2x scaler?
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14872#comment:3>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list