Opened 3 years ago
Closed 3 years ago
#12618 closed defect (worksforme)
GNAP: Crash when opening inventory
Reported by: | eriktorbjorn | Owned by: | sev- |
---|---|---|---|
Priority: | high | Component: | Engine: GNAP |
Version: | Keywords: | ||
Cc: | Game: |
Description
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.
Change History (5)
comment:1 by , 3 years ago
Component: | --Unset-- → Engine: GNAP |
---|
comment:2 by , 3 years ago
Priority: | normal → high |
---|
comment:3 by , 3 years ago
:( I cannot reproduce. I tried a zillion of things, was clicking the menu button wildly and repeatedly, not crashes or Address Sanitizer complaints...
comment:4 by , 3 years ago
At the moment, I can't seem to reproduce it either. Maybe there was some miscompile on my part (that seems to happen very occasionally, but can then be fixed by a clean recompile)? I don't know.
comment:5 by , 3 years ago
Owner: | set to |
---|---|
Resolution: | → worksforme |
Status: | new → closed |
Okay, closing it then. If somebody ever able to reproduce it, we will wait for another bugreport.
This would be nice to get fixed before the release.