[Scummvm-tracker] [ScummVM :: Bugs] #13512: AGS: Segfault on quitting a game
ScummVM :: Bugs
trac at scummvm.org
Mon Jun 6 21:49:59 UTC 2022
#13512: AGS: Segfault on quitting a game
-------------------------+--------------------------
Reporter: eriktorbjorn | Owner: (none)
Type: defect | Status: new
Priority: high | Component: Engine: AGS
Version: | Resolution:
Keywords: | Game:
-------------------------+--------------------------
Comment (by criezy):
I can indeed reproduce the crash with all the games I tried. This is
likely a recent regression introduced when applying the upstream commits
as all the games I tried used to quit properly.
Address Sanitizer reports the same issue as valgrind:
{{{
WRITE of size 4 at 0x00011bbafd98 thread T0
#0 0x103addd58 in AGS3::ScriptViewport::Invalidate()
script_viewport.h:42
#1 0x103aeedc4 in AGS3::GameState::FreeViewportsAndCameras()
game_state.cpp:822
#2 0x103ab53e8 in AGS3::unload_game_file() game.cpp:362
#3 0x103d546c4 in AGS3::quit_release_data() quit.cpp:153
#4 0x103d55038 in AGS3::quit_free() quit.cpp:230
#5 0x10381aff0 in AGS::AGSEngine::run() ags.cpp:198
#6 0x102e12678 in runGame(Plugin const*, Plugin const*, OSystem&,
Common::String const&) main.cpp:318
#7 0x102e0e0d4 in scummvm_main main.cpp:619
#8 0x102e0480c in main macosx-main.cpp:44
#9 0x1a2b7942c in start+0x0 (libdyld.dylib:arm64e+0x1842c)
0x00011bbafd98 is located 8 bytes inside of 16-byte region
[0x00011bbafd90,0x00011bbafda0)
freed by thread T0 here:
#0 0x11774aacc in wrap__ZdlPv+0x74
(libclang_rt.asan_osx_dynamic.dylib:arm64e+0x4aacc)
#1 0x103c807e0 in AGS3::ScriptViewport::Dispose(char const*, bool)
script_viewport.cpp:42
#2 0x103c729b0 in
AGS3::ManagedObjectPool::Remove(AGS3::ManagedObjectPool::ManagedObject&,
bool) managed_object_pool.cpp:46
#3 0x103c76ed8 in AGS3::ManagedObjectPool::reset()
managed_object_pool.cpp:364
#4 0x103c702ec in AGS3::ccUnregisterAllObjects()
cc_dynamic_object.cpp:76
#5 0x103d53a78 in AGS3::quit_shutdown_scripts() quit.cpp:76
#6 0x103d54cd4 in AGS3::quit_free() quit.cpp:204
#7 0x10381aff0 in AGS::AGSEngine::run() ags.cpp:198
#8 0x102e12678 in runGame(Plugin const*, Plugin const*, OSystem&,
Common::String const&) main.cpp:318
#9 0x102e0e0d4 in scummvm_main main.cpp:619
#10 0x102e0480c in main macosx-main.cpp:44
#11 0x1a2b7942c in start+0x0 (libdyld.dylib:arm64e+0x1842c)
previously allocated by thread T0 here:
#0 0x11774a6b4 in wrap__Znwm+0x74
(libclang_rt.asan_osx_dynamic.dylib:arm64e+0x4a6b4)
#1 0x103adc7f8 in AGS3::GameState::CreateRoomViewport()
game_state.cpp:245
#2 0x103adc3a8 in AGS3::GameState::CreatePrimaryViewportAndCamera()
game_state.cpp:229
#3 0x103c97570 in
AGS3::AGS::Engine::InitAndRegisterGameEntities(AGS3::GameSetupStruct&)
game_init.cpp:250
#4 0x103c9a2d4 in
AGS3::AGS::Engine::InitGameState(AGS3::AGS::Shared::LoadedGameEntities
const&, AGS3::GameDataVersion) game_init.cpp:383
#5 0x103d312e4 in AGS3::load_game_file() game_file.cpp:197
#6 0x103d167bc in AGS3::engine_load_game_data() engine.cpp:378
#7 0x103d24620 in
AGS3::initialize_engine(AGS3::std::map<AGS3::AGS::Shared::String,
AGS3::std::map<AGS3::AGS::Shared::String, AGS3::AGS::Shared::String,
Common::Less<AGS3::AGS::Shared::String> >,
Common::Less<AGS3::AGS::Shared::String> > const&) engine.cpp:1147
#8 0x10381afec in AGS::AGSEngine::run() ags.cpp:195
}}}
--
Ticket URL: <https://bugs.scummvm.org/ticket/13512#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list