Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08857 Image Enhancement Critical (emulator) Always Apr 26, 2024, 17:32 Apr 27, 2024, 08:16
Tester john_iv View Status Public Platform MAME (Official Binary)
Assigned To cuavas Resolution Fixed OS Windows 10/11 (64-bit)
Status [?] Resolved Driver
Version 0.265 Fixed in Version 0.266 Build 64-bit
Fixed in Git Commit 6483414 Github Pull Request #
Summary 08857: Cycling through BGFX chain effects with tilde menu crashes
Description From the following Reddit thread:
https://new.reddit.com/r/MAME/comments/1ccqe1m/current_mame_version_causes_instant_crash_when/

If you cycle left or right a few times through the BGFX screen chains it will crash out.
Steps To Reproduce With 0.265 or tip of tree from the repo. Confirm you have the latest bgfx
1. 'mame.exe dkong -norc -video bgfx'
2. Tap tilde button `, go downward to screen effects.
3. Tap right arrow a couple times to move between the chains, may be necessary to go to back to the left as well depending on how many chains you have in your directory.
4. After a couple moves it will crash out.
Additional Information Backtrace from GDB

#0 0x00007ff661a0e02d in std::function<int (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int) const (
    __args#1=305419896, __args#0=0x5f96c0, this=0x27e8c990) at r:/buildtools/mingw64/include/c++/13.2.0/bits/std_function.h:591
#1 ui::menu_sliders::populate (this=0x27d70790) at ../../../../../src/frontend/mame/ui/sliders.cpp:221
#2 0x00007ff6619f31a6 in ui::menu::do_rebuild (this=this@entry=0x27d70790) at ../../../../../src/frontend/mame/ui/menu.cpp:1961
#3 0x00007ff6619f370c in ui::menu::do_handle (this=0x27d70790) at ../../../../../src/frontend/mame/ui/menu.cpp:2077
#4 0x00007ff6619f3a36 in ui::menu::global_state::ui_handler (this=0x279b81d0, container=...) at ../../../../../src/frontend/mame/ui/menu.cpp:254
#5 0x00007ff6616e9751 in util::detail::delegate_base<delegate_late_bind, unsigned int, render_container&>::operator() (args#0=..., this=0x257af928) at ../../../../../src/lib/util/delegate.h:760
#6 mame_ui_manager::update_and_render (this=0x257af910, container=...) at ../../../../../src/frontend/mame/ui/ui.cpp:857
#7 0x00007ff6616994bb in emulator_info::draw_user_interface (machine=...) at ../../../../../src/frontend/mame/mame.cpp:464
#8 0x00007ff66118e834 in video_manager::frame_update (this=0x257abe10, from_debugger=from_debugger@entry=false) at ../../../../../src/emu/video.h:49
#9 0x00007ff66114721a in screen_device::vblank_begin (this=0x386d010, param=<optimized out>) at ../../../../../src/emu/machine.h:129
#10 0x00007ff661140efc in util::detail::delegate_base<delegate_late_bind, void, int>::operator() (args#0=<optimized out>, this=<optimized out>) at ../../../../../src/lib/util/delegate.h:760
#11 device_scheduler::execute_timers (this=<optimized out>) at ../../../../../src/emu/schedule.cpp:951
#12 device_scheduler::timeslice (this=this@entry=0x5ff128) at ../../../../../src/emu/schedule.cpp:504
#13 0x00007ff6610ed9ef in running_machine::run (this=this@entry=0x5f9f40, quiet=quiet@entry=false) at ../../../../../src/emu/machine.cpp:333
#14 0x00007ff66169c6d4 in mame_machine_manager::execute (this=0x321c640, this@entry=0x5ff910) at ../../../../../src/frontend/mame/mame.cpp:288
#15 0x00007ff66173c7d2 in cli_frontend::start_execution (this=this@entry=0x5ffaa0, manager=0x5ff910, manager@entry=0x321c640, args=std::vector of length 6, capacity 6 = {...}) at ../../../../../src/frontend/mame/clifront.cpp:277
#16 0x00007ff66173cd7b in cli_frontend::execute (this=this@entry=0x5ffaa0, args=std::vector of length 6, capacity 6 = {...}) at ../../../../../src/frontend/mame/clifront.cpp:293
#17 0x00007ff66169944c in emulator_info::start_frontend (options=..., osd=..., args=std::vector of length 6, capacity 6 = {...}) at ../../../../../src/frontend/mame/mame.cpp:453
#18 0x00007ff6634005c7 in main (argc=<optimized out>, argv=<optimized out>) at ../../../../../src/osd/windows/winmain.cpp:209

Output from other debug levels leading up to gdb:
-----------------------------------------------------
Exception at EIP=00007ff6283dbba2 (not found): ACCESS VIOLATION
While attempting to read memory at ffffffffffffffff
-----------------------------------------------------
RAX=2072656b61657053 RBX=000001f24d3969f0 RCX=208eddd7dddb9b77 RDX=000000b3700f9150
RSI=000001f24acd3040 RDI=000000b3700f9140 RBP=000000000000002c RSP=000000b3700f8ff8
R8=000000b3700f9110 R9=000001f24aa3e030 R10=0000000000000100 R11=000001f24d31ae7c
R12=0000000000000002 R13=000000b3700f90f0 R14=000001f24d31b1e0 R15=000000b3700f9160
-----------------------------------------------------
Stack crawl:
000000b3700f8ff0: 00007ff6283dbba2 (luaopen_lfs+0x6316e2)
000000b3700f91f0: 00007ff627dbff05 (luaopen_lfs+0x15a45)
000000b3700f9310: 00007ff627db8ea6 (luaopen_lfs+0xe9e6)
000000b3700f9390: 00007ff627db948d (luaopen_lfs+0xefcd)
000000b3700f9410: 00007ff627db97f9 (luaopen_lfs+0xf339)
000000b3700f9520: 00007ff626d31033 (not found)
000000b3700f95b0: 00007ff622e85ae8 (not found)
000000b3700f9610: 00007ff61f5cdf7a (not found)
000000b3700f9680: 00007ff61f5baf2b (not found)
000000b3700f9800: 00007ff61f5b8185 (not found)
000000b3700fedd0: 00007ff622cd0f3c (not found)
000000b3700ff1c0: 00007ff626d794ea (not found)
000000b3700ff4d0: 00007ff626d79b1a (not found)
000000b3700ff530: 00007ff622ccbce7 (not found)
000000b3700ff8f0: 00007ff6289fbf5a (luaopen_lfs+0xc51a9a)
000000b3700ff940: 00007ff61acd12ee (not found)
000000b3700ff970: 00007ff61acd1406 (not found)
000000b3700ff9a0: 00007ffec4f6257d (BaseThreadInitThunk+0x001d)
000000b3700ffa20: 00007ffec54eaa48 (RtlUserThreadStart+0x0028)

-----------------------------------------------------
Exception at EIP=00007ff661a0e02d (ui::menu_sliders::populate()+0x069d): ACCESS VIOLATION
While attempting to read memory at ffffffffffffffff
-----------------------------------------------------
RAX=0000002583ff9350 RBX=0000012be8162dc8 RCX=0000012be815f210 RDX=0000002583ff9390
RSI=0000012be815f210 RDI=0000002583ff9380 RBP=0000002583ff92c0 RSP=0000002583ff9240
 R8=0000002583ff9350 R9=0000012be80f7880 R10=0000002583ff91c8 R11=01d0902400000002
R12=0000000000000019 R13=0000000000000003 R14=0000012be80a70d0 R15=0000002583ff93a0
-----------------------------------------------------
Stack crawl:
  0000002583ff93b0: 00007ff661a0e02d (ui::menu_sliders::populate()+0x069d)
  0000002583ff9550: 00007ff6619f31a6 (ui::menu::do_rebuild()+0x0056)
  0000002583ff95c0: 00007ff6619f370c (ui::menu::do_handle()+0x026c)
  0000002583ff9630: 00007ff6619f3a36 (ui::menu::global_state::ui_handler(render_container&)+0x0036)
  0000002583ff9750: 00007ff6616e9751 (mame_ui_manager::update_and_render(render_container&)+0x01e1)
  0000002583ff9780: 00007ff6616994bb (emulator_info::draw_user_interface(running_machine&)+0x003b)
  0000002583ff9830: 00007ff66118e834 (video_manager::frame_update(bool)+0x0054)
  0000002583ff9890: 00007ff66114721a (screen_device::vblank_begin(int)+0x00aa)
  0000002583ff9930: 00007ff661140efc (device_scheduler::timeslice()+0x08cc)
  0000002583ff9a50: 00007ff6610ed9ef (running_machine::run(bool)+0x024f)
  0000002583fff020: 00007ff66169c6d4 (mame_machine_manager::execute()+0x0224)
  0000002583fff410: 00007ff66173c7d2 (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::cr_traits<char>, std::allocator<char> > > > const&)+0x03a2)
  0000002583fff6e0: 00007ff66173cd7b (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::allocatochar> > > >&)+0x005b)
  0000002583fff740: 00007ff66169944c (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,td::char_traits<char>, std::allocator<char> > > >&)+0x002c)
  0000002583fffb10: 00007ff6634005c7 (luaopen_lfs+0x18fe857)
  0000002583fffb60: 00007ff660ef12ee (__tmainCRTStartup+0x016e)
  0000002583fffb90: 00007ff660ef1406 (mainCRTStartup+0x0016)
  0000002583fffbc0: 00007ffec4f6257d (BaseThreadInitThunk+0x001d)
  0000002583fffc40: 00007ffec54eaa48 (RtlUserThreadStart+0x0028)
Github Commit
Flags
Regression Version 0.265
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.22067
john_iv
Senior Tester
Apr 26, 2024, 17:45
Looks like a regression from 0.264 where it last worked.
User avatar
No.22068
john_iv
Senior Tester
Apr 26, 2024, 20:40
Confirmed fixed at 0.265 (mame0265-41-g64834145ae2)
User avatar
No.22069
hap
Developer
Apr 27, 2024, 08:16
edited on: Apr 27, 2024, 10:25
FYI "regression version" is the MAME release version it first broke, not the version it last worked.
So in this case, the regression version is 0.265.

(likewise, the 'fixed in version' is the official release version where it got fixed, which is the future 0.266 release)