Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08476 Crash/Freeze Critical (emulator) Always 25 days ago 24 days ago
Tester Firewave View Status Public Platform MAME (Self-compiled)
Assigned To Osso Resolution Fixed OS Linux (64-bit)
Status [?] Resolved Driver
Version 0.249 Fixed in Version 0.250 Build 64-bit
Fixed in Git Commit b211b42 Github Pull Request #
Summary 08476: most taito/qix.cpp sets: Segmentation fault
Description
AddressSanitizer:DEADLYSIGNAL
=================================================================
==11071==ERROR: AddressSanitizer: SEGV on unknown address 0x03e800002b3f (pc 0x7ffa15af957c bp 0x000000002b3f sp 0x7ffa124777e0 T0)
==11071==The signal is caused by a READ memory access.
    #0 0x7ffa15af957c in __pthread_kill_implementation nptl/./nptl/pthread_kill.c:44:76
    #1 0x7ffa15aada01 in gsignal signal/../sysdeps/posix/raise.c:26:13
    #2 0x7ffa1789f3c5  (/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0+0x13f3c5) (BuildId: 418f97e44d04d8ab9d3828e3cc45a8743439ecf7)
    #3 0x7ffa15aada9f  (/lib/x86_64-linux-gnu/libc.so.6+0x3da9f) (BuildId: 71a7c7b97bc0b3e349a3d8640252655552082bf5)
    #4 0x7ffa421f518a in qix_state::crtc_update_row(bitmap_rgb32&, rectangle const&, unsigned short, unsigned char, unsigned short, unsigned char, signed char, int, int, int) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/mame/taito/qix_v.cpp:289:13
    #5 0x7ffa4e4f78db in util::detail::delegate_base<delegate_late_bind, void, bitmap_rgb32&, rectangle const&, unsigned short, unsigned char, unsigned short, unsigned char, signed char, int, int, int>::operator()(bitmap_rgb32&, rectangle const&, unsigned short, unsigned char, unsigned short, unsigned char, signed char, int, int, int) const /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #6 0x7ffa4e4d8151 in mc6845_device::draw_scanline(int, bitmap_rgb32&, rectangle const&) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/video/mc6845.cpp
    #7 0x7ffa4e4dab6c in mc6845_device::screen_update(screen_device&, bitmap_rgb32&, rectangle const&) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/video/mc6845.cpp:1192:10
    #8 0x7ffa4c6617bd in util::detail::delegate_base<delegate_late_bind, unsigned int, screen_device&, bitmap_rgb32&, rectangle const&>::operator()(screen_device&, bitmap_rgb32&, rectangle const&) const /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #9 0x7ffa573e8201 in screen_device::update_partial(int) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/screen.cpp:1216:41
    #10 0x7ffa421f1e19 in qix_state::qix_videoram_w(unsigned int, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/mame/taito/qix_v.cpp:100:12
    #11 0x7ffa51c4459c in operator() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #12 0x7ffa51c4459c 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
    #13 0x7ffa51c44418 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
    #14 0x7ffa3820e95b 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
    #15 0x7ffa3d915af4 in write_native /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1741:3
    #16 0x7ffa3d915af4 in emu::detail::memory_access_specific<1, 0, 0, (util::endianness)1>::write_byte(unsigned int, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1657:70
    #17 0x7ffa492c7d58 in m6809_base_device::mi_default::write(unsigned short, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809.cpp:597:10
    #18 0x7ffa4928093d in m6809_base_device::write_memory(unsigned short, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809.h:196:78
    #19 0x7ffa492e9907 in write_operand /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809inl.h:122:39
    #20 0x7ffa492e9907 in m6809_base_device::execute_one() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../generated/emu/cpu/m6809/m6809.hxx:1354:2
    #21 0x7ffa492c7a5e in m6809_base_device::execute_run() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809.cpp:574:3
    #22 0x7ffa492c7b1f in non-virtual thunk to m6809_base_device::execute_run() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809.cpp
    #23 0x7ffa573c1817 in run /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/diexec.h:190:15
    #24 0x7ffa573c1817 in device_scheduler::timeslice() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/schedule.cpp:456:14
    #25 0x7ffa5725a4a7 in running_machine::run(bool) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/machine.cpp:329:17
    #26 0x7ffa5a3c0f7f in mame_machine_manager::execute() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/mame.cpp:290:19
    #27 0x7ffa5a5b58d6 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
    #28 0x7ffa5a5b941f 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
    #29 0x7ffa5a3c5d5f 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
    #30 0x7ffa5759c58b in main /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/sdl/sdlmain.cpp:191:9
    #31 0x7ffa15a99209 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #32 0x7ffa15a992bb in __libc_start_main csu/../csu/libc-start.c:389:3
    #33 0x7ffa34d26260 in _start (/mnt/s/GitHub/mame/mame+0x1d397260) (BuildId: 603d3d1c300651feb2a8e3ac6e9cb58d3f85e77b)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV nptl/./nptl/pthread_kill.c:44:76 in __pthread_kill_implementation
