Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08535 Crash/Freeze Critical (emulator) Always Dec 16, 2022, 01:51 Jan 4, 2023, 15:54
Tester Robbbert View Status Public Platform MAME (Official Binary)
Assigned To Ryan Holtz Resolution Fixed OS Windows 10/11 (64-bit)
Status [?] Resolved Driver
Version 0.250 Fixed in Version 0.251 Build 64-bit
Fixed in Git Commit 13aa80c Github Pull Request # #10692
Summary 08535: All: Numscreens 2 followed by Alt-Enter crashes MAME, may have to reboot
Description In windowed mode, numscreens 2 followed by Alt-Enter crashes MAME, have to reboot.
Steps To Reproduce * Start any machine, any video mode, with numscreens 2, in windowed mode. Press Alt-enter. The screen goes to full-screen then MAME freezes. An incomplete dump can be seen by alt-tabbing. It's not possible to regain control because the frozen MAME screen won't go away, so I have to reboot. It's not even possible to see the Task Manager.

* If you start at full-screen, the result is a total black screen. Alt-tabbing will get video. Then, the first Alt-enter works, putting it into window mode, the next Alt-enter causes the above freeze.

My test machine was pacman, although i did try others.

>mame pacman -window -numscreens 2
>mame pacman -nowindow -numscreens 2
Additional Information The regression happened at either 0.227 or 0.228.

I got this dump by redirecting stderr to a file. I can only assume the location of the error indicates the problem is unique to Windows.
Exception at EIP=00007ff697e059c1 (win_window_info::draw_video_contents(HDC__*, bool)+0x0051): ACCESS VIOLATION
While attempting to read memory at 0000000000000000
RAX=0000000000000000 RBX=0000013b10fcc6f0 RCX=0000000000000000 RDX=0000000000000001
RSI=0000000000000001 RDI=0000000080006011 RBP=0000000000080258 RSP=0000001471d190b0
 R8=0000000000000001  R9=0000000000080258 R10=0000000000000000 R11=0000000000000246
R12=000000000a01076f R13=0000013b10fcc7c8 R14=0000000000080258 R15=0000000000000001
Stack crawl:
  0000001471d19100: 00007ff697e059c1 (win_window_info::draw_video_contents(HDC__*, bool)+0x0051)
  0000001471d191f0: 00007ff697e08382 (win_window_info::video_window_proc(HWND__*, unsigned int, unsigned long long, long long)+0x0442)
  0000001471d19380: 00007ffeb032e7e8 (CallWindowProcW+0x03f8)
  0000001471d193e0: 00007ffeb032e36c (DispatchMessageW+0x039c)
  0000001471d19440: 00007ffeb0340c23 (SendMessageTimeoutW+0x0143)
  0000001471d194c8: 00007ffeb0c30ef4 (KiUserCallbackDispatcher+0x0024)
  0000001471d194d0: 00007ffeaea01704 (NtUserDispatchMessage+0x0014)
  0000001471d19550: 00007ffeb032e27a (DispatchMessageW+0x02aa)
  0000001471d19640: 00007ff697e07771 (winwindow_process_events(running_machine&, bool, bool)+0x01a1)
  0000001471d19670: 00007ff697e118ca (windows_osd_interface::input_update()+0x001a)
  0000001471d19700: 00007ff697f92c16 (video_manager::frame_update(bool)+0x0226)
  0000001471d19770: 00007ff694830473 (screen_device::vblank_begin(int)+0x0233)
  0000001471d197e0: 00007ff69484978b (device_scheduler::timeslice()+0x014b)
  0000001471d19960: 00007ff6948466d8 (running_machine::run(bool)+0x0198)
  0000001471d1edf0: 00007ff697dec42b (mame_machine_manager::execute()+0x024b)
  0000001471d1f1e0: 00007ff69a7f3e56 (cli_frontend::start_execution(mame_machine_manager*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)+0x03e6)
  0000001471d1f4c0: 00007ff69a7f447b (cli_frontend::execute(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x007b)
  0000001471d1f520: 00007ff697de6b69 (emulator_info::start_frontend(emu_options&, osd_interface&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x0029)
  0000001471d1f8f0: 00007ff69b9a44b7 (main+0x0197)
  0000001471d1f9c0: 00007ff6900b13b1 (__tmainCRTStartup+0x0231)
  0000001471d1f9f0: 00007ff6900b14e6 (mainCRTStartup+0x0016)
  0000001471d1fa20: 00007ffeafe67614 (BaseThreadInitThunk+0x0014)
  0000001471d1faa0: 00007ffeb0be26a1 (RtlUserThreadStart+0x0021)
Github Commit
Regression Version
Affected Sets / Systems All
Attached Files
There are no relationship linked to this issue.
User avatar
Senior Tester
Dec 16, 2022, 02:14
If I run the menu

>mame -nowindow -numscreens 2

All I get is a black screen. Alt-enter has no effect at the menu, so it can be escaped without crashing.
User avatar
Dec 16, 2022, 10:25
edited on: Dec 16, 2022, 10:26
Crash reported by smf on discord.
I can also confirm it. but in my case no Windows reboot is needed.
User avatar
Senior Tester
Dec 17, 2022, 02:35
This fixes the crash, however the black screen problem is still an issue. I thought they might be related but obviously not, so I'll make a new report for that.
User avatar
Jan 2, 2023, 02:13
edited on: Jan 2, 2023, 02:14
I not understand if is related with that bug report.
Since few previous versions randomly MAME freezes at point keyboard not work even to alternate to another programs ... need wait much time to use ALT+ENTER being as if the OS was halted.
MAME freezes not having sound or input.
Using default settings and few settings changed (vsync , opengl or bgfx, refresh speed) and Full Screen in Linux Ubuntu 20.04.5.
That issue happen in any game.
I not had reported because I not understand if is an OS issue.
User avatar
Jan 4, 2023, 05:38
Augusto: if you’re using Linux, the issue you’re experiencing is likely caused by a known race condition in communication with the X server. It’s separate from the issue fixed here.
User avatar
Jan 4, 2023, 15:54
Thanks very much replying it =)
Exactly using X server.
Not need create another report issue about it.

Have an nice week and an good new year.