[Scummvm-tracker] [ScummVM :: Bugs] #13413: COMMON: Systematic crash after adding any new game in 2.6.0git
ScummVM :: Bugs
trac at scummvm.org
Sun Apr 10 13:04:54 UTC 2022
#13413: COMMON: Systematic crash after adding any new game in 2.6.0git
---------------------+--------------------
Reporter: dwatteau | Owner: (none)
Type: defect | Status: new
Priority: blocker | Component: Common
Version: | Keywords:
Game: |
---------------------+--------------------
This is with 2.6.0git HEAD on macOS x64. This also happens with the daily
builds, at least for a few weeks I'd say.
I see the same crashes on a PS3 daily build too.
How to reproduce:
1. Just add a game, any game, for any engine (as far as I an say)
2. Press OK
3. ScummVM systematically crashes.
Note: The new game does get added to ScummVM, though; it is added to its
configuration file, and it's there if I restart ScummVM.
(I don't have any non-ASCII string anywhere in my paths or in the
configuration file.)
lldb backtrace below:
{{{
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x0)
frame #0: 0x00000001003ac0fd
scummvm`Common::BaseString<char32_t>::getUnsignedValue(this=0x000000010332d828,
pos=0) const at base-str.cpp:788:16
785
786 TEMPLATE uint BASESTRING::getUnsignedValue(uint pos) const {
787 const int shift = (sizeof(uint) - sizeof(value_type)) * 8;
-> 788 return ((uint)_str[pos]) << shift >> shift;
789 }
790
791 // Hash function for strings, taken from CPython.
Target 0: (scummvm) stopped.
(lldb) p pos
(uint) $0 = 0
(lldb) p _str
(Common::BaseString<char32_t>::value_type *) $1 = 0x0000000000000000
(lldb) p shift
(const int) $3 = 0
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x0)
* frame #0: 0x00000001003ac0fd
scummvm`Common::BaseString<char32_t>::getUnsignedValue(this=0x000000010332d828,
pos=0) const at base-str.cpp:788:16
frame #1: 0x00000001003ac07b
scummvm`Common::BaseString<char32_t>::hash(this=0x000000010332d828) const
at base-str.cpp:793:20
frame #2: 0x00000001002210e9
scummvm`Common::Hash<Common::U32String>::operator(this=0x0000000103080d24,
s=0x000000010332d828)(Common::U32String const&) const at hash-str.h:69:12
frame #3: 0x0000000100221008
scummvm`Common::HashMap<Common::U32String, int,
Common::Hash<Common::U32String>, Common::EqualTo<Common::U32String>
>::lookup(this=0x0000000103080740, key=0x000000010332d828) const at
hashmap.h:502:25
frame #4: 0x000000010021c1a1
scummvm`Common::HashMap<Common::U32String, int,
Common::Hash<Common::U32String>, Common::EqualTo<Common::U32String>
>::contains(this=0x0000000103080740, key=0x000000010332d828) const at
hashmap.h:597:18
frame #5: 0x00000001002237d2
scummvm`GUI::GroupedListWidget::groupByAttribute(this=0x0000000103080400)
at groupedlist.cpp:133:25
frame #6: 0x0000000100223399
scummvm`GUI::GroupedListWidget::setList(this=0x0000000103080400,
list=0x00007ff7bfefcba8, colors=0x00007ff7bfefcb88) at
groupedlist.cpp:70:2
frame #7: 0x00000001001bcc3d
scummvm`GUI::LauncherSimple::updateListing(this=0x0000000103042e00) at
launcher.cpp:1088:9
frame #8: 0x00000001001b99a2
scummvm`GUI::LauncherDialog::doGameDetection(this=0x0000000103042e00,
path=0x00007ff7bfefdcc0) at launcher.cpp:648:4
frame #9: 0x00000001001b933c
scummvm`GUI::LauncherDialog::addGame(this=0x0000000103042e00) at
launcher.cpp:400:15
frame #10: 0x00000001001ba68b
scummvm`GUI::LauncherDialog::handleCommand(this=0x0000000103042e00,
sender=0x0000000101e192f0, cmd=1094992967, data=0) at launcher.cpp:666:3
frame #11: 0x00000001001bf147
scummvm`GUI::LauncherSimple::handleCommand(this=0x0000000103042e00,
sender=0x0000000101e192f0, cmd=1094992967, data=0) at launcher.cpp:1260:19
frame #12: 0x000000010021e883
scummvm`GUI::CommandSender::sendCommand(this=0x0000000101e192f0,
cmd=1094992967, data=0) at object.h:54:13
frame #13: 0x0000000100210627
scummvm`GUI::ButtonWidget::handleMouseUp(this=0x0000000101e192f0, x=129,
y=6, button=1, clickCount=1) at widget.cpp:379:3
frame #14: 0x0000000100211698
scummvm`GUI::DropdownButtonWidget::handleMouseUp(this=0x0000000101e192f0,
x=129, y=6, button=1, clickCount=1) at widget.cpp:505:17
frame #15: 0x00000001001abaae
scummvm`GUI::Dialog::handleMouseUp(this=0x0000000103042e00, x=382, y=511,
button=1, clickCount=1) at dialog.cpp:233:6
frame #16: 0x00000001001b5ab9
scummvm`GUI::GuiManager::processEvent(this=0x0000000102838e00,
event=0x00007ff7bfefe878, activeDialog=0x0000000103042e00) at gui-
manager.cpp:788:17
frame #17: 0x00000001001b5086
scummvm`GUI::GuiManager::runLoop(this=0x0000000102838e00) at gui-
manager.cpp:505:4
frame #18: 0x00000001001b901a
scummvm`GUI::LauncherDialog::run(this=0x0000000103042e00) at
launcher.cpp:314:8
frame #19: 0x00000001001bbcdb
scummvm`GUI::LauncherChooser::runModal(this=0x00007ff7bfefe948) at
launcher.cpp:952:16
frame #20: 0x000000010004cc6b scummvm`launcherDialog() at
main.cpp:106:14
frame #21: 0x000000010004bf97 scummvm`::scummvm_main(argc=1,
argv=0x00007ff7bfeffa08) at main.cpp:572:3
frame #22: 0x000000010004825d scummvm`main(argc=1,
argv=0x00007ff7bfeffa08) at macosx-main.cpp:44:12
frame #23: 0x000000010100151e dyld`start + 462
}}}
--
Ticket URL: <https://bugs.scummvm.org/ticket/13413>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list