Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06144 Crash/Freeze Critical (emulator) Always Feb 28, 2016, 03:56 Dec 29, 2016, 04:00
Tester B2K24 View Status Public Platform MAME (Official Binary)
Assigned To Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved Driver
Version 0.171 Fixed in Version 0.172 Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 06144: Running with -video d3d -numscreens 2 and above crashes MAME
Description Running with -numscreens crashes MAME

Exception at EIP=000000000152C737 (windows_osd_interface::update_slider_list()+0
x0087): ACCESS VIOLATION
While attempting to read memory at 0000000000000000
-----------------------------------------------------
RAX=0000000012A15EE0 RBX=0000000017791290 RCX=0000000000000000 RDX=0000000000000
000
RSI=000000001779DE30 RDI=000000000856FB30 RBP=0000000008569120 RSP=0000000008569
0A0
 R8=00000000075DA3D0  R9=0000000000000029 R10=0000000000000000 R11=00000000178F0
D80
R12=0000000000000001 R13=0000000008569150 R14=0000000000000000 R15=0000000000000
001
-----------------------------------------------------
Stack crawl:
  0000000008569060: 000000000152C737 (windows_osd_interface::update_slider_list(
)+0x0087)
  0000000008569120: 000000000152B5BC (windows_osd_interface::update(bool)+0x001c
)
  00000000085691B0: 0000000002642D25 (video_manager::frame_update(bool)+0x00c5)
  0000000008569210: 00000000025ED7B6 (ui_manager::set_startup_text(char const*,
bool)+0x0076)
  0000000008569580: 00000000025CD5FA (rom_load_manager::open_rom_file(char const
*, rom_entry const*, std::__cxx11::basic_string<char, std::char_traits<char>, st
d::allocator<char> >&, bool)+0x011a)
  0000000008569990: 00000000025D276F (rom_load_manager::process_region_list()+0x
0d7f)
  0000000008569AC0: 00000000025D3480 (rom_load_manager::rom_load_manager(running
_machine&)+0x01f0)
  0000000008569BF0: 0000000002595CAD (running_machine::start()+0x077d)
  0000000008569C50: 0000000002596B62 (running_machine::run(bool)+0x00b2)
  000000000856F740: 000000000258F048 (machine_manager::execute()+0x0128)
  000000000856F930: 00000000024DBDD2 (cli_frontend::execute(int, char**)+0x08e2)

  000000000856FDF0: 0000000001518EF6 (utf8_main(int, char**)+0x0176)
  000000000856FE50: 0000000002A5C7DF (wmain+0x007f)
  000000000856FF20: 000000000040140C (__tmainCRTStartup+0x025c)
  000000000856FF50: 000000000040153B (mainCRTStartup+0x001b)
  000000000856FF80: 00007FF97B3B8102 (BaseThreadInitThunk+0x0022)
  000000000856FFD0: 00007FF97BB7C574 (RtlUserThreadStart+0x0034)
Steps To Reproduce mame64 pacman -numscreens 3
Additional Information  running with -video d3d and -video d3d -nohlsl causes a crash as well.

Running with -video gdi and -video bgfx does not produce a crash.
Github Commit
Flags
Regression Version
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
7
User avatar
No.12408
Robbbert
Senior Tester
Feb 28, 2016, 06:55
What video mode are you using? (d3d, bgfx, etc)
User avatar
No.12409
B2K24
Senior Tester
Feb 28, 2016, 07:14
Only video set to d3d causes the crash. Even -video d3d -nohlsl causes crash. gdi and bgfx does not produce a crash
User avatar
No.12412
Robbbert
Senior Tester
Mar 1, 2016, 08:36
This I believe may be fixed now. Are you able to test with latest GIT?
User avatar
No.12413
Osso
Moderator
Mar 1, 2016, 11:17
Still crashes here. d3d only, as B2K24 wrote.
User avatar
No.12414
Jezze
Developer
Mar 2, 2016, 19:24
MAME runs into an infinite loop when building the slider list in windows_osd_interface::build_slider_list()

The only renderer that provides sliders is the D3D renderer when HLSL is activated. Therefore it only occurs for the D3D renderer.

I tried to fix it myself https://github.com/ImJezze/mame/commit/546f7a24876b91ccd880b518c718beee78aede82

But I reverted the commit and didn't started a pull request, because the issue is quite bigger than I thought and my assumption that every window uses the same renderer was wrong.

The problem is that the slider menu was not designed to work with multiple screens, like the video menu where you can choose the screen #. So the sliders will only work for the last created screen (like before). If this behavior is good enough to fix the current bug feel free to apply my changes.
User avatar
No.12462
B2K24
Senior Tester
Mar 18, 2016, 06:14
Thank You Jezze. I can confirm this issue is resolved after compiling ba499f3860cecb5a272ccc7ffbd5d75000a5ffb6
User avatar
No.13515
evh347
Tester
Dec 29, 2016, 04:00
This issue does not appear resolved. I tested in several version since this problem surfaced and most recently in 181.

If I set num-screens to 2 and run video in auto (D3D) w/ HLSL it crashes.

If I change video mode to OpenGL, no crash.