- --
Viewing Issue Advanced Details
[ Jump to Notes ]
| ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 09420 | Debugger | Critical (emulator) | Always | 1 day ago | 8 hours ago |
| Tester | hap | View Status | Public | Platform | MAME (Official Binary) |
| Assigned To | Resolution | Open | OS | Windows (x64) | |
| Status [?] | New | Driver | |||
| Version | 0.286 | Fixed in Version | Build | x64 | |
| Fixed in Git Commit | Github Pull Request # | ||||
| Summary | 09420: Crash after clicking on live disasm and doing a hard reset | ||||
| Description |
MAME crashes after clicking on live disasm and doing a hard reset. Happens as early as 0.256 ----------------------------------------------------- Exception at EIP=00007ff72eb095fb (std::_Function_handler<void (unsigned int, unsigned int), debug_disasm_buffer::debug_data_buffer::setup_methods()::{lambda(unsigned int, unsigned int)#11}>::_M_invoke(std::_Any_data const&, unsigned int&&, unsigned int&&)+0x002b): ACCESS VIOLATION While attempting to read memory at 0000000000000000 ----------------------------------------------------- RAX=0000016845fa1f60 RBX=0000000000002263 RCX=0000000ccd4f9538 RDX=0000000ccd4f89e0 RSI=0000000000002264 RDI=0000000ccd4f9538 RBP=0000000000002264 RSP=0000000ccd4f8930 R8=0000000ccd4f89e4 R9=000000000000003b R10=0000000000000000 R11=0080000001020400 R12=0000000000002264 R13=0000000ccd4f9000 R14=0000000000000000 R15=0000000ccd4f9508 ----------------------------------------------------- Stack crawl: 0000000ccd4f89a0: 00007ff72eb095fb (std::_Function_handler<void (unsigned int, unsigned int), debug_disasm_buffer::debug_data_buffer::setup_methods()::{lambda(unsigned int, unsigned int)#11}>::_M_invoke(std::_Any_data const&, unsigned int&&, unsigned int&&)+0x002b) 0000000ccd4f8a10: 00007ff72eb1a920 (debug_disasm_buffer::debug_data_buffer::fill(unsigned int, unsigned int) const+0x02c0) 0000000ccd4f8a50: 00007ff72eb1b73b (std::_Function_handler<unsigned char (unsigned int), debug_disasm_buffer::debug_data_buffer::setup_methods()::{lambda(unsigned int)#64}>::_M_invoke(std::_Any_data const&, unsigned int&&)+0x001b) 0000000ccd4f8a90: 00007ff72eb09964 (debug_disasm_buffer::debug_data_buffer::r8(unsigned int) const+0x0024) 0000000ccd4f8f70: 00007ff72bdf44f6 (z80_disassembler::disassemble(std::ostream&, unsigned int, util::disasm_interface::data_buffer const&, util::disasm_interface::data_buffer const&)+0x0076) 0000000ccd4f91d0: 00007ff72eb1a09b (debug_disasm_buffer::disassemble(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&, unsigned int&, unsigned int&) const+0x01db) 0000000ccd4f9290: 00007ff72ef5229b (debug_view_disasm::generate_with_pc(debug_disasm_buffer&, unsigned int)+0x034b) 0000000ccd4f92f0: 00007ff72ef53157 (debug_view_disasm::generate_dasm(debug_disasm_buffer&, unsigned int)+0x0147) 0000000ccd4f9830: 00007ff72ef532cc (debug_view_disasm::view_update()+0x008c) 0000000ccd4f9870: 00007ff72adc7f88 (debug_view::set_cursor_visible(bool)+0x0098) 0000000ccd4f9920: 00007ff73052dab3 (luaopen_lfs+0x96d9c3) 0000000ccd4f9ab0: 00007ffb8d6cef5c (CallWindowProcW+0x060c) 0000000ccd4f9b10: 00007ffb8d6ce8cc (DispatchMessageW+0x06ec) 0000000ccd4f9b70: 00007ffb8d6e10c3 (SendMessageTimeoutW+0x0143) 0000000ccd4f9bf8: 00007ffb8e791494 (KiUserCallbackDispatcher+0x0024) 0000000ccd4f9c00: 00007ffb8c012384 (NtUserDestroyWindow+0x0014) 0000000ccd4f9c30: 00007ff73052b7b0 (luaopen_lfs+0x96b6c0) 0000000ccd4f9c60: 00007ff7305333a8 (luaopen_lfs+0x9732b8) 0000000ccd4f9ca0: 00007ff730096d97 (luaopen_lfs+0x4d6ca7) 0000000ccd4f9ce0: 00007ff72ee750d8 (osd::(anonymous namespace)::debugger_windows::exit()+0x0028) 0000000ccd4f9d20: 00007ff72ee1d81a (osd_module_manager::exit()+0x004a) 0000000ccd4f9d60: 00007ff72ab8a96d (osd_common_t::osd_exit()+0x005d) 0000000ccd4f9d90: 00007ff72732bf61 (windows_osd_interface::osd_exit()+0x0021) 0000000ccd4f9ee0: 00007ff7275262ba (running_machine::run(bool)+0x028a) 0000000ccd4ff360: 00007ff72ab78a9b (mame_machine_manager::execute()+0x020b) 0000000ccd4ff740: 00007ff72edefad9 (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&)+0x03c9) 0000000ccd4ff9f0: 00007ff72edf008d (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> > > >&)+0x004d) 0000000ccd4ffa50: 00007ff72ab73179 (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) 0000000ccd4ffe20: 00007ff730c267bc (luaopen_lfs+0x10666cc) 0000000ccd4ffef0: 00007ff7233013b1 (__tmainCRTStartup+0x0231) 0000000ccd4fff20: 00007ff7233014e6 (mainCRTStartup+0x0016) 0000000ccd4fff50: 00007ffb8de57374 (BaseThreadInitThunk+0x0014) 0000000ccd4fffd0: 00007ffb8e73cc91 (RtlUserThreadStart+0x0021) |
||||
| Steps To Reproduce |
game does not matter, but let's use pacman as example - mame pacman -window -debug - left click once on live disasm (background of that line becomes red, see screenshot what I mean) - hard reset from debug menu, or by pressing shift f3 - mame crashes |
||||
| Additional Information |
Thread 1 received signal SIGSEGV, Segmentation fault. 0x00007ff70099a95b in debug_watchpoint::triggered(read_or_write, unsigned int, unsigned long long, unsigned long long) () (gdb) bt #0 0x00007ff70099a95b in debug_watchpoint::triggered(read_or_write, unsigned int, unsigned long long, unsigned long long) () #1 0x00007ff7009ab9bd in debug_disasm_buffer::debug_data_buffer::fill(unsigned int, unsigned int) const () #2 0x00007ff7009ac7cb in debug_disasm_buffer::debug_data_buffer::fill(unsigned int, unsigned int) const () #3 0x00007ff70099ae34 in debug_disasm_buffer::debug_data_buffer::r8(unsigned int) const () #4 0x00007ff6fda0472f in z80_disassembler::disassemble(std::basic_ostream<char, std::char_traits<char> >&, unsigned int, util::disasm_interface::data_buffer const&, util::disasm_interface::data_buffer const&) () #5 0x00007ff7009ab199 in debug_disasm_buffer::disassemble(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&, unsigned int&, unsigned int&) const () #6 0x00007ff700df1320 in debug_view_disasm::generate_with_pc(debug_disasm_buffer&, unsigned int) () #7 0x00007ff700df226b in debug_view_disasm::generate_dasm(debug_disasm_buffer&, unsigned int) () #8 0x00007ff700df23d8 in debug_view_disasm::view_update() () #9 0x00007ff6fc97020b in debug_view::set_cursor_visible(bool) () #10 0x00007ff70250aa8b in osd::debugger::win::debugview_info::view_proc(unsigned int, unsigned long long, long long) () #11 0x00007ffb8d6cef5c in USER32!CallWindowProcW () from C:\WINDOWS\System32\user32.dll #12 0x00007ffb8d6ce8cc in USER32!DispatchMessageW () from C:\WINDOWS\System32\user32.dll #13 0x00007ffb8d6e10c3 in USER32!SendMessageTimeoutW () from C:\WINDOWS\System32\user32.dll #14 0x00007ffb8e791494 in ntdll!KiUserCallbackDispatcher () from C:\WINDOWS\SYSTEM32\ntdll.dll #15 0x00007ffb8c012384 in win32u!NtUserDestroyWindow () from C:\WINDOWS\System32\win32u.dll #16 0x00007ff702508140 in osd::debugger::win::debugview_info::~debugview_info() () #17 0x00007ff70250fc88 in osd::debugger::win::disasmview_info::~disasmview_info() () #18 0x00007ff701fda4d7 in osd::debugger::win::debugwin_info::destroy() () #19 0x00007ff700d0fc48 in std::_Hashtable<input_item_id, std::pair<input_item_id const, ImGuiKey>, std::allocator<std::pair<input_item_id const, ImGuiKey> >, std::__detail::_Select1st, std::equal_to<input_item_id>, std::hash<input_item_id>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_insert_unique_node(unsigned long long, unsigned long long, std::__detail::_Hash_node<std::pair<input_item_id const, ImGuiKey>, false>*, unsigned long long) () #20 0x00007ff700cb58ea in osd_module_manager::exit() () #21 0x00007ff6fc6e46a4 in osd_common_t::osd_exit() () --Type <RET> for more, q to quit, c to continue without paging-- #22 0x00007ff6f8a46f90 in windows_osd_interface::osd_exit() () #23 0x00007ff6f8c8420a in running_machine::run(bool) () #24 0x00007ff6fc6ce770 in mame_machine_manager::execute() () #25 0x00007ff700c91e46 in 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&) () #26 0x00007ff700c923f8 in 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> > > >&) () #27 0x00007ff6fc6c96d6 in 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> > > >&) () #28 0x00007ff702c2aba8 in main () (gdb) |
||||
| Github Commit | |||||
| Flags | |||||
| Regression Version | |||||
| Affected Sets / Systems | |||||
|
Attached Files
|
| ||||
Relationships
| There are no relationship linked to this issue. |
Notes
2
|
No.24287
Robbbert Moderator
1 day ago
|
Unable to reproduce this. When I asked for Hard Reset, it restarted with address 0000 highlighted in brown. At this point I could only run the program one instruction at a time by pressing enter, with 'g' or 'q' having no effect. Can't see how to turn this off without exiting and deleting the cfg. |
|---|---|
|
No.24290
hap Developer
8 hours ago
|
I tried on my laptop (newer CPU than main pc, Windows 11 instead of 10), and can repro the same crash. |