- --
Viewing Issue Advanced Details
[ Jump to Notes ]
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
06828 | Crash/Freeze | Critical (emulator) | Always | Jan 5, 2018, 16:29 | Nov 27, 2022, 20:15 |
Tester | Firewave | View Status | Public | Platform | |
Assigned To | Resolution | Fixed | OS | ||
Status [?] | Resolved | Driver | |||
Version | 0.193 | Fixed in Version | 0.250 | Build | |
Fixed in Git Commit | 14fe203 | Github Pull Request # | #10560 | ||
Summary | 06828: All sets in cv1k.cpp, coolridr: Crash when OSDPROCESSORS is set to 1 | ||||
Description |
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h:780:16: runtime error: reference binding to null pointer of type 'work_thread_info *' #0 0x14e838e4 in std::vector<work_thread_info*, std::allocator<work_thread_info*> >::operator[](unsigned long) /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h:780:9 #1 0x14e82718 in osd_work_item_queue_multiple(osd_work_queue*, void* (*)(void*, int), int, void*, int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/osdsync.cpp:556:32 #2 0x1159abe2 in osd_work_item_queue /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/osdcore.h:625:9 #3 0x1159abe2 in epic12_device::gfx_exec_w(address_space&, unsigned int, unsigned int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/video/epic12.cpp:738 #4 0x1159be62 in epic12_device::blitter_w(address_space&, unsigned int, unsigned int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/video/epic12.cpp:871:4 #5 0x26a449d in delegate_base<void, address_space&, unsigned int, unsigned int, unsigned int>::operator()(address_space&, unsigned int, unsigned int, unsigned int) const /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:544:11 #6 0x13712220 in handler_entry_write::write_stub_64(address_space&, unsigned int, unsigned long, unsigned long) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:5271:5 #7 0x13543ae3 in delegate_base<void, address_space&, unsigned int, unsigned long, unsigned long>::operator()(address_space&, unsigned int, unsigned long, unsigned long) const /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:544:11 #8 0x13819826 in handler_entry_write::write64(address_space&, unsigned int, unsigned long, unsigned long) const /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:471:80 #9 0x138270a0 in address_space_specific<unsigned long, (endianness_t)1, 0, true>::write_native(unsigned int, unsigned long, unsigned long) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:1174:45 #10 0x13827587 in void address_space_specific<unsigned long, (endianness_t)1, 0, true>::write_direct<unsigned int, true>(unsigned int, unsigned int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:1346:12 #11 0x13825c22 in address_space_specific<unsigned long, (endianness_t)1, 0, true>::write_dword_static(address_space_specific<unsigned long, (endianness_t)1, 0, true>&, unsigned int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:1502:163 #12 0x7ff42110c5c0 (<unknown module>) |
||||
Steps To Reproduce |
Windows: set OSDPROCESSORS=1 mame64 -window akatana Linux: OSDPROCESSORS=1 ./mame64 -window akatana |
||||
Additional Information | On Windows it just exits back to the command-line without any message. | ||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | All sets in cv1k.cpp, coolridr | ||||
Attached Files
|
|||||
Relationships
There are no relationship linked to this issue. |
Notes
3
No.14623
Firewave Senior Tester
Jan 5, 2018, 18:56
|
==85290==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x00000fba1fde bp 0x7ffd57d9c570 sp 0x7ffd57d9c4c0 T0) ==85290==The signal is caused by a READ memory access. ==85290==Hint: address points to the zero page. #0 0xfba1fdd in osd_work_item_queue_multiple(osd_work_queue*, void* (*)(void*, int), int, void*, int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/osdsync.cpp:556:32 #1 0xd3160a0 in osd_work_item_queue /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/osdcore.h:625:9 #2 0xd3160a0 in epic12_device::gfx_exec_w(address_space&, unsigned int, unsigned int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/video/epic12.cpp:738 #3 0xd316dab in epic12_device::blitter_w(address_space&, unsigned int, unsigned int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/devices/video/epic12.cpp:871:4 #4 0xe22dd73 in operator() /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:544:11 #5 0xe22dd73 in handler_entry_write::write_stub_64(address_space&, unsigned int, unsigned long, unsigned long) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:5271 #6 0xe3a70bc in operator() /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/lib/util/delegate.h:544:11 #7 0xe3a70bc in write64 /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:471 #8 0xe3a70bc in write_native /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:1174 #9 0xe3a70bc in write_direct<unsigned int, true> /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:1346 #10 0xe3a70bc in address_space_specific<unsigned long, (endianness_t)1, 0, true>::write_dword_static(address_space_specific<unsigned long, (endianness_t)1, 0, true>&, unsigned int, unsigned int) /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/emu/emumem.cpp:1502 #11 0x7fcedfcd45c5 (<unknown module>) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV /mnt/mame/build/projects/sdl/mame/gmake-linux-clang/../../../../../src/osd/osdsync.cpp:556:32 in osd_work_item_queue_multiple(osd_work_queue*, void* (*)(void*, int), int, void*, int, unsigned int) |
---|---|
No.17323
Firewave Senior Tester
Jan 7, 2020, 13:50
|
The problem is with the queue allocation. In case there is only one processor osd_work_queue_alloc() won't allocate any threads for queues unless they are WORK_QUEUE_FLAG_IO. |
No.19841
john_iv Senior Tester
Feb 24, 2022, 18:47
|
I hit this today on pinkswts when I was doing a benchmark run forcing -numprocessors 1. 'mame pinkswts -bench 90 -numprocessors 1 -norc' |