[Scummvm-tracker] [ScummVM :: Bugs] #15487: SCUMM: MONKEY2 (MAC): segfault when typing 'rough' right at the start of the game
ScummVM :: Bugs
trac at scummvm.org
Fri Nov 15 20:19:35 UTC 2024
#15487: SCUMM: MONKEY2 (MAC): segfault when typing 'rough' right at the start of
the game
----------------------+------------------------------
Reporter: dwatteau | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: SCUMM
Version: | Resolution:
Keywords: macintosh | Game: Monkey Island 2
----------------------+------------------------------
Comment (by dwatteau):
Thanks. Following some Discord discussions, I can confirm that I'm
building from an up-to-date tree, with no weird remnants or whatever.
Compiler is clang++ 15 (Apple's own version, which often is closer to the
next release, with their own changes, if my memory serves me well).
So far, I haven't been able to replicate the issue on my other
Linux/OpenBSD environments, although I'm using the same files...
Having the files untouched with their original resource forks (since I'm
running the game from an APFS volume), or having them `macbinary` encoded
doesn't change anything. So I don't think it's related to this either.
I don't think my config has anything weird:
{{{
[monkey2-mac]
extra=Mac
engineid=scumm
original_gui=false
gui_saveload_last_pos=5
platform=macintosh
music_driver=auto
talkspeed=85
subtitles=true
opl_driver=auto
guioptions=sndNoSpeech midiMac noAspect macintosh gameOption2 gameOption4
gameOption7 lang_English
description=Monkey Island 2: LeChuck's Revenge (Macintosh/English)
path=/path/to/game
enhancements=511
gameid=monkey2
language=en
}}}
Anyway, I can attach the process to LLDB when the error is triggered:
{{{
User picked target 'monkey2-mac' (engine ID 'scumm', game ID 'monkey2')...
Process 19576 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x22)
frame #0: 0x000000010035d196
scummvm`Scumm::MacGuiImpl::MacDialogWindow::MacDialogWindow(this=0x00006110001bbd80,
gui=0x00006150001e0a80, system=0x0000614000000640,
from=0x00006030002247d0, bounds=(top = 128, left = 86, bottom = 214, right
= 426), windowStyle=kWindowStyleNormal, menuStyle=kMenuStyleDisabled) at
macgui_dialogwindow.cpp:46:6
43 // Only apply menu style if the menu is open.
44 Graphics::MacMenu *menu = _gui->_windowManager->getMenu();
45
-> 46 if (!menu->_active)
47 menuStyle = kMenuStyleNone;
48
49 _black = _gui->getBlack();
Target 0: (scummvm) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x22)
* frame #0: 0x000000010035d196
scummvm`Scumm::MacGuiImpl::MacDialogWindow::MacDialogWindow(this=0x00006110001bbd80,
gui=0x00006150001e0a80, system=0x0000614000000640,
from=0x00006030002247d0, bounds=(top = 128, left = 86, bottom = 214, right
= 426), windowStyle=kWindowStyleNormal, menuStyle=kMenuStyleDisabled) at
macgui_dialogwindow.cpp:46:6
frame #1: 0x000000010035ffb9
scummvm`Scumm::MacGuiImpl::MacDialogWindow::MacDialogWindow(this=0x00006110001bbd80,
gui=0x00006150001e0a80, system=0x0000614000000640,
from=0x00006030002247d0, bounds=(top = 128, left = 86, bottom = 214, right
= 426), windowStyle=kWindowStyleNormal, menuStyle=kMenuStyleDisabled) at
macgui_dialogwindow.cpp:42:249
frame #2: 0x000000010037ab39
scummvm`Scumm::MacGuiImpl::createWindow(this=0x00006150001e0a80,
bounds=(top = 128, left = 86, bottom = 214, right = 426),
windowStyle=kWindowStyleNormal, menuStyle=kMenuStyleDisabled) at
macgui_impl.cpp:633:13
frame #3: 0x000000010037bd24
scummvm`Scumm::MacGuiImpl::createDialog(this=0x00006150001e0a80,
dialogId=502) at macgui_impl.cpp:686:28
frame #4: 0x00000001003820db
scummvm`Scumm::MacGuiImpl::runOkCancelDialog(this=0x00006150001e0a80,
text=String @ 0x00007ff7bfef9280) at macgui_impl.cpp:954:28
frame #5: 0x00000001003dbf63
scummvm`Scumm::MacV5Gui::handleEvent(this=0x00006150001e0a80, event=Event
@ 0x00007ff7bfef9500) at macgui_v5.cpp:951:11
frame #6: 0x000000010035bf0a
scummvm`Scumm::MacGui::handleEvent(this=0x0000602000081570, event=Event @
0x00007ff7bfef9660) at macgui.cpp:84:16
frame #7: 0x000000010033d1d4
scummvm`Scumm::ScummEngine::parseEvent(this=0x000000011e92b800,
event=Event @ 0x00007ff7bfefa190) at input.cpp:115:26
frame #8: 0x000000010034166a
scummvm`Scumm::ScummEngine::parseEvents(this=0x000000011e92b800) at
input.cpp:357:3
frame #9: 0x0000000100699227
scummvm`Scumm::ScummEngine::waitForTimer(this=0x000000011e92b800,
quarterFrames=24, freezeMacGui=false) at scumm.cpp:2640:3
frame #10: 0x0000000100698acc
scummvm`Scumm::ScummEngine::go(this=0x000000011e92b800) at
scumm.cpp:2597:3
frame #11: 0x000000010017f74e
scummvm`Scumm::ScummEngine::run(this=0x000000011e92b800) at scumm.h:585:10
frame #12: 0x000000010004b960
scummvm`runGame(enginePlugin=0x000060300005f7d0,
system=0x0000614000000640, game=0x00007ff7bfefdd70,
meDescriptor=0x0000000000000000) at main.cpp:311:33
frame #13: 0x00000001000453e1 scummvm`scummvm_main(argc=1,
argv=0x00007ff7bfeff6c8) at main.cpp:796:13
frame #14: 0x00000001000331d3 scummvm`main(argc=1,
argv=0x00007ff7bfeff6c8) at macosx-main.cpp:44:12
frame #15: 0x00007ff80bc7f418 dyld`start + 1896
(lldb) p menu
(Graphics::MacMenu *) nullptr
}}}
If you see anything to explore from there, feel free to ask me so :)
--
Ticket URL: <https://bugs.scummvm.org/ticket/15487#comment:3>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list