Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08471 Crash/Freeze Critical (emulator) Sometimes Oct 28, 2022, 11:09 Nov 4, 2022, 14:50
Tester Firewave View Status Public Platform MAME (Official Binary)
Assigned To Osso Resolution Fixed OS Windows 10/11 (64-bit)
Status [?] Resolved Driver
Version 0.249 Fixed in Version 0.250 Build 64-bit
Fixed in Git Commit fffa96c Github Pull Request #
Summary 08471: wseries: Access Violation
Description
-----------------------------------------------------
Exception at EIP=00007ff751977300 (leland_state::scanline_callback(int)+0x0040): ACCESS VIOLATION
While attempting to read memory at 000001411d5c3aa0
-----------------------------------------------------
RAX=0000000000ffffa0 RBX=0000000000000000 RCX=000001411a00c680 RDX=000001411c5c3b00
RSI=000001411a00c680 RDI=0de0b6b3a763ffff RBP=0de0b6b3a763ffff RSP=0000003b820f9b10
 R8=00007ff74ba6d530  R9=0000014119bd9c50 R10=00000026ce1b82aa R11=000001411a0cf080
R12=000001411a0e08f8 R13=000000000000186a R14=00007ff75b4b0be0 R15=0000003b820f9ec0
-----------------------------------------------------
Stack crawl:
  0000003b820f9b60: 00007ff751977300 (leland_state::scanline_callback(int)+0x0040)
  0000003b820f9bd0: 00007ff7503afd5b (device_scheduler::timeslice()+0x014b)
  0000003b820f9d30: 00007ff7503acc78 (running_machine::run(bool)+0x0198)
  0000003b820ff1b0: 00007ff753983fdb (mame_machine_manager::execute()+0x020b)
  0000003b820ff590: 00007ff7562bbf1f (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&)+0x03cf)
  0000003b820ff850: 00007ff7562bc52d (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)
  0000003b820ff8b0: 00007ff75397e689 (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)
  0000003b820ffc80: 00007ff75746b997 (main+0x0197)
  0000003b820ffd50: 00007ff74b9313b1 (__tmainCRTStartup+0x0231)
  0000003b820ffd80: 00007ff74b9314e6 (mainCRTStartup+0x0016)
  0000003b820ffdb0: 00007fff5e6d7034 (BaseThreadInitThunk+0x0014)
  0000003b820ffe30: 00007fff5e9a26a1 (RtlUserThreadStart+0x0021)

It is most likely drawing out-of-bounds.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems wseries
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
7
User avatar
No.20676
Tafoid
Administrator
Oct 29, 2022, 17:40
I have had tests where this showed up, but no specific commit or 'cause' for it as it doesn't happen always.
Confirmed, regardless.
User avatar
No.20677
Firewave
Senior Tester
Oct 29, 2022, 17:53
If you have a Windows build with debug symbols (which I don't) you can try using Dr. Memory to get more information. It's similar to valgrind and cross-platform but it's *very* slow.
User avatar
No.20680
Firewave
Senior Tester
Nov 1, 2022, 23:46
edited on: Nov 2, 2022, 22:54
0.249 reports this:
AddressSanitizer:DEADLYSIGNAL
=================================================================
==30290==ERROR: AddressSanitizer: SEGV on unknown address 0x6310026406a0 (pc 0x7ff273caf0e3 bp 0x7fffded08b10 sp 0x7fffded08a40 T0)
==30290==The signal is caused by a READ memory access.
    #0 0x7ff273caf0e3 in leland_state::scanline_callback(int) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/mame/cinematronics/leland_v.cpp:36:13
    #1 0x7ff29364e304 in operator() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #2 0x7ff29364e304 in device_scheduler::execute_timers() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/schedule.cpp:951:5
    #3 0x7ff293649858 in device_scheduler::timeslice() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/schedule.cpp:505:2
    #4 0x7ff2934e14a7 in running_machine::run(bool) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/machine.cpp:329:17
    #5 0x7ff296647f7f in mame_machine_manager::execute() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/mame.cpp:290:19
    #6 0x7ff29683c8d6 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&) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/clifront.cpp:275:22
    #7 0x7ff29684041f 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> > > >&) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/clifront.cpp:291:3
    #8 0x7ff29664cd5f 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> > > >&) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/mame.cpp:454:18
    #9 0x7ff29382358b in main /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/sdl/sdlmain.cpp:191:9
    #10 0x7ff251d29209 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #11 0x7ff251d292bb in __libc_start_main csu/../csu/libc-start.c:389:3
    #12 0x7ff270fad260 in _start (/mnt/s/GitHub/mame/mame+0x1d397260) (BuildId: 603d3d1c300651feb2a8e3ac6e9cb58d3f85e77b)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/mame/cinematronics/leland_v.cpp:36:13 in leland_state::scanline_callback(int)
==30290==ABORTING
User avatar
No.20689
Osso
Moderator
Nov 3, 2022, 18:44
I can't get it to crash with standard or debug builds on Windows. I did notice that the leland driver didn't initialized most variables, so I did. If you can check current git or 0.250 (when it's out) maybe you could verify if it helps?
User avatar
No.20690
Firewave
Senior Tester
Nov 3, 2022, 19:14
I also had a hard time reproducing it.

Will cherry pick the change after the current testrun is done - so give it a day or two. Thanks.
User avatar
No.20691
Firewave
Senior Tester
Nov 4, 2022, 13:01
I get the segmentation fault for the following sets as well (without the changes):
aafbc
aafbd2p
alleymas
cerberus
dangerz
mayhem
powrplay
quarterb
quarterba
quarterbc
teamqb
teamqb2
upyoural
viper
wseries0
User avatar
No.20698
Firewave
Senior Tester
Nov 4, 2022, 14:50
I cherry-picked the change and no longer get the segmentation fault. Thanks.