==11071==ABORTING

Possibly caused by
../../../../../src/mame/taito/qix_v.cpp:282:29: runtime error: index 48640 out of bounds for type 'pen_t[1024]' (aka 'unsigned int[1024]')
    #0 0x7fd7a62d1356 in qix_state::crtc_update_row(bitmap_rgb32&, rectangle const&, unsigned short, unsigned char, unsigned short, unsigned char, signed char, int, int, int) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/mame/taito/qix_v.cpp:282:29
    #1 0x7fd7b25d38db in util::detail::delegate_base<delegate_late_bind, void, bitmap_rgb32&, rectangle const&, unsigned short, unsigned char, unsigned short, unsigned char, signed char, int, int, int>::operator()(bitmap_rgb32&, rectangle const&, unsigned short, unsigned char, unsigned short, unsigned char, signed char, int, int, int) const /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #2 0x7fd7b25b4151 in mc6845_device::draw_scanline(int, bitmap_rgb32&, rectangle const&) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/video/mc6845.cpp
    #3 0x7fd7b25b6b6c in mc6845_device::screen_update(screen_device&, bitmap_rgb32&, rectangle const&) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/video/mc6845.cpp:1192:10
    #4 0x7fd7b073d7bd in util::detail::delegate_base<delegate_late_bind, unsigned int, screen_device&, bitmap_rgb32&, rectangle const&>::operator()(screen_device&, bitmap_rgb32&, rectangle const&) const /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #5 0x7fd7bb4c4201 in screen_device::update_partial(int) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/screen.cpp:1216:41
    #6 0x7fd7a62cde19 in qix_state::qix_videoram_w(unsigned int, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/mame/taito/qix_v.cpp:100:12
    #7 0x7fd7b5d2059c in operator() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:765:11
    #8 0x7fd7b5d2059c 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
    #9 0x7fd7b5d20418 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
    #10 0x7fd79c2ea95b 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
    #11 0x7fd7a19f1af4 in write_native /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1741:3
    #12 0x7fd7a19f1af4 in emu::detail::memory_access_specific<1, 0, 0, (util::endianness)1>::write_byte(unsigned int, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.h:1657:70
    #13 0x7fd7ad3a3d58 in m6809_base_device::mi_default::write(unsigned short, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809.cpp:597:10
    #14 0x7fd7ad35c93d in m6809_base_device::write_memory(unsigned short, unsigned char) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809.h:196:78
    #15 0x7fd7ad3c5907 in write_operand /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809inl.h:122:39
    #16 0x7fd7ad3c5907 in m6809_base_device::execute_one() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../generated/emu/cpu/m6809/m6809.hxx:1354:2
    #17 0x7fd7ad3a3a5e in m6809_base_device::execute_run() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809.cpp:574:3
    #18 0x7fd7ad3a3b1f in non-virtual thunk to m6809_base_device::execute_run() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/cpu/m6809/m6809.cpp
    #19 0x7fd7bb49d817 in run /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/diexec.h:190:15
    #20 0x7fd7bb49d817 in device_scheduler::timeslice() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/schedule.cpp:456:14
    #21 0x7fd7bb3364a7 in running_machine::run(bool) /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/machine.cpp:329:17
    #22 0x7fd7be49cf7f in mame_machine_manager::execute() /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/frontend/mame/mame.cpp:290:19
    #23 0x7fd7be6918d6 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
    #24 0x7fd7be69541f 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
    #25 0x7fd7be4a1d5f 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
    #26 0x7fd7bb67858b in main /mnt/s/GitHub/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/sdl/sdlmain.cpp:191:9
    #27 0x7fd779b79209 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #28 0x7fd779b792bb in __libc_start_main csu/../csu/libc-start.c:389:3
    #29 0x7fd798e02260 in _start (/mnt/s/GitHub/mame/mame+0x1d397260) (BuildId: 603d3d1c300651feb2a8e3ac6e9cb58d3f85e77b)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../../../../src/mame/taito/qix_v.cpp:282:29 in
Steps To Reproduce
Additional Information Affected sets:
complexx
elecyoyo
elecyoyo2
kram
kram2
kram3
qix
qix2
qixa
qixb
qixo
sdungeon
sdungeona
Github Commit
Flags
Regression Version
Affected Sets / Systems most taito/qix.cpp sets
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.20697
Firewave
Senior Tester
25 days ago
I did not experience any crash using the official 0.249 Windows binary.
User avatar
No.20723
Osso
Moderator
24 days ago
No repro here, but maybe commit b211b42e1e9ed67d7ee24ee32262588defddf3f5 could fix it
User avatar
No.20724
Firewave
Senior Tester
24 days ago
Cherry-picked and fix confirmed.