RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.66k stars 1.93k forks source link

ASAN error: stack-buffer-overflow #16281

Closed oltolm closed 2 weeks ago

oltolm commented 3 weeks ago

I don't know if it is a false positive.

=================================================================
==26868==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x1080d51bf868 at pc 0x7ffdec4affa5 bp 0x1080d51bf7f0 sp 0x1080d51bef90
WRITE of size 4 at 0x1080d51bf868 thread T103
    #0 0x7ffdec4affa4 in __asan_memcpy D:\a\_work\1\s\src\vctools\asan\llvm\compiler-rt\lib\asan\asan_interceptors_memintrinsics.cpp:23
    #1 0x891a70 in operator&<class atomic_bs_t<enum cpu_flag>, enum cpu_flag>(class atomic_bs_t<enum cpu_flag> const &, enum cpu_flag) C:\src\rpcs3\Utilities\bit_set.h:226
    #2 0x1e35783 in spu_llvm_recompiler::exec_wrch(class spu_thread *, unsigned int, unsigned int) C:\src\rpcs3\rpcs3\Emu\Cell\SPULLVMRecompiler.cpp:3701
    #3 0x108e00000f27  (<unknown module>)

Address 0x1080d51bf868 is located in stack of thread T81 at offset 88 in frame
    #0 0x8919ff in operator&<class atomic_bs_t<enum cpu_flag>, enum cpu_flag>(class atomic_bs_t<enum cpu_flag> const &, enum cpu_flag) C:\src\rpcs3\Utilities\bit_set.h:225

  This frame has 2 object(s):
    [32, 36) 'compiler temporary'
    [48, 52) 'compiler temporary' <== Memory access at offset 88 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 T81 created by T69 here:
    #0 0x7ffdec4c6b37 in __asan_wrap_CreateThread D:\a\_work\1\s\src\vctools\asan\llvm\compiler-rt\lib\asan\asan_win.cpp:210
    #1 0x7ffe6c4e1896  (C:\WINDOWS\System32\ucrtbase.dll+0x180021896)
    #2 0x97bb26 in thread_base::start(void) C:\src\rpcs3\Utilities\Thread.cpp:2112
    #3 0x10f5c13 in named_thread_group<`spu_cache::initialize'::`2'::<lambda_1> >::named_thread_group<`spu_cache::initialize'::`2'::<lambda_1> > C:\src\rpcs3\Utilities\Thread.h:759
    #4 0x1138b69 in spu_cache::initialize(bool) C:\src\rpcs3\rpcs3\Emu\Cell\SPUCommonRecompiler.cpp:798
    #5 0xd80ba5 in ppu_thread::cpu_task(void) C:\src\rpcs3\rpcs3\Emu\Cell\PPUThread.cpp:2172
    #6 0x9270a3 in cpu_thread::operator()(void) C:\src\rpcs3\rpcs3\Emu\CPU\CPUThread.cpp:657
    #7 0x8fc504 in named_thread<class ppu_thread>::entry_point(class thread_base *) C:\src\rpcs3\Utilities\Thread.h:472
    #8 0x1500020a  (<unknown module>)

