Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
09256 Crash/Freeze Critical (emulator) Always Sep 9, 2025, 17:55 2 days ago
Tester Robbbert View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Open OS
Status [?] Confirmed Driver
Version 0.280 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary 09256: sun_s10, sun_s20: Crash shortly after start
Description After starting, and answering the red screen, it crashes.
Steps To Reproduce >mame sun_s10

Press any key at the red screen, and wait a few moments.
Additional Information C:\MAME>mame sun_s10

-----------------------------------------------------
Exception at EIP=00007ff66d17fa46 (sparc_base_device::execute_group3(unsigned int)+0x0af6): ACCESS VIOLATION
While attempting to read memory at 0000000000000000
-----------------------------------------------------
RAX=000001f8350a248c RBX=000001f83509df20 RCX=0000000000000000 RDX=0000000020000008
RSI=00000000ec84c5e0 RDI=0000000000000100 RBP=00007ff678d48590 RSP=000000d73a0f9750
 R8=00000000ffffffff R9=000001f835079600 R10=00000000ec84c5e0 R11=00000000000000c6
R12=0de0b6b3a7640000 R13=00007ff678d48590 R14=0000000000000014 R15=000000d73a0f9c60
-----------------------------------------------------
Stack crawl:
  000000d73a0f9790: 00007ff66d17fa46 (sparc_base_device::execute_group3(unsigned int)+0x0af6)
  000000d73a0f98a0: 00007ff66d178447 (sparc_base_device::execute_run()+0x0ab7)
  000000d73a0f9920: 00007ff66a37131c (device_scheduler::timeslice()+0x04ac)
  000000d73a0f9aa0: 00007ff66a36e1d5 (running_machine::run(bool)+0x01c5)
  000000d73a0ff0c0: 00007ff66d72639c (mame_machine_manager::execute()+0x024c)
  000000d73a0ff4b0: 00007ff6715d332a (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&)+0x03ea)
  000000d73a0ff7c0: 00007ff6715d395a (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> > > >&)+0x007a)
  000000d73a0ff820: 00007ff66d721137 (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> > > >&)+0x0027)
  000000d73a0ffbf0: 00007ff6733b55a1 (luaopen_lfs+0xd4b0f1)
  000000d73a0ffc40: 00007ff6665412ee (__tmainCRTStartup+0x016e)
  000000d73a0ffc70: 00007ff666541406 (mainCRTStartup+0x0016)
  000000d73a0ffca0: 00007ffa13737374 (BaseThreadInitThunk+0x0014)
  000000d73a0ffd20: 00007ffa1569cc91 (RtlUserThreadStart+0x0021)
Github Commit
Flags
Regression Version
Affected Sets / Systems sun_s10, sun_s20
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.23671
hap
Developer
Sep 9, 2025, 18:04
It crashes in inline void sparc_base_device::execute_lda(uint32_t op)
here: const uint32_t data = read_word(ASI, address); while ASI = 0x2f. There's already an assert for ASI < 0x10, I expect it will trigger in a debug build.
User avatar
No.23676
Robbbert
Moderator
Sep 12, 2025, 05:34
Thanks for confirmation.
User avatar
No.24536
Firewave
Senior Tester
2 days ago
Running 0.289 on Linux:
==158879==ERROR: AddressSanitizer: heap-use-after-free on address 0x7e4865322784 at pc 0x561c6c4728e4 bp 0x7ffe5e279510 sp 0x7ffe5e279508
READ of size 8 at 0x7e4865322784 thread T0
    #0 0x561c6c4728e3 in dispatch_read<1, 2, 0> /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1630:9
    #1 0x561c6c4728e3 in read_native /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1826:10
    #2 0x561c6c4728e3 in operator() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1711:86
    #3 0x561c6c4728e3 in memory_read_generic<2, 0, (std::endian)4321, 2, true, (lambda at /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1711:24)> /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:848:10
    #4 0x561c6c4728e3 in read_dword /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1725:52
    #5 0x561c6c4728e3 in read_word /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/sparc/sparc.cpp:1098:27
    #6 0x561c6c4728e3 in execute_lda /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/sparc/sparc.cpp:2890:24
    #7 0x561c6c4728e3 in sparc_base_device::execute_group3(unsigned int) /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/sparc/sparc.cpp:3201:4
    #8 0x561c6c46af34 in sparc_base_device::dispatch_instruction(unsigned int) /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/sparc/sparc.cpp:3740:3
    #9 0x561c6c4627e9 in execute_step /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/sparc/sparc.cpp:4409:3
    #10 0x561c6c4627e9 in void sparc_base_device::run_loop<false, (sparc_base_device::running_mode)2>() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/sparc/sparc.cpp:4490:4
    #11 0x561c6c458b86 in sparc_base_device::execute_run() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/sparc/sparc.cpp:4557:5
    #12 0x561c740b2042 in run /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/diexec.h:191:15
    #13 0x561c740b2042 in device_scheduler::timeslice() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/schedule.cpp:457:14
    #14 0x561c73f8a71b in running_machine::run(bool) /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/machine.cpp:415:17
    #15 0x561c6f3fede3 in mame_machine_manager::execute() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/mame.cpp:288:19
    #16 0x561c70289b2c 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&) /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/clifront.cpp:278:22
    #17 0x561c7028c541 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>>>>&) /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/clifront.cpp:294:3
    #18 0x561c6f401c4d 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>>>>&) /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/mame.cpp:453:18
    #19 0x561c74214a4b in main /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/sdl/sdlmain.cpp:100:9
    #20 0x7fb868e27740 in __libc_start_call_main /usr/src/debug/glibc/glibc/csu/../sysdeps/nptl/libc_start_call_main.h:59:16
    #21 0x7fb868e27878 in __libc_start_main /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:360:3
    #22 0x561c54046164 in _start (/home/user/CLionProjects/mame/mame-asan+0x11598164) (BuildId: 13beb3120a836eda0c05eca94b4a95e9bd4778da)

0x7e4865322784 is located 5508 bytes inside of 16616-byte region [0x7e4865321200,0x7e48653252e8)
freed by thread T0 here:
    #0 0x561c541ac041 in operator delete(void*, unsigned long) (/home/user/CLionProjects/mame/mame-asan+0x116fe041) (BuildId: 13beb3120a836eda0c05eca94b4a95e9bd4778da)
    #1 0x561c75a70dbf in ~unique_ptr /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/16/../../../../include/c++/16/bits/unique_ptr.h:408:4
    #2 0x561c75a70dbf in util::archive_file::open_zip(std::basic_string_view<char, std::char_traits<char>>, std::unique_ptr<util::archive_file, std::default_delete<util::archive_file>>&) /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/unzip.cpp:1679:1
    #3 0x561c73e36710 in emu_file::attempt_zipped() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/fileio.cpp:748:34
    #4 0x561c73e354d6 in emu_file::open_next() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/fileio.cpp:390:13

previously allocated by thread T0 here:
    #0 0x561c541ab0c1 in operator new(unsigned long) (/home/user/CLionProjects/mame/mame-asan+0x116fd0c1) (BuildId: 13beb3120a836eda0c05eca94b4a95e9bd4778da)
    #1 0x561c75a70c22 in make_unique<util::(anonymous namespace)::zip_file_impl, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/16/../../../../include/c++/16/bits/unique_ptr.h:1105:30
    #2 0x561c75a70c22 in util::archive_file::open_zip(std::basic_string_view<char, std::char_traits<char>>, std::unique_ptr<util::archive_file, std::default_delete<util::archive_file>>&) /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/unzip.cpp:1661:19
    #3 0x561c73e36710 in emu_file::attempt_zipped() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/fileio.cpp:748:34
    #4 0x561c73e354d6 in emu_file::open_next() /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/fileio.cpp:390:13

SUMMARY: AddressSanitizer: heap-use-after-free /home/user/CLionProjects/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1630:9 in dispatch_read<1, 2, 0>