Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08527 Crash/Freeze Critical (emulator) Always Dec 2, 2022, 00:06 Dec 2, 2022, 00:06
Tester Firewave View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Open OS Linux (64-bit)
Status [?] Acknowledged Driver
Version 0.250 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08527: some apple2/apple2e.cpp sets: Segmentation fault with superdrive in slot
Description
==14744==ERROR: AddressSanitizer: SEGV on unknown address 0x03e800003998 (pc 0x7f9da3f8accc bp 0x7f9da0927970 sp 0x7f9da0927860 T0)
==14744==The signal is caused by a READ memory access.
    #0 0x7f9da3f8accc in __pthread_kill_implementation nptl/./nptl/pthread_kill.c:44:76
    #1 0x7f9da3f3bef1 in raise signal/../sysdeps/posix/raise.c:26:13
    #2 0x7f9da5d1f3c5  (/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0+0x13f3c5) (BuildId: 418f97e44d04d8ab9d3828e3cc45a8743439ecf7)
    #3 0x7f9da3f3bf8f  (/lib/x86_64-linux-gnu/libc.so.6+0x3bf8f) (BuildId: b1c6521cd0ab872b70c21377654e966ea9d438c9)
    #4 0x7f9de9523290 in type /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/device.h:271:46
    #5 0x7f9de9523290 in device_type_enumerator<screen_device, screen_device>::iterator::operator++() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/device.h:1358:65
    #6 0x7f9df171a808 in video_manager::finish_screen_updates() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/video.cpp:618:29
    #7 0x7f9df17195ab in video_manager::frame_update(bool) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/video.cpp:215:44
    #8 0x7f9df1610dd8 in screen_device::vblank_begin(int) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/screen.cpp:1646:21
    #9 0x7f9df15f9914 in operator() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #10 0x7f9df15f9914 in device_scheduler::execute_timers() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/schedule.cpp:951:5
    #11 0x7f9df15f4858 in device_scheduler::timeslice() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/schedule.cpp:505:2
    #12 0x7f9df14910c7 in running_machine::run(bool) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/machine.cpp:329:17
    #13 0x7f9de93578ff in mame_machine_manager::execute() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/mame.cpp:290:19
    #14 0x7f9dea710b16 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
    #15 0x7f9dea71465f 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
    #16 0x7f9de935c6df 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
    #17 0x7f9df1786d9b in main /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/sdl/sdlmain.cpp:191:9
    #18 0x7f9da3f27189 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #19 0x7f9da3f27244 in __libc_start_main csu/../csu/libc-start.c:381:3
    #20 0x7f9dcae29540 in _start (/mnt/s/GitHub/mame/mame+0x25023540) (BuildId: 76865a226e2d969a)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV nptl/./nptl/pthread_kill.c:44:76 in __pthread_kill_implementation
Steps To Reproduce ace2200 -sl2 superdrive
Additional Information Affected sets (among others):
apple2ee

