Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07531 Crash/Freeze Critical (emulator) Always Dec 27, 2019, 18:43 Jan 1, 2020, 23:22
Tester jaw970 View Status Public Platform MAME (Official Binary)
Assigned To couriersud Resolution Fixed OS Windows 10 (64-bit)
Status [?] Resolved Driver pong.cpp
Version 0.217 Fixed in Version 0.218 Build 64-bit
Summary 07531: breakout: Crashes with exception with -video bgfx
Description Pong load fine but Breakout crashes just after ROM load screen

mame64 breakout -video bgfx

-----------------------------------------------------
Exception at EIP=000007feffed586f (register_frame_ctor+0xf5741dcf): ACCESS VIOLATION
While attempting to read memory at 00000000226db0b8
-----------------------------------------------------
RAX=0000000000000040 RBX=00000000126050d0 RCX=0000000022c82850 RDX=ffffffffffa58870
RSI=0000000000192800 RDI=0000000000000560 RBP=0000000000228950 RSP=0000000000228928
 R8=0000000000192800 R9=000000000000c940 R10=0000000000000000 R11=0000000022af0050
R12=0000000022af0040 R13=00000000225488c0 R14=00000000000000e6 R15=0000000000000000
-----------------------------------------------------
Stack crawl:
  0000000000228920: 000007feffed586f (mbscpy+0x018f)
  0000000000228950: 0000000005fd1e7d (bx::memCopy(void*, void const*, unsigned long long)+0x000d)
  00000000002289b0: 0000000005f39562 (bgfx::copy(void const*, unsigned int)+0x0052)
  0000000000228a20: 0000000003c6d1c1 (bgfx_util::mame_texture_data_to_bgfx_texture_data(bgfx::TextureFormat::Enum&, unsigned int, int, int, int, rgb_t const*, void*, unsigned short*)+0x0081)
  0000000000228c20: 0000000003c4a512 (chain_manager::update_screen_textures(unsigned int, render_primitive*, osd_window&)+0x0692)
  0000000000228d50: 0000000003c29a57 (renderer_bgfx::draw(int)+0x0127)
  0000000000228dc0: 0000000003bf223d (win_window_info::draw_video_contents(HDC__*, bool)+0x005d)
  0000000000228e90: 0000000003bf508c (win_window_info::video_window_proc(HWND__*, unsigned int, unsigned long long, long long)+0x019c)
  0000000000228ec0: 0000000003bf61cd (winwindow_video_window_proc_ui(HWND__*, unsigned int, unsigned long long, long long)+0x000d)
  0000000000228f80: 0000000077a69bbd (TranslateMessageEx+0x029d)
  0000000000229010: 0000000077a66a5c (SetTimer+0x016c)
  0000000000229060: 0000000077a66b61 (SendMessageW+0x005d)
  00000000002290b0: 0000000003bf2491 (win_window_info::update()+0x01f1)
  0000000000229100: 0000000003bf15ca (windows_osd_interface::update(bool)+0x009a)
  0000000000229180: 00000000059e27f4 (video_manager::frame_update(bool)+0x0084)
  00000000002291f0: 00000000059ab3c3 (screen_device::vblank_begin()+0x0233)
  0000000000229270: 00000000059ade25 (screen_device::device_timer(emu_timer&, unsigned int, int, void*)+0x01d5)
  00000000002292b0: 00000000059a3acd (emu_timer::device_timer_expired(emu_timer&, void*, int)+0x002d)
  0000000000229330: 00000000059a4ad9 (device_scheduler::timeslice()+0x0169)
  0000000000229420: 0000000005962de0 (running_machine::run(bool)+0x0130)
  000000000022f0d0: 0000000003c948f8 (mame_machine_manager::execute()+0x01c8)
  000000000022f3a0: 0000000003d0e593 (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&)+0x0303)
  000000000022f640: 0000000003d0e9cb (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> > > >&)+0x005b)
  000000000022f6a0: 0000000003c92a3c (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> > > >&)+0x002c)
  000000000022fe50: 000000000a5999e2 (main+0x0182)
  000000000022ff20: 00000000004013b4 (__tmainCRTStartup+0x0234)
  000000000022ff50: 000000000040150b (mainCRTStartup+0x001b)
  000000000022ff80: 0000000077b6556d (BaseThreadInitThunk+0x000d)
  000000000022ffd0: 0000000077cc385d (RtlUserThreadStart+0x001d)
Steps To Reproduce
Additional Information
Flags
Regression Version 0.215
Affected Sets / Systems breakout
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.17301
Tafoid
Administrator
Dec 27, 2019, 20:16
The only way I can get it to crash near to what you have shown above is to run using -video bgfx - Would that be a safe assumption? A normal off the shelf install uses -video d3d so testing such without changed video works fine. I presume your .sym file doesn't match your binary file because the stack crawl names do not match up to running breakout at all.

Anyway, I can confirm crashes and I've placed my stack I got with 64-bit binary for breakout.
I also noticed there is breakage using -video bgfx and the pong.cpp driver as well - so issues are not exclusive to 64-bit.
User avatar
No.17302
jaw970
Tester
Dec 27, 2019, 20:24
Thanks Tafoid. Yes, I am using -video bgfx. Forgot to mention that. Sorry, a rookie mistake. :)
User avatar
No.17304
couriersud
Developer
Dec 29, 2019, 12:58
Please continue discussion here: https://github.com/mamedev/mame/issues/6106