Open oltolm opened 1 day ago
I also got this one, but it was on the libc++19
branch
=================================================================
==24612==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00a59c1ff280 at pc 0x7ffdf48d59ab bp 0x00a59c1fdf90 sp 0x00a59c1fdfd8
READ of size 4 at 0x00a59c1ff280 thread T126
#0 0x7ffdf48d59aa in __asan_memcpy (C:\msys64\clang64\bin\libclang_rt.asan_dynamic-x86_64.dll+0x1800459aa)
#1 0x00000206f8d9 in spu_thread::get_ch_value(unsigned int) C:/src/rpcs3/rpcs3/Emu/Cell/SPUThread.cpp:5735:19
#2 0x00000514edc5 in spu_llvm_recompiler::exec_rdch(spu_thread*, unsigned int) C:/src/rpcs3/rpcs3/Emu/Cell/SPULLVMRecompiler.cpp:3259:28
#3 0x125f91cd023d (<unknown module>)
Address 0x00a59c1ff280 is located in stack of thread T106 at offset 2624 in frame
#0 0x00000206deef in spu_thread::get_ch_value(unsigned int) C:/src/rpcs3/rpcs3/Emu/Cell/SPUThread.cpp:5518
This frame has 32 object(s):
[32, 56) 'ref.tmp.i'
[96, 100) 'ch.addr'
[112, 128) 'ref.tmp' (line 5519)
[144, 152) 'read_channel' (line 5521)
[176, 180) 'ref.tmp5' (line 5557)
[192, 196) 'ref.tmp8' (line 5562)
[208, 216) '' (line 5567)
[240, 244) 'ref.tmp42' (line 5595)
[256, 260) 'out50' (line 5600)
[272, 276) 'out68' (line 5626)
[288, 292) 'out80' (line 5638)
[304, 308) 'ref.tmp98' (line 5655)
[320, 328) 'ref.tmp107' (line 5664)
[352, 356) 'mask1' (line 5669)
[368, 376) 'ref.tmp113' (line 5669)
[400, 408) 'events' (line 5671)
[432, 440) 'logger' (line 5678)
[464, 480) 'rdata_shm' (line 5685)
[496, 512) 'area' (line 5693)
[528, 552) '' (line 5705)
[592, 608) 'ref.tmp164' (line 5717)
[624, 640) 'ref.tmp213' (line 5758)
[656, 660) 'max_threads' (line 5771)
[672, 676) 'ref.tmp230' (line 5771)
[688, 692) 'ref.tmp232' (line 5771)
[704, 720) 'spurs_suffix' (line 5773)
[736, 752) 'agg.tmp245'
[768, 792) 'ref.tmp247' (line 5775)
[832, 848) 'ref.tmp268' (line 5780)
[864, 865) 'ref.tmp350' (line 5834)
[880, 881) 'agg.tmp.ensured'
[896, 904) 'ref.tmp425' (line 5933) <== Memory access at offset 2624 overflows this variable
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp, SEH and C++ exceptions *are* supported)
Thread T106 created by T71 here:
#0 0x7ffdf48e7216 in CreateThread (C:\msys64\clang64\bin\libclang_rt.asan_dynamic-x86_64.dll+0x180057216)
#1 0x7ffe6c4e1896 (C:\WINDOWS\System32\ucrtbase.dll+0x180021896)
#2 0x000000ba711d in thread_base::start() C:/src/rpcs3/Utilities/Thread.cpp:2112:13
#3 0x000001b3fbe2 in named_thread<spu_cache::initialize(bool)::$_0>::named_thread<spu_cache::initialize(bool)::$_0 const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, spu_cache::initialize(bool)::$_0 const&) C:/src/rpcs3/rpcs3/../Utilities/Thread.h:557:11
#4 0x000001ac07f9 in named_thread_group<spu_cache::initialize(bool)::$_0>::named_thread_group(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned int, spu_cache::initialize(bool)::$_0&&) C:/src/rpcs3/rpcs3/../Utilities/Thread.h:759:44
#5 0x000001abe4c7 in spu_cache::initialize(bool) C:/src/rpcs3/rpcs3/Emu/Cell/SPUCommonRecompiler.cpp:808:21
#6 0x0000019ab21d in ppu_thread::cpu_task() C:/src/rpcs3/rpcs3/Emu/Cell/PPUThread.cpp:2172:4
#7 0x000000b658aa in cpu_thread::operator()() C:/src/rpcs3/rpcs3/Emu/CPU/CPUThread.cpp:657:4
#8 0x0000014c2442 in named_thread<ppu_thread>::entry_point2() C:/src/rpcs3/rpcs3/../Utilities/Thread.h:491:14
#9 0x00000147128c in named_thread<ppu_thread>::entry_point(thread_base*) C:/src/rpcs3/rpcs3/../Utilities/Thread.h:472:45
#10 0x00002d037b8a (<unknown module>)
Thread T71 created by T0 here:
#0 0x7ffdf48e7216 in CreateThread (C:\msys64\clang64\bin\libclang_rt.asan_dynamic-x86_64.dll+0x180057216)
#1 0x7ffe6c4e1896 (C:\WINDOWS\System32\ucrtbase.dll+0x180021896)
#2 0x000000ba711d in thread_base::start() C:/src/rpcs3/Utilities/Thread.cpp:2112:13
#3 0x0000014e6921 in named_thread<ppu_thread>::named_thread<ppu_thread_params&, char const (&) [12], int&, int>(ppu_thread_params&, char const (&) [12], int&, int&&) C:/src/rpcs3/rpcs3/../Utilities/Thread.h:538:11
#4 0x0000014e6608 in named_thread<ppu_thread>* std::__1::construct_at[abi:dn190102]<named_thread<ppu_thread>, ppu_thread_params&, char const (&) [12], int&, int, named_thread<ppu_thread>*>(named_thread<ppu_thread>*, ppu_thread_params&, char const (&) [12], int&, int&&) C:/msys64/clang64/include/c++/v1/__memory/construct_at.h:41:46
#5 0x0000014e658b in named_thread<ppu_thread>* std::__1::__construct_at[abi:dn190102]<named_thread<ppu_thread>, ppu_thread_params&, char const (&) [12], int&, int, named_thread<ppu_thread>*>(named_thread<ppu_thread>*, ppu_thread_params&, char const (&) [12], int&, int&&) C:/msys64/clang64/include/c++/v1/__memory/construct_at.h:49:10
#6 0x0000014e653f in void std::__1::allocator_traits<std::__1::allocator<named_thread<ppu_thread>>>::construct[abi:dn190102]<named_thread<ppu_thread>, ppu_thread_params&, char const (&) [12], int&, int, void, 0>(std::__1::allocator<named_thread<ppu_thread>>&, named_thread<ppu_thread>*, ppu_thread_params&, char const (&) [12], int&, int&&) C:/msys64/clang64/include/c++/v1/__memory/allocator_traits.h:328:5
#7 0x0000014e6481 in std::__1::__shared_ptr_emplace<named_thread<ppu_thread>, std::__1::allocator<named_thread<ppu_thread>>>::__shared_ptr_emplace[abi:dn190102]<ppu_thread_params&, char const (&) [12], int&, int, std::__1::allocator<named_thread<ppu_thread>>, 0>(std::__1::allocator<named_thread<ppu_thread>>, ppu_thread_params&, char const (&) [12], int&, int&&) C:/msys64/clang64/include/c++/v1/__memory/shared_ptr.h:264:5
#8 0x0000014e6188 in std::__1::shared_ptr<named_thread<ppu_thread>> std::__1::allocate_shared[abi:dn190102]<named_thread<ppu_thread>, std::__1::allocator<named_thread<ppu_thread>>, ppu_thread_params&, char const (&) [12], int&, int, 0>(std::__1::allocator<named_thread<ppu_thread>> const&, ppu_thread_params&, char const (&) [12], int&, int&&) C:/msys64/clang64/include/c++/v1/__memory/shared_ptr.h:843:51
#9 0x0000014e5fa9 in std::__1::shared_ptr<named_thread<ppu_thread>> std::__1::make_shared[abi:dn190102]<named_thread<ppu_thread>, ppu_thread_params&, char const (&) [12], int&, int, 0>(ppu_thread_params&, char const (&) [12], int&, int&&) C:/msys64/clang64/include/c++/v1/__memory/shared_ptr.h:851:10
#10 0x0000014e5e5d in std::__1::shared_ptr<T0> idm::make_ptr<named_thread<ppu_thread>, named_thread<ppu_thread>, ppu_thread_params&, char const (&) [12], int&, int>(T1&&...)::'lambda'()::operator()() const C:/src/rpcs3/rpcs3/Emu/IdManager.h:572:51
#11 0x0000014e5c35 in std::__1::pair<id_manager::id_key, std::__1::shared_ptr<void>>* idm::create_id<named_thread<ppu_thread>, named_thread<ppu_thread>, std::__1::shared_ptr<T0> idm::make_ptr<named_thread<ppu_thread>, named_thread<ppu_thread>, ppu_thread_params&, char const (&) [12], int&, int>(T1&&...)::'lambda'()>(std::__1::shared_ptr<T0> idm::make_ptr<named_thread<ppu_thread>, named_thread<ppu_thread>, ppu_thread_params&, char const (&) [12], int&, int>(T1&&...)::'lambda'()&&, unsigned int) C:/src/rpcs3/rpcs3/Emu/IdManager.h:534:20
#12 0x00000146eea5 in std::__1::shared_ptr<T0> idm::make_ptr<named_thread<ppu_thread>, named_thread<ppu_thread>, ppu_thread_params&, char const (&) [12], int&, int>(T1&&...) C:/src/rpcs3/rpcs3/Emu/IdManager.h:572:19
#13 0x000001430537 in ppu_load_exec(elf_object<elf_be, unsigned long long, (elf_machine)21, (elf_os)0, (elf_type)2> const&, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, utils::serial*) C:/src/rpcs3/rpcs3/Emu/Cell/PPUModule.cpp:2617:13
#14 0x0000007e84c4 in Emulator::Load(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool, unsigned long long) C:/src/rpcs3/rpcs3/Emu/System.cpp:2290:8
#15 0x0000007d3959 in Emulator::BootGame(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) C:/src/rpcs3/rpcs3/Emu/System.cpp:933:12
#16 0x00000107ee4b in main_window::Boot(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool, bool, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) C:/src/rpcs3/rpcs3/rpcs3qt/main_window.cpp:542:29
#17 0x0000010f5d90 in main_window::CreateDockWindows()::$_5::operator()(std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const C:/src/rpcs3/rpcs3/rpcs3qt/main_window.cpp:3438:3
#18 0x0000010f5cb7 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3>, QtPrivate::List<std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>, void, main_window::CreateDockWindows()::$_5>::call(main_window::CreateDockWindows()::$_5&, void**)::'lambda'()::operator()() const C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:141:24
#19 0x0000010f5a1a in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3>, QtPrivate::List<std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>, void, main_window::CreateDockWindows()::$_5>::call(main_window::CreateDockWindows()::$_5&, void**)::'lambda'()>(void**, QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3>, QtPrivate::List<std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>, void, main_window::CreateDockWindows()::$_5>::call(main_window::CreateDockWindows()::$_5&, void**)::'lambda'()&&) C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:65:17
#20 0x0000010f5968 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3>, QtPrivate::List<std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>, void, main_window::CreateDockWindows()::$_5>::call(main_window::CreateDockWindows()::$_5&, void**) C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:140:13
#21 0x0000010f57e2 in void QtPrivate::FunctorCallable<main_window::CreateDockWindows()::$_5, std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>::call<QtPrivate::List<std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>, void>(main_window::CreateDockWindows()::$_5&, void*, void**) C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:362:13
#22 0x0000010f5784 in QtPrivate::QCallableObject<main_window::CreateDockWindows()::$_5, QtPrivate::List<std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:572:21
#23 0x7ffdf30d7d07 in void doActivate<false>(QObject*, int, void**) (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x1800f7d07)
#24 0x0000011b25e6 in game_list_frame::RequestBoot(std::__1::shared_ptr<gui_game_info> const&, cfg_mode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) E:/build-rpcs3-clang/rpcs3/rpcs3qt/rpcs3_ui_autogen/EWIEGA46WW/moc_game_list_frame.cpp:467:5
#25 0x0000026631e1 in game_list_frame::doubleClickedSlot(std::__1::shared_ptr<gui_game_info> const&) C:/src/rpcs3/rpcs3/rpcs3qt/game_list_frame.cpp:979:9
#26 0x00000266286a in game_list_frame::doubleClickedSlot(QTableWidgetItem*) C:/src/rpcs3/rpcs3/rpcs3qt/game_list_frame.cpp:968:2
#27 0x0000026dd9ea in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QTableWidgetItem*>, void, void (game_list_frame::*)(QTableWidgetItem*)>::call(void (game_list_frame::*)(QTableWidgetItem*), game_list_frame*, void**)::'lambda'()::operator()() const C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:152:24
#28 0x0000026dd80a in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QTableWidgetItem*>, void, void (game_list_frame::*)(QTableWidgetItem*)>::call(void (game_list_frame::*)(QTableWidgetItem*), game_list_frame*, void**)::'lambda'()>(void**, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QTableWidgetItem*>, void, void (game_list_frame::*)(QTableWidgetItem*)>::call(void (game_list_frame::*)(QTableWidgetItem*), game_list_frame*, void**)::'lambda'()&&) C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:65:17
#29 0x0000026dd728 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QTableWidgetItem*>, void, void (game_list_frame::*)(QTableWidgetItem*)>::call(void (game_list_frame::*)(QTableWidgetItem*), game_list_frame*, void**) C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:151:13
#30 0x0000026dd48c in void QtPrivate::FunctionPointer<void (game_list_frame::*)(QTableWidgetItem*)>::call<QtPrivate::List<QTableWidgetItem*>, void>(void (game_list_frame::*)(QTableWidgetItem*), game_list_frame*, void**) C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:199:13
#31 0x0000026dd301 in QtPrivate::QCallableObject<void (game_list_frame::*)(QTableWidgetItem*), QtPrivate::List<QTableWidgetItem*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) C:/msys64/clang64/include/qt6/QtCore/qobjectdefs_impl.h:570:21
#32 0x7ffdf30d7d07 in void doActivate<false>(QObject*, int, void**) (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x1800f7d07)
#33 0x7ffdf5f29694 in QTableWidgetPrivate::emitItemDoubleClicked(QModelIndex const&) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x180379694)
#34 0x7ffdf30d7d07 in void doActivate<false>(QObject*, int, void**) (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x1800f7d07)
#35 0x7ffdf5eb554d in QAbstractItemView::mouseDoubleClickEvent(QMouseEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x18030554d)
#36 0x000002daaea9 in game_list::mouseDoubleClickEvent(QMouseEvent*) C:/src/rpcs3/rpcs3/rpcs3qt/game_list.cpp:156:16
#37 0x7ffdf5c12ce3 in QWidget::event(QEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x180062ce3)
#38 0x7ffdf5cb102b in QFrame::event(QEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x18010102b)
#39 0x7ffdf5eb3a51 in QAbstractItemView::viewportEvent(QEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x180303a51)
#40 0x7ffdf307f09f in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x18009f09f)
#41 0x7ffdf5bb9c06 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x180009c06)
#42 0x7ffdf5bbc4f4 in QApplication::notify(QObject*, QEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x18000c4f4)
#43 0x7ffdf307ed17 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x18009ed17)
#44 0x7ffdf5bba234 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x18000a234)
#45 0x7ffdf5c2dd3d in QWidgetWindow::handleMouseEvent(QMouseEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x18007dd3d)
#46 0x7ffdf5c2cf54 in QWidgetWindow::event(QEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x18007cf54)
#47 0x7ffdf5bb9c1a in QApplicationPrivate::notify_helper(QObject*, QEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x180009c1a)
#48 0x7ffdf5bbac48 in QApplication::notify(QObject*, QEvent*) (E:\build-rpcs3-clang\bin\Qt6Widgets.dll+0x18000ac48)
#49 0x7ffdf307ed17 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x18009ed17)
#50 0x7ffdf40d089a in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (E:\build-rpcs3-clang\bin\Qt6Gui.dll+0x18009089a)
#51 0x7ffdf4140109 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (E:\build-rpcs3-clang\bin\Qt6Gui.dll+0x180100109)
#52 0x7ffdf322e23f in QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x18024e23f)
#53 0x7ffdf449f4d8 in QWindowsGuiEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (E:\build-rpcs3-clang\bin\Qt6Gui.dll+0x18045f4d8)
#54 0x7ffdf308a5d9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x1800aa5d9)
#55 0x7ffdf307f502 in QCoreApplication::exec() (E:\build-rpcs3-clang\bin\Qt6Core.dll+0x18009f502)
#56 0x0000004a758c in qMain(int, char**) C:/src/rpcs3/rpcs3/main.cpp:1410:9
#57 0x0000013fd837 in main C:/M/B/src/mingw-w64/mingw-w64-crt/crt/crtexewin.c:67:10
#58 0x000000401433 in __tmainCRTStartup C:/M/B/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:317:15
#59 0x0000004012f5 in .l_startw C:/M/B/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:204:9
#60 0x7ffe6e9b7373 (C:\WINDOWS\System32\KERNEL32.DLL+0x180017373)
#61 0x7ffe6ee1cc90 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18004cc90)
SUMMARY: AddressSanitizer: stack-use-after-scope C:/src/rpcs3/rpcs3/Emu/Cell/SPUThread.cpp:5735:19 in spu_thread::get_ch_value(unsigned int)
Shadow bytes around the buggy address:
0x00a59c1ff000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00a59c1ff080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00a59c1ff100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00a59c1ff180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00a59c1ff200: f8 f2 f8 f2 00 00 00 00 00 00 00 00 f8 f8 f2 f2
=>0x00a59c1ff280:[f8]f8 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00
0x00a59c1ff300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00a59c1ff380: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
0x00a59c1ff400: f8 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
0x00a59c1ff480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00a59c1ff500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Thread T126 created by T71 here:
#0 0x7ffdf48e7216 in CreateThread (C:\msys64\clang64\bin\libclang_rt.asan_dynamic-x86_64.dll+0x180057216)
#1 0x7ffe6c4e1896 (C:\WINDOWS\System32\ucrtbase.dll+0x180021896)
#2 0x000000ba711d in thread_base::start() C:/src/rpcs3/Utilities/Thread.cpp:2112:13
#3 0x0000049c5b3a in named_thread<spu_thread>::named_thread<lv2_spu_group*, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool, unsigned int const&>(lv2_spu_group*&&, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool&&, unsigned int const&) C:/src/rpcs3/rpcs3/../Utilities/Thread.h:538:11
#4 0x0000049c5722 in named_thread<spu_thread>* std::__1::construct_at[abi:dn190102]<named_thread<spu_thread>, lv2_spu_group*, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool, unsigned int const&, named_thread<spu_thread>*>(named_thread<spu_thread>*, lv2_spu_group*&&, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool&&, unsigned int const&) C:/msys64/clang64/include/c++/v1/__memory/construct_at.h:41:46
#5 0x0000049c5695 in named_thread<spu_thread>* std::__1::__construct_at[abi:dn190102]<named_thread<spu_thread>, lv2_spu_group*, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool, unsigned int const&, named_thread<spu_thread>*>(named_thread<spu_thread>*, lv2_spu_group*&&, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool&&, unsigned int const&) C:/msys64/clang64/include/c++/v1/__memory/construct_at.h:49:10
#6 0x0000049c5629 in void std::__1::allocator_traits<std::__1::allocator<named_thread<spu_thread>>>::construct[abi:dn190102]<named_thread<spu_thread>, lv2_spu_group*, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool, unsigned int const&, void, 0>(std::__1::allocator<named_thread<spu_thread>>&, named_thread<spu_thread>*, lv2_spu_group*&&, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool&&, unsigned int const&) C:/msys64/clang64/include/c++/v1/__memory/allocator_traits.h:328:5
#7 0x0000049c5545 in std::__1::__shared_ptr_emplace<named_thread<spu_thread>, std::__1::allocator<named_thread<spu_thread>>>::__shared_ptr_emplace[abi:dn190102]<lv2_spu_group*, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool, unsigned int const&, std::__1::allocator<named_thread<spu_thread>>, 0>(std::__1::allocator<named_thread<spu_thread>>, lv2_spu_group*&&, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool&&, unsigned int const&) C:/msys64/clang64/include/c++/v1/__memory/shared_ptr.h:264:5
#8 0x0000049c51f3 in std::__1::shared_ptr<named_thread<spu_thread>> std::__1::allocate_shared[abi:dn190102]<named_thread<spu_thread>, std::__1::allocator<named_thread<spu_thread>>, lv2_spu_group*, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool, unsigned int const&, 0>(std::__1::allocator<named_thread<spu_thread>> const&, lv2_spu_group*&&, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool&&, unsigned int const&) C:/msys64/clang64/include/c++/v1/__memory/shared_ptr.h:843:51
#9 0x0000049c5004 in std::__1::shared_ptr<named_thread<spu_thread>> std::__1::make_shared[abi:dn190102]<named_thread<spu_thread>, lv2_spu_group*, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool, unsigned int const&, 0>(lv2_spu_group*&&, unsigned int&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int const&, bool&&, unsigned int const&) C:/msys64/clang64/include/c++/v1/__memory/shared_ptr.h:851:10
#10 0x0000049aa7cc in sys_spu_thread_initialize(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>)::$_0::operator()() const C:/src/rpcs3/rpcs3/Emu/Cell/lv2/sys_spu.cpp:740:20
#11 0x0000049aa3b5 in std::__1::pair<id_manager::id_key, std::__1::shared_ptr<void>>* idm::create_id<named_thread<spu_thread>, named_thread<spu_thread>, sys_spu_thread_initialize(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>)::$_0>(sys_spu_thread_initialize(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>)::$_0&&, unsigned int) C:/src/rpcs3/rpcs3/Emu/IdManager.h:534:20
#12 0x0000049887fc in unsigned int idm::import<named_thread<spu_thread>, named_thread<spu_thread>, sys_spu_thread_initialize(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>)::$_0>(T1&&, unsigned int) C:/src/rpcs3/rpcs3/Emu/IdManager.h:596:19
#13 0x000004987e06 in sys_spu_thread_initialize(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>) C:/src/rpcs3/rpcs3/Emu/Cell/lv2/sys_spu.cpp:738:9
#14 0x00000173bad3 in error_code ppu_func_detail::call<4u, 256u, 512u, 768u, 1024u, 1280u, 1536u, error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>), ppu_func_detail::arg_info_pack_t<4u, 256u, 512u, 768u, 1024u, 1280u, 1536u>) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:183:10
#15 0x00000173bad3 in error_code ppu_func_detail::call<vm::_ptr_base<sys_spu_thread_argument, unsigned int>, 4u, 256u, 512u, 768u, 1024u, 1280u, error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>), ppu_func_detail::arg_info_pack_t<4u, 256u, 512u, 768u, 1024u, 1280u>) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:213:10
#16 0x00000173bad3 in error_code ppu_func_detail::call<vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>, 4u, 256u, 512u, 768u, 1024u, error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>), ppu_func_detail::arg_info_pack_t<4u, 256u, 512u, 768u, 1024u>) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:213:10
#17 0x00000173bad3 in error_code ppu_func_detail::call<vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>, 4u, 256u, 512u, 768u, error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>), ppu_func_detail::arg_info_pack_t<4u, 256u, 512u, 768u>) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:213:10
#18 0x00000173bad3 in error_code ppu_func_detail::call<unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>, 4u, 256u, 512u, error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>), ppu_func_detail::arg_info_pack_t<4u, 256u, 512u>) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:213:10
#19 0x00000173bad3 in error_code ppu_func_detail::call<unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>, 4u, 256u, error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>), ppu_func_detail::arg_info_pack_t<4u, 256u>) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:213:10
#20 0x00000173bad3 in error_code ppu_func_detail::call<vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>, 4u, error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>), ppu_func_detail::arg_info_pack_t<4u>) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:213:10
#21 0x00000173bad3 in error_code ppu_func_detail::call<ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>, error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>), ppu_func_detail::arg_info_pack_t<...>) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:213:10
#22 0x00000173bad3 in ppu_func_detail::func_binder<error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>::do_call(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>)) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:246:61
#23 0x00000173bad3 in void ppu_func_detail::do_call<error_code, ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>>(ppu_thread&, error_code (*)(ppu_thread&, vm::_ptr_base<stx::se_t<unsigned int, true, 4ull>, unsigned int>, unsigned int, unsigned int, vm::_ptr_base<sys_spu_image, unsigned int>, vm::_ptr_base<sys_spu_thread_attribute, unsigned int>, vm::_ptr_base<sys_spu_thread_argument, unsigned int>)) C:/src/rpcs3/rpcs3/Emu/Cell/PPUFunction.h:253:3
#24 0x00000173bad3 in $_148::operator()(ppu_thread&, ppu_opcode_t, stx::se_t<unsigned int, true, 4ull>*, ppu_intrp_func*) const C:/src/rpcs3/rpcs3/Emu/Cell/lv2/lv2.cpp:301:2
#25 0x0000016c0548 in $_148::__invoke(ppu_thread&, ppu_opcode_t, stx::se_t<unsigned int, true, 4ull>*, ppu_intrp_func*) C:/src/rpcs3/rpcs3/Emu/Cell/lv2/lv2.cpp:301:2
#26 0x0000016a814e in ppu_execute_syscall(ppu_thread&, unsigned long long) C:/src/rpcs3/rpcs3/Emu/Cell/lv2/lv2.cpp:1253:4
#27 0x126ba74ef1cc (<unknown module>)
==24612==ABORTING
if you also use the debugger on VS2022 a lot of read and write access violation errors are reported when starting games (rpcs3 compiled in release mode; in debug mode jit cannot be initialized so rpcs3 terminates at startup with a dialog box reporting an assert error). It should be better that the developers have a look, and possibly fix, to all of those (possible) real errors.
As it implies, we do have custom stack frames in SPU, so everything SPU related must be taken with a grain of salt.
As it implies, we do have custom stack frames in SPU, so everything SPU related must be taken with a grain of salt.
Errors I see are reported for PPU
As it implies, we do have custom stack frames in SPU, so everything SPU related must be taken with a grain of salt.
Errors I see are reported for PPU
Report them then, although there may be a similar situation with PPU though it has miuch more HLE code so the chance of valid reports is high
Those are consecutive errors reported when loading the "naugthy dog" logo in UC1 (line 1325 in cellvdec.cpp
)
I don't know if it is a false positive.