Thread T69 created by T0 here:
    #0 0x7ffdec4c6b37 in __asan_wrap_CreateThread D:\a\_work\1\s\src\vctools\asan\llvm\compiler-rt\lib\asan\asan_win.cpp:210
    #1 0x7ffe6c4e1896  (C:\WINDOWS\System32\ucrtbase.dll+0x180021896)
    #2 0x97bb26 in thread_base::start(void) C:\src\rpcs3\Utilities\Thread.cpp:2112
    #3 0x11ad8b7 in named_thread<class ppu_thread>::named_thread<class ppu_thread><struct ppu_thread_params &, char const (&)[12], int &, int>(struct ppu_thread_params &, char const (&)[12], int &, int &&) C:\src\rpcs3\Utilities\Thread.h:538
    #4 0x11d3645 in `public: static class std::shared_ptr<class named_thread<class ppu_thread>> __cdecl idm::make_ptr<class named_thread<class ppu_thread>, class named_thread<class ppu_thread>, struct ppu_thread_params &, char const (&)[12], int &, int>(struct ppu_thread_params &, char const (&)[12], int &, int &&)'::`3'::<lambda_1>::operator()(void) const C:\src\rpcs3\rpcs3\Emu\IdManager.h:572
    #5 0x11c15bf in idm::create_id<class named_thread<class ppu_thread>, class named_thread<class ppu_thread>, class `public: static class std::shared_ptr<class named_thread<class ppu_thread>> __cdecl idm::make_ptr<class named_thread<class ppu_thread>, class named_thread<class ppu_thread>, struct ppu_thread_params &, char const (&)[12], int &, int>(struct ppu_thread_params &, char const (&)[12], int &, int &&)'::`3'::<lambda_1>>(class `public: static class std::shared_ptr<class named_thread<class ppu_thread>> __cdecl idm::make_ptr<class named_thread<class ppu_thread>, class named_thread<class ppu_thread>, struct ppu_thread_params &, char const (&)[12], int &, int>(struct ppu_thread_params &, char const (&)[12], int &, int &&)'::`3'::<lambda_1> &&, unsigned int) C:\src\rpcs3\rpcs3\Emu\IdManager.h:534
    #6 0x11e9ebc in ppu_load_exec(class elf_object<elf_be, unsigned __int64, 21, 0, 2> const &, bool, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, struct utils::serial *) C:\src\rpcs3\rpcs3\Emu\Cell\PPUModule.cpp:2612
    #7 0x9ebecb in Emulator::Load(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, bool, unsigned __int64) C:\src\rpcs3\rpcs3\Emu\System.cpp:2290
    #8 0x9cc677 in Emulator::BootGame(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, bool, enum cfg_mode, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &) C:\src\rpcs3\rpcs3\Emu\System.cpp:933
    #9 0x2bc0b64 in main_window::Boot(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, bool, bool, enum cfg_mode, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &) C:\src\rpcs3\rpcs3\rpcs3qt\main_window.cpp:542
    #10 0x2bef382 in main_window::CreateDockWindows::__l2::<lambda_6>::operator() C:\src\rpcs3\rpcs3\rpcs3qt\main_window.cpp:3438
    #11 0x2bef382 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0,1,2,3>,QtPrivate::List<std::shared_ptr<gui_game_info> const &,enum cfg_mode,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &>,void,`main_window::CreateDockWindows'::`2'::<lambda_6> >::call C:\Qt\6.7.3\msvc2019_64\include\QtCore\qobjectdefs_impl.h:137
    #12 0x2bf9c9b in QtPrivate::FunctorCallable<`main_window::CreateDockWindows'::`2'::<lambda_6>,std::shared_ptr<gui_game_info> const &,enum cfg_mode,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &>::call C:\Qt\6.7.3\msvc2019_64\include\QtCore\qobjectdefs_impl.h:345
    #13 0x2bf9c9b in QtPrivate::QCallableObject<`main_window::CreateDockWindows'::`2'::<lambda_6>,QtPrivate::List<std::shared_ptr<gui_game_info> const &,enum cfg_mode,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &>,void>::impl C:\Qt\6.7.3\msvc2019_64\include\QtCore\qobjectdefs_impl.h:555
    #14 0x7ffdf305e9ba  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x1800de9ba)
    #15 0x7ffdf3061483  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x1800e1483)
    #16 0x2c350dd in game_list_frame::RequestBoot(class std::shared_ptr<struct gui_game_info> const &, enum cfg_mode, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &) E:\build-rpcs3-msvc\rpcs3\rpcs3qt\rpcs3_ui_autogen\include_RelWithDebInfo\EWIEGA46WW\moc_game_list_frame.cpp:467
    #17 0x2e01a7f in game_list_frame::doubleClickedSlot(class std::shared_ptr<struct gui_game_info> const &) C:\src\rpcs3\rpcs3\rpcs3qt\game_list_frame.cpp:979
    #18 0x2e01ba1 in game_list_frame::doubleClickedSlot(class QTableWidgetItem *) C:\src\rpcs3\rpcs3\rpcs3qt\game_list_frame.cpp:968
    #19 0x2e0419e in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,QtPrivate::List<QTableWidgetItem *>,void,void (__cdecl game_list_frame::*)(QTableWidgetItem *)>::call C:\Qt\6.7.3\msvc2019_64\include\QtCore\qobjectdefs_impl.h:145
    #20 0x2e0419e in QtPrivate::FunctionPointer<void (__cdecl game_list_frame::*)(QTableWidgetItem *)>::call C:\Qt\6.7.3\msvc2019_64\include\QtCore\qobjectdefs_impl.h:182
    #21 0x2e0419e in QtPrivate::QCallableObject<void (__cdecl game_list_frame::*)(class QTableWidgetItem *), struct QtPrivate::List<class QTableWidgetItem *>, void>::impl(int, class QtPrivate::QSlotObjectBase *, class QObject *, void **, bool *) C:\Qt\6.7.3\msvc2019_64\include\QtCore\qobjectdefs_impl.h:553
    #22 0x7ffdf305e9ba  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x1800de9ba)
    #23 0x7ffdf3061483  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x1800e1483)
    #24 0x7ffdf5002bd8  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x180332bd8)
    #25 0x7ffdf305e9ba  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x1800de9ba)
    #26 0x7ffdf3061483  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x1800e1483)
    #27 0x7ffdf4f9f629  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x1802cf629)
    #28 0x301838d in game_list::mouseDoubleClickEvent(class QMouseEvent *) C:\src\rpcs3\rpcs3\rpcs3qt\game_list.cpp:156
    #29 0x7ffdf4d29460  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x180059460)
    #30 0x7ffdf4dc595f  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x1800f595f)
    #31 0x7ffdf4fa8baa  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x1802d8baa)
    #32 0x7ffdf3020ed6  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x1800a0ed6)
    #33 0x7ffdf4ce2a32  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x180012a32)
    #34 0x7ffdf4ce09ff  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x1800109ff)
    #35 0x7ffdf301da5b  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x18009da5b)
    #36 0x7ffdf4ce69be  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x1800169be)
    #37 0x7ffdf4d4d5e8  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x18007d5e8)
    #38 0x7ffdf4d4acc1  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x18007acc1)
    #39 0x7ffdf4ce2a4d  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x180012a4d)
    #40 0x7ffdf4ce1b70  (E:\build-rpcs3-msvc\bin\Qt6Widgets.dll+0x180011b70)
    #41 0x7ffdf301da5b  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x18009da5b)
    #42 0x7ffdf44a6c4a  (E:\build-rpcs3-msvc\bin\Qt6Gui.dll+0x180096c4a)
    #43 0x7ffdf45048f9  (E:\build-rpcs3-msvc\bin\Qt6Gui.dll+0x1800f48f9)
    #44 0x7ffdf31ae5ff  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x18022e5ff)
    #45 0x7ffdf479f548  (E:\build-rpcs3-msvc\bin\Qt6Gui.dll+0x18038f548)
    #46 0x7ffdf30252ee  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x1800a52ee)
    #47 0x7ffdf301af0c  (E:\build-rpcs3-msvc\bin\Qt6Core.dll+0x18009af0c)
    #48 0x758294 in main C:\src\rpcs3\rpcs3\main.cpp:1410
    #49 0x6dc0bef in qtEntryPoint C:\Users\qt\work\qt\qtbase\src\entrypoint\qtentrypoint_win.cpp:45
    #50 0x67e04c5 in invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:102
    #51 0x67e04c5 in __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    #52 0x7ffe6e9b7373  (C:\WINDOWS\System32\KERNEL32.DLL+0x180017373)
    #53 0x7ffe6ee1cc90  (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18004cc90)

