- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
07576 | Crash/Freeze | Critical (emulator) | Random | Feb 27, 2020, 18:29 | Apr 29, 2022, 06:18 |
Tester | Kale | View Status | Public | Platform | MAME (Official Binary) |
Assigned To | Resolution | Open | OS | Windows 10 (64-bit) | |
Status [?] | Acknowledged | Driver | thepit.cpp | ||
Version | 0.218 | Fixed in Version | Build | 64-bit | |
Fixed in Git Commit | Github Pull Request # | ||||
Summary | 07576: desertdn, zaryavos, dockman, suprmous. possibly all games in the driver: Accessing debug tilemap viewer crashes MAME | ||||
Description | Trying to access the tilemap viewer in F4 menu causes a crash in MAME. | ||||
Steps To Reproduce | Boot the game, press F4, press enter twice. | ||||
Additional Information | |||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | desertdn, zaryavos, dockman, suprmous. possibly all games in the driver | ||||
Attached Files
|
|||||
Relationships
There are no relationship linked to this issue. |
Notes
9
![]() No.17429
Tafoid Administrator
Feb 27, 2020, 19:24
|
Unable to duplicate locally with mamedev.org 0.218 (64bit) as well as a self-compiled DEBUG=1 binary as well. Tested all machines explicitly stated above. Same results in current Git sources. |
---|---|
![]() No.17430
Robbbert Developer
Feb 27, 2020, 22:34
|
No crash here with current git. |
![]() No.17431
Osso Developer
Feb 28, 2020, 06:54
edited on: Feb 28, 2020, 06:58 |
The first time I tried with 0.218 it didn't happen, but then I had it happen randomly. |
![]() No.17433
Kale Developer
Feb 28, 2020, 14:08
|
Tried on another machine with bleeding edge compile, it truly seems random and happening with -video bgfx -bgfx_backend d3d11. Changing any of these options then flip them back seems to be relevant, guess I'm gonna SYMBOL-ize it and see what's the culprit. |
![]() No.17434
Kale Developer
Feb 28, 2020, 14:29
edited on: Feb 28, 2020, 14:30 |
----------------------------------------------------- Exception at EIP=000000000089c5ec (tilemap_t::get_info_debug(unsigned int, unsig ned int, unsigned char&, unsigned int&, unsigned int&)+0x006c): INTEGER DIVIDE B Y ZERO ----------------------------------------------------- RAX=00000000fb3b1c20 RBX=00000000125077c0 RCX=0000000000000000 RDX=0000000000000 000 RSI=0000000000238b30 RDI=0000000004cf1670 RBP=0000000000238e60 RSP=0000000000238 940 R8=0000000012507908 R9=0000000000000000 R10=0000000000000001 R11=0000000000000 002 R12=0000000000238c70 R13=0000000004c4e220 R14=0000000000238ce0 R15=0000000004b80 560 ----------------------------------------------------- Stack crawl: 0000000000238980: 000000000089c5ec (tilemap_t::get_info_debug(unsigned int, un signed int, unsigned char&, unsigned int&, unsigned int&)+0x006c) 00000000002390c0: 0000000000551d4b (tilemap_handler(mame_ui_manager&, render_c ontainer&, ui_gfx_state&) [clone .constprop.136]+0x12cb) 0000000000239100: 0000000000553a6e (ui_gfx_ui_handler(render_container&, mame_ ui_manager&, bool)+0x009e) 00000000002391f0: 00000000005376a8 (mame_ui_manager::update_and_render(render_ container&)+0x0168) 0000000000239270: 00000000008bf585 (video_manager::frame_update(bool)+0x0035) 00000000002393e0: 0000000000839814 (running_machine::run(bool)+0x02c4) 000000000023f090: 00000000004f8550 (mame_machine_manager::execute()+0x01e0) 000000000023f350: 0000000000570367 (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::cha r_traits<char>, std::allocator<char> > > > const&)+0x01b7) 000000000023f640: 0000000000570696 (cli_frontend::execute(std::vector<std::__c xx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::al locator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator< char> > > >&)+0x0056) 000000000023f6a0: 00000000004f6307 (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, s td::char_traits<char>, std::allocator<char> > > >&)+0x0027) 000000000023fe50: 0000000001e9ba57 (main+0x0187) 000000000023ff20: 00000000004013a5 (__tmainCRTStartup+0x0225) 000000000023ff50: 000000000040150b (mainCRTStartup+0x001b) 000000000023ff80: 00007ffc7c7813d2 (BaseThreadInitThunk+0x0022) 000000000023ffd0: 00007ffc7d3e54f4 (RtlUserThreadStart+0x0034)Something that doesn't get initialized properly my guess, it also helped to reboot the host machine (?). |
![]() No.17435
Kale Developer
Feb 28, 2020, 14:52
|
Looked at the code: there's a m_graphics_bank variable that is: 1. used only by intrepid; 2. updated in screen_update_desertdan cheaply and on-the-fly (wtf); Additionally the solid_get_tile_info fn accesses stuff most likely unsafe: you can achieve the same thing by just pre-caching in a specific gfx region instead. |
![]() No.20108
Robbbert Developer
Apr 28, 2022, 12:58
|
Seems to be working now. |
![]() No.20120
Tafoid Administrator
Apr 28, 2022, 21:53
|
I tested machine dockman and I get crashing when I run with full screen default d3d render as described above. With -window it doesn't crash all the time, but it did crash in one attempt for me. With Debug, I dependably obtain an assert: Assertion failed: index < MAX_GFX_ELEMENTS, file R:/mame242/src/emu/digfx.h, line 175 |
![]() No.20125
Robbbert Developer
Apr 29, 2022, 06:18
|
Completely unable to replicate this. Sorry about that. |