[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