SUMMARY: AddressSanitizer: stack-buffer-overflow D:\a\_work\1\s\src\vctools\asan\llvm\compiler-rt\lib\asan\asan_interceptors_memintrinsics.cpp:23 in __asan_memcpy
Shadow bytes around the buggy address:
  0x02109aa37eb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x02109aa37ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x02109aa37ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x02109aa37ee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x02109aa37ef0: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f8 f2 f8 f2
=>0x02109aa37f00: f8 f2 f1 f1 f1 f1 04 f2 04 f3 f3 f3 f3[f3]f3 f3
  0x02109aa37f10: f3 00 00 00 f1 f1 f1 f1 04 f3 f3 f3 f3 00 00 00
  0x02109aa37f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x02109aa37f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x02109aa37f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x02109aa37f50: f1 f1 f1 f1 f8 f2 00 00 f2 f2 f2 f2 04 f2 f8 f2
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 T103 created by T69 here:
    #0 0x7ffdec4c6b37 in __asan_wrap_CreateThread D:\a\_work\1\s\src\vctools\asan\llvm\compiler-rt\lib\asan\asan_win.cpp:210
    #1 0x7ffe6c4e1896  (C:\WINDOWS\System32\ucrtbase.dll+0x180021896)
    #2 0x97bb26 in thread_base::start(void) C:\src\rpcs3\Utilities\Thread.cpp:2112
    #3 0x1b99c63 in named_thread<class spu_thread>::named_thread<class spu_thread><struct lv2_spu_group *, unsigned int &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, unsigned int const &, bool, unsigned int const &>(struct lv2_spu_group *&&, unsigned int &, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &, unsigned int const &, bool &&, unsigned int const &) C:\src\rpcs3\Utilities\Thread.h:538
    #4 0x1bae945 in std::make_shared C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\memory:2907
    #5 0x1bae945 in `sys_spu_thread_initialize'::`2'::<lambda_1>::operator() C:\src\rpcs3\rpcs3\Emu\Cell\lv2\sys_spu.cpp:739
    #6 0x1b9f50f in idm::create_id<named_thread<spu_thread>,named_thread<spu_thread>,`sys_spu_thread_initialize'::`2'::<lambda_1> > C:\src\rpcs3\rpcs3\Emu\IdManager.h:534
    #7 0x1bbfdff in sys_spu_thread_initialize(class ppu_thread &, class vm::_ptr_base<class stx::se_t<unsigned int, 1, 4>, unsigned int>, unsigned int, unsigned int, class vm::_ptr_base<struct sys_spu_image, unsigned int>, class vm::_ptr_base<struct sys_spu_thread_attribute, unsigned int>, class vm::_ptr_base<struct sys_spu_thread_argument, unsigned int>) C:\src\rpcs3\rpcs3\Emu\Cell\lv2\sys_spu.cpp:737
    #8 0xe8e2c6 in ppu_func_detail::call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:183
    #9 0xe8e2c6 in ppu_func_detail::call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:213
    #10 0xe8e2c6 in ppu_func_detail::call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:213
    #11 0xe8e2c6 in ppu_func_detail::call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:213
    #12 0xe8e2c6 in ppu_func_detail::call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:213
    #13 0xe8e2c6 in ppu_func_detail::call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:213
    #14 0xe8e2c6 in ppu_func_detail::call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:213
    #15 0xe8e2c6 in ppu_func_detail::call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:213
    #16 0xe8e2c6 in ppu_func_detail::func_binder<error_code,ppu_thread &,vm::_ptr_base<stx::se_t<unsigned int,1,4>,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 C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:246
    #17 0xe8e2c6 in ppu_func_detail::do_call C:\src\rpcs3\rpcs3\Emu\Cell\PPUFunction.h:253
    #18 0xe8e2c6 in <lambda_138>::operator() C:\src\rpcs3\rpcs3\Emu\Cell\lv2\lv2.cpp:300
    #19 0xda6185 in <lambda_138>::<lambda_invoker_cdecl> C:\src\rpcs3\rpcs3\Emu\Cell\lv2\lv2.cpp:300
    #20 0xf29136 in ppu_execute_syscall(class ppu_thread &, unsigned __int64) C:\src\rpcs3\rpcs3\Emu\Cell\lv2\lv2.cpp:1252
    #21 0x108ea002f31c  (<unknown module>)

==26868==ABORTING
oltolm commented 3 weeks 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
digant73 commented 3 weeks ago

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.

elad335 commented 3 weeks ago

As it implies, we do have custom stack frames in SPU, so everything SPU related must be taken with a grain of salt.

digant73 commented 3 weeks ago

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

elad335 commented 3 weeks ago

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

digant73 commented 3 weeks ago

Those are consecutive errors reported when loading the "naugthy dog" logo in UC1 (line 1325 in cellvdec.cpp)

uc1_logo_loading

elad335 commented 2 weeks ago

Will close for now, I didn't find any relevant errors here.