Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08476 Crash/Freeze Critical (emulator) Always Nov 4, 2022, 12:55 Nov 5, 2022, 08:33
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
Nov 4, 2022, 14:13
I did not experience any crash using the official 0.249 Windows binary.
User avatar
No.20723
Osso
Moderator
Nov 5, 2022, 07:43
No repro here, but maybe commit b211b42e1e9ed67d7ee24ee32262588defddf3f5 could fix it
User avatar
No.20724
Firewave
Senior Tester
Nov 5, 2022, 08:33
Cherry-picked and fix confirmed.