There also use of uninitialized memory (possibly not related to this issue):
../../../../../src/devices/machine/swim1.cpp:615:2: runtime error: index 190 out of bounds for type 'u16[2]' (aka 'unsigned short[2]')
    #0 0x7f6eabae05d0 in swim1_device::ism_fifo_push(unsigned short) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/machine/swim1.cpp:615:32
    #1 0x7f6eabad07f1 in swim1_device::ism_write(unsigned int, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/machine/swim1.cpp:276:6
    #2 0x7f6eabad0211 in swim1_device::write(unsigned int, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/machine/swim1.cpp:165:3
    #3 0x7f6ea12f93fc in (anonymous namespace)::a2bus_superdrive_device::m65c02_w(unsigned int, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/bus/a2bus/a2superdrive.cpp:236:10
    #4 0x7f6eb03c5e1c in operator() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #5 0x7f6eb03c5e1c in std::enable_if<(((std::is_same<emu::device_delegate<void (unsigned int, unsigned char)>, emu::device_delegate<void (unsigned int, unsigned char)> >::value) || (std::is_same<emu::device_delegate<void (unsigned int, unsigned char)>, emu::device_delegate<void (unsigned int, unsigned short)> >::value)) || (std::is_same<emu::device_delegate<void (unsigned int, unsigned char)>, emu::device_delegate<void (unsigned int, unsigned int)> >::value)) || (std::is_same<emu::device_delegate<void (unsigned int, unsigned char)>, emu::device_delegate<void (unsigned int, unsigned long)> >::value), void>::type handler_entry_write_delegate<0, 0, emu::device_delegate<void (unsigned int, unsigned char)> >::write_impl<emu::device_delegate<void (unsigned int, unsigned char)> >(unsigned int, unsigned char, unsigned char) const /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem_hedp.cpp:125:2
    #6 0x7f6eb03c5c98 in handler_entry_write_delegate<0, 0, emu::device_delegate<void (unsigned int, unsigned char)> >::write(unsigned int, unsigned char, unsigned char) const /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem_hedp.cpp:150:2
    #7 0x7f6e9fc257c8 in void dispatch_write<0, 0, 0>(unsigned int, unsigned int, emu::detail::handler_entry_size<0>::uX, emu::detail::handler_entry_size<0>::uX, handler_entry_write<0, 0> const* const*) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1577:47
    #8 0x7f6eb3319e61 in handler_entry_write_dispatch<14, 0, 0>::write(unsigned int, unsigned char, unsigned char) const /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem_hedw.ipp:131:2
    #9 0x7f6e932ff9eb in void dispatch_write<1, 0, 0>(unsigned int, unsigned int, emu::detail::handler_entry_size<0>::uX, emu::detail::handler_entry_size<0>::uX, handler_entry_write<0, 0> const* const*) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1577:47
    #10 0x7f6e932fea24 in write_native /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1741:3
    #11 0x7f6e932fea24 in emu::detail::memory_access_specific<1, 0, 0, (util::endianness)0>::write_byte(unsigned int, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1657:70
    #12 0x7f6ea66e6038 in m6502_device::mi_default::write(unsigned short, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6502/m6502.cpp:555:10
    #13 0x7f6ea6684708 in m6502_device::write(unsigned short, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6502/m6502.h:140:49
    #14 0x7f6ea67fba41 in m6502_device::sta_aba_full() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../generated/emu/cpu/m6502/m6502.hxx:8701:2
    #15 0x7f6ea6fc5b42 in w65c02s_device::do_exec_full() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../generated/emu/cpu/m6502/w65c02s.hxx:6894:13
    #16 0x7f6ea66e2176 in m6502_device::execute_run() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6502/m6502.cpp:408:3
    #17 0x7f6ea66e250f in non-virtual thunk to m6502_device::execute_run() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6502/m6502.cpp
    #18 0x7f6eb5d32817 in run /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/diexec.h:190:15
    #19 0x7f6eb5d32817 in device_scheduler::timeslice() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/schedule.cpp:456:14
    #20 0x7f6eb5bd00c7 in running_machine::run(bool) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/machine.cpp:329:17
    #21 0x7f6eada968ff in mame_machine_manager::execute() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/mame.cpp:290:19
    #22 0x7f6eaee4fb16 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
    #23 0x7f6eaee5365f 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
    #24 0x7f6eada9b6df 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
    #25 0x7f6eb5ec5d9b in main /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/sdl/sdlmain.cpp:191:9
    #26 0x7f6e68667189 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #27 0x7f6e68667244 in __libc_start_main csu/../csu/libc-start.c:381:3
    #28 0x7f6e8f568540 in _start (/mnt/s/GitHub/mame/mame+0x25023540) (BuildId: 76865a226e2d969a)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../../../../src/devices/machine/swim1.cpp:615:2 in
FYI 190 is 0xBE which is memory coloring used by the sanitizers. There's possibly more uninitialized variables but UBSAN doesn't detect those.
Github Commit
Flags
Regression Version
Affected Sets / Systems some apple2/apple2e.cpp sets
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
0
There are no notes attached to this issue.