[Scummvm-tracker] [ScummVM :: Bugs] #12618: GNAP: Crash when opening inventory

ScummVM :: Bugs trac at scummvm.org
Fri Jun 11 13:38:18 UTC 2021


#12618: GNAP: Crash when opening inventory
-------------------------+-----------------------
Reporter:  eriktorbjorn  |      Owner:  (none)
    Type:  defect        |     Status:  new
Priority:  normal        |  Component:  --Unset--
 Version:                |   Keywords:
    Game:                |
-------------------------+-----------------------
 Current ScummVM, English version of the game.

 I don't know how to reproduce this, but I've had it happen twice now in a
 short while. In both cases, I was just clicking around on stuff in the
 very first room, before opening the inventory. The second time, I managed
 to capture it in a debugger:

 {{{
 #0  0x0000555556acaca0 in READ_UINT32(void const*) (ptr=0x0)
     at ./common/endian.h:259
 #1  Gnap::GameSys::blitSurface32(Graphics::Surface*, int, int,
 Graphics::Surface*, Common::Rect&, bool)
     (this=0x55555c614780, destSurface=0x55555c5f5910, x=333, y=47,
 sourceSurface=0x55555de96ac0, sourceRect=..., transparent=true)
     at engines/gnap/gamesys.cpp:648
 #2  0x0000555556acb514 in
 Gnap::GameSys::seqDrawStaticFrame(Graphics::Surface*,
 Gnap::SequenceFrame&, Common::Rect*)
     (this=0x55555c614780, surface=0x55555de96ac0, frame=...,
 subRect=0x55555c615b60) at engines/gnap/gamesys.cpp:773
 #3  0x0000555556acbd49 in Gnap::GameSys::drawSprites()
 (this=0x55555c614780)
     at engines/gnap/gamesys.cpp:879
 #4  0x0000555556ab224b in Gnap::GnapEngine::gameUpdateTick()
     (this=0x55555cdf5570) at engines/gnap/gnap.cpp:328
 #5  0x0000555556ab271f in Gnap::GnapEngine::delayTicks(int, int, bool)
     (this=0x55555cdf5570, val=5, idx=0, updateCursor=true)
     at engines/gnap/gnap.cpp:412
 #6  0x0000555556ab27d2 in Gnap::GnapEngine::delayTicksCursor(int)
     (this=0x55555cdf5570, val=5) at engines/gnap/gnap.cpp:430
 #7  0x0000555556ab933d in Gnap::GnapEngine::runMenu()
 (this=0x55555cdf5570)
     at engines/gnap/menu.cpp:286
 #8  0x0000555556ae2e4f in Gnap::Scene01::run() (this=0x55555d5ffbe0)
     at engines/gnap/scenes/group0.cpp:118
 #9  0x0000555556ac0221 in Gnap::GnapEngine::runSceneLogic()
     (this=0x55555cdf5570) at engines/gnap/scenes/scenecore.cpp:423
 #10 0x0000555556ab4285 in Gnap::GnapEngine::mainLoop()
 (this=0x55555cdf5570)
     at engines/gnap/gnap.cpp:811
 #11 0x0000555556ab1eec in Gnap::GnapEngine::run() (this=0x55555cdf5570)
     at engines/gnap/gnap.cpp:260
 #12 0x0000555555d74d97 in runGame(Plugin const*, Plugin const*, OSystem&,
 Common::String const&)
     (plugin=0x55555ba0fd70, enginePlugin=0x55555b8a5d70, system=...,
 debugLevels=...) at base/main.cpp:309
 #13 0x0000555555d764e8 in scummvm_main(int, char const* const*)
     (argc=1, argv=0x7fffffffe648) at base/main.cpp:608
 #14 0x0000555555d723b9 in main(int, char**) (argc=1, argv=0x7fffffffe648)
     at backends/platform/sdl/posix/posix-main.cpp:45
 }}}

 The surface it's using as the source image is completely blank:

 {{{
 (gdb) print *surface
 $17 = {w = 0, h = 0, pitch = 0, pixels = 0x0, format = {
     bytesPerPixel = 0 '\000', rLoss = 0 '\000', gLoss = 0 '\000',
     bLoss = 0 '\000', aLoss = 0 '\000', rShift = 0 '\000', gShift = 0
 '\000',
     bShift = 0 '\000', aShift = 0 '\000'}}
 }}}

 At this point, it had apparently drawn the inventory. I'm not sure what it
 was trying to draw next.

 I hope this provides a clue to someone.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/12618>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list