[Scummvm-tracker] [ScummVM :: Bugs] #16350: silent footsteps crashes scummvm when being scanned for some reason
ScummVM :: Bugs
trac at scummvm.org
Thu Nov 13 04:42:34 UTC 2025
#16350: silent footsteps crashes scummvm when being scanned for some reason
--------------------+---------------------------------
Reporter: i30817 | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: Wintermute
Version: | Resolution:
Keywords: scanner | Game:
--------------------+---------------------------------
Description changed by i30817:
Old description:
> {{{
>
> Starting program:
> /media/carla/Mordred/linuxstuff/Projects/scummvm/scummvm -a -p
> ScummVM/silent_footsteps/
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-
> gnu/libthread_db.so.1".
>
> Program received signal SIGSEGV, Segmentation fault.
> Wintermute::openSfmFile (filename=...) at
> engines/wintermute/base/file/base_savefile_manager_file.cpp:57
> 57 return
> g_system->getSavefileManager()->openRawFile(smFilename);
> (gdb) bt
> #0 Wintermute::openSfmFile(Common::String const&) (filename=...) at
> engines/wintermute/base/file/base_savefile_manager_file.cpp:57
> #1 0x000055555ad3fa67 in
> Wintermute::BaseFileManager::openFileRaw(Common::String const&)
> (this=0x55555fcb0ee0, filename=...)
> at engines/wintermute/base/base_file_manager.cpp:489
> #2 0x000055555ad3f874 in
> Wintermute::BaseFileManager::openFile(Common::String const&, bool, bool)
> (this=0x55555fcb0ee0, filename=..., absPathWarning=false,
> keepTrackOf=false) at engines/wintermute/base/base_file_manager.cpp:446
> #3 0x000055555aca1bec in
> Wintermute::WintermuteEngine::getGameInfo(Common::FSList const&,
> Common::String&, Common::String&)
> (fslist=..., name=..., caption=...) at
> engines/wintermute/wintermute.cpp:359
> #4 0x000055555aca057e in
> Wintermute::WintermuteMetaEngine::fallbackDetectExtern(unsigned int,
> Common::HashMap<Common::Path, Common::FSNode,
> Common::Path::IgnoreCase_Hash, Common::Path::IgnoreCase_EqualTo> const&,
> Common::FSList const&, ADDetectedGameExtraInfo**) const
> (this=0x55555fb193a0, md5Bytes=5000, allFiles=..., fslist=...,
> extraInfo=0x0) at engines/wintermute/metaengine.cpp:218
> #5 0x00005555563d5970 in
> Wintermute::WintermuteMetaEngineDetection::fallbackDetect(Common::HashMap<Common::Path,
> Common::FSNode, Common::Path::IgnoreCase_Hash,
> Common::Path::IgnoreCase_EqualTo> const&, Common::FSList const&,
> ADDetectedGameExtraInfo**) const
> (this=0x55555fc75ed0, allFiles=..., fslist=..., extra=0x7fffffff7ac8)
> at engines/wintermute/detection.cpp:107
> #6 0x000055555ae1644d in
> AdvancedMetaEngineDetectionBase::detectGames(Common::FSList const&,
> unsigned int, bool)
> (this=0x55555fc75ed0, fslist=..., skipADFlags=0,
> skipIncomplete=false) at engines/advancedDetector.cpp:292
> --Type <RET> for more, q to quit, c to continue without paging--
> #7 0x00005555563fbcc4 in EngineManager::detectGames(Common::FSList
> const&, unsigned int, bool)
> (this=0x55555fc26e60, fslist=..., skipADFlags=0,
> skipIncomplete=false) at base/plugins.cpp:688
> #8 0x00005555563f32c2 in Base::getGameList(Common::FSNode const&)
> (dir=...) at base/commandLine.cpp:1523
> #9 0x00005555563f389c in Base::recAddGames(Common::FSNode const&,
> Common::String const&, Common::String const&, bool)
> (dir=..., engineId=..., gameId=..., recursive=false) at
> base/commandLine.cpp:1584
> #10 0x00005555563f4543 in Base::addGames(Common::Path const&,
> Common::String const&, Common::String const&, bool)
> (path=..., engineId=..., gameId=..., recursive=false) at
> base/commandLine.cpp:1698
> #11 0x00005555563f63ce in Base::processSettings(Common::String&,
> Common::HashMap<Common::String, Common::String, Common::IgnoreCase_Hash,
> Common::IgnoreCase_EqualTo>&, Common::Error&) (command=..., settings=...,
> err=...) at base/commandLine.cpp:2046
> #12 0x00005555563e0f4f in scummvm_main(int, char const* const*) (argc=4,
> argv=0x7fffffffe438) at base/main.cpp:525
> #13 0x00005555563dc7f8 in main(int, char**) (argc=4, argv=0x7fffffffe438)
> at backends/platform/sdl/posix/posix-main.cpp:44
> (gdb) print smFilename
> $1 = {<Common::BaseString<char>> = {static npos = 4294967295, static
> _builtinCapacity = 20, _size = 17,
> _str = 0x7fffffff6330 ".startup.settings", {_storage =
> ".startup.settings\000\000", _extern = {_refCount = 0x707574726174732e,
> _capacity = 1952805678}}}, <No data fields>}
> (gdb) print g_system
> $2 = (OSystem *) 0x55555fb2e0f0
> (gdb) print g_system->getSavefileManager()
> $3 = (Common::SaveFileManager *) 0x0
> }}}
> I think get savefilemanager is not working for some reason.
New description:
{{{
Starting program: /media/carla/Mordred/linuxstuff/Projects/scummvm/scummvm
-a -p ScummVM/silent_footsteps/
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
Wintermute::openSfmFile (filename=...) at
engines/wintermute/base/file/base_savefile_manager_file.cpp:57
57 return
g_system->getSavefileManager()->openRawFile(smFilename);
(gdb) bt
#0 Wintermute::openSfmFile(Common::String const&) (filename=...) at
engines/wintermute/base/file/base_savefile_manager_file.cpp:57
#1 0x000055555ad3fa67 in
Wintermute::BaseFileManager::openFileRaw(Common::String const&)
(this=0x55555fcb0ee0, filename=...)
at engines/wintermute/base/base_file_manager.cpp:489
#2 0x000055555ad3f874 in
Wintermute::BaseFileManager::openFile(Common::String const&, bool, bool)
(this=0x55555fcb0ee0, filename=..., absPathWarning=false,
keepTrackOf=false) at engines/wintermute/base/base_file_manager.cpp:446
#3 0x000055555aca1bec in
Wintermute::WintermuteEngine::getGameInfo(Common::FSList const&,
Common::String&, Common::String&)
(fslist=..., name=..., caption=...) at
engines/wintermute/wintermute.cpp:359
#4 0x000055555aca057e in
Wintermute::WintermuteMetaEngine::fallbackDetectExtern(unsigned int,
Common::HashMap<Common::Path, Common::FSNode,
Common::Path::IgnoreCase_Hash, Common::Path::IgnoreCase_EqualTo> const&,
Common::FSList const&, ADDetectedGameExtraInfo**) const
(this=0x55555fb193a0, md5Bytes=5000, allFiles=..., fslist=...,
extraInfo=0x0) at engines/wintermute/metaengine.cpp:218
#5 0x00005555563d5970 in
Wintermute::WintermuteMetaEngineDetection::fallbackDetect(Common::HashMap<Common::Path,
Common::FSNode, Common::Path::IgnoreCase_Hash,
Common::Path::IgnoreCase_EqualTo> const&, Common::FSList const&,
ADDetectedGameExtraInfo**) const
(this=0x55555fc75ed0, allFiles=..., fslist=..., extra=0x7fffffff7ac8)
at engines/wintermute/detection.cpp:107
#6 0x000055555ae1644d in
AdvancedMetaEngineDetectionBase::detectGames(Common::FSList const&,
unsigned int, bool)
(this=0x55555fc75ed0, fslist=..., skipADFlags=0, skipIncomplete=false)
at engines/advancedDetector.cpp:292
--Type <RET> for more, q to quit, c to continue without paging--
#7 0x00005555563fbcc4 in EngineManager::detectGames(Common::FSList
const&, unsigned int, bool)
(this=0x55555fc26e60, fslist=..., skipADFlags=0, skipIncomplete=false)
at base/plugins.cpp:688
#8 0x00005555563f32c2 in Base::getGameList(Common::FSNode const&)
(dir=...) at base/commandLine.cpp:1523
#9 0x00005555563f389c in Base::recAddGames(Common::FSNode const&,
Common::String const&, Common::String const&, bool)
(dir=..., engineId=..., gameId=..., recursive=false) at
base/commandLine.cpp:1584
#10 0x00005555563f4543 in Base::addGames(Common::Path const&,
Common::String const&, Common::String const&, bool)
(path=..., engineId=..., gameId=..., recursive=false) at
base/commandLine.cpp:1698
#11 0x00005555563f63ce in Base::processSettings(Common::String&,
Common::HashMap<Common::String, Common::String, Common::IgnoreCase_Hash,
Common::IgnoreCase_EqualTo>&, Common::Error&) (command=..., settings=...,
err=...) at base/commandLine.cpp:2046
#12 0x00005555563e0f4f in scummvm_main(int, char const* const*) (argc=4,
argv=0x7fffffffe438) at base/main.cpp:525
#13 0x00005555563dc7f8 in main(int, char**) (argc=4, argv=0x7fffffffe438)
at backends/platform/sdl/posix/posix-main.cpp:44
(gdb) print smFilename
$1 = {<Common::BaseString<char>> = {static npos = 4294967295, static
_builtinCapacity = 20, _size = 17,
_str = 0x7fffffff6330 ".startup.settings", {_storage =
".startup.settings\000\000", _extern = {_refCount = 0x707574726174732e,
_capacity = 1952805678}}}, <No data fields>}
(gdb) print g_system
$2 = (OSystem *) 0x55555fb2e0f0
(gdb) print g_system->getSavefileManager()
$3 = (Common::SaveFileManager *) 0x0
}}}
I think get savefilemanager is not working when used directly from the
command line in this engine and for some reason adding or just detecting
(--detect crashes in the same line) calls it.
--
--
Ticket URL: <https://bugs.scummvm.org/ticket/16350#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list