I was able to reproduce it. It tries to dereference the this
pointer but it's nullptr
. Here is the callstack of the crash:
DolphinD.exe!IOS::HLE::EmulationKernel::GetSystem() Line 189 C++
> DolphinD.exe!IOS::HLE::EmulationKernel::EnqueueIPCReply(const IOS::HLE::Request & request, int return_value, __int64 cycles_in_future, CoreTiming::FromThread from) Line 794 C++
DolphinD.exe!IOS::HLE::WiiSocket::CloseFd() Line 217 C++
DolphinD.exe!IOS::HLE::WiiSocket::~WiiSocket() Line 123 C++
[External Code]
DolphinD.exe!std::destroy_at<std::pair<int const ,IOS::HLE::WiiSocket>>(std::pair<int const ,IOS::HLE::WiiSocket> * const _Location) Line 322 C++
DolphinD.exe!std::_Default_allocator_traits<std::allocator<std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *>>>::destroy<std::pair<int const ,IOS::HLE::WiiSocket>>(std::allocator<std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *>> & __formal, std::pair<int const ,IOS::HLE::WiiSocket> * const _Ptr) Line 734 C++
DolphinD.exe!std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *>::_Freenode<std::allocator<std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *>>>(std::allocator<std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *>> & _Al, std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *> * _Ptr) Line 318 C++
DolphinD.exe!std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *>::_Free_non_head<std::allocator<std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *>>>(std::allocator<std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *>> & _Al, std::_List_node<std::pair<int const ,IOS::HLE::WiiSocket>,void *> * _Head) Line 330 C++
DolphinD.exe!std::list<std::pair<int const ,IOS::HLE::WiiSocket>,std::allocator<std::pair<int const ,IOS::HLE::WiiSocket>>>::_Tidy() Line 1501 C++
DolphinD.exe!std::list<std::pair<int const ,IOS::HLE::WiiSocket>,std::allocator<std::pair<int const ,IOS::HLE::WiiSocket>>>::~list<std::pair<int const ,IOS::HLE::WiiSocket>,std::allocator<std::pair<int const ,IOS::HLE::WiiSocket>>>() Line 1047 C++
[External Code]
DolphinD.exe!IOS::HLE::WiiSockMan::~WiiSockMan() Line 91 C++
[External Code]
DolphinD.exe!std::_Destroy_in_place<IOS::HLE::WiiSockMan>(IOS::HLE::WiiSockMan & _Obj) Line 309 C++
DolphinD.exe!std::_Ref_count_obj2<IOS::HLE::WiiSockMan>::_Destroy() Line 2113 C++
DolphinD.exe!std::_Ref_count_base::_Decref() Line 1182 C++
DolphinD.exe!std::_Ptr_base<IOS::HLE::WiiSockMan>::_Decref() Line 1400 C++
DolphinD.exe!std::shared_ptr<IOS::HLE::WiiSockMan>::~shared_ptr<IOS::HLE::WiiSockMan>() Line 1683 C++
DolphinD.exe!std::shared_ptr<IOS::HLE::WiiSockMan>::reset() Line 1730 C++
DolphinD.exe!IOS::HLE::EmulationKernel::~EmulationKernel() Line 344 C++
[External Code]
DolphinD.exe!std::default_delete<IOS::HLE::EmulationKernel>::operator()(IOS::HLE::EmulationKernel * _Ptr) Line 3170 C++
DolphinD.exe!std::unique_ptr<IOS::HLE::EmulationKernel,std::default_delete<IOS::HLE::EmulationKernel>>::reset(IOS::HLE::EmulationKernel * _Ptr) Line 3317 C++
DolphinD.exe!IOS::HLE::Shutdown() Line 987 C++
DolphinD.exe!HW::Shutdown(Core::System & system) Line 68 C++
DolphinD.exe!Core::EmuThread::__l2::<lambda_7>::operator()() Line 581 C++
DolphinD.exe!Common::ScopeGuard<`Core::EmuThread'::`2'::<lambda_7>>::Exit() Line 28 C++
DolphinD.exe!Common::ScopeGuard<`Core::EmuThread'::`2'::<lambda_7>>::~ScopeGuard<`Core::EmuThread'::`2'::<lambda_7>>() Line 21 C++
DolphinD.exe!Core::EmuThread(std::unique_ptr<BootParameters,std::default_delete<BootParameters>> boot, WindowSystemInfo wsi) Line 712 C++
DolphinD.exe!std::invoke<void (__cdecl*)(std::unique_ptr<BootParameters,std::default_delete<BootParameters>>,WindowSystemInfo),std::unique_ptr<BootParameters,std::default_delete<BootParameters>>,WindowSystemInfo>(void(*)(std::unique_ptr<BootParameters,std::default_delete<BootParameters>>, WindowSystemInfo) && _Obj, std::unique_ptr<BootParameters,std::default_delete<BootParameters>> && _Arg1, WindowSystemInfo && <_Args2_0>) Line 1756 C++
DolphinD.exe!std::thread::_Invoke<std::tuple<void (__cdecl*)(std::unique_ptr<BootParameters,std::default_delete<BootParameters>>,WindowSystemInfo),std::unique_ptr<BootParameters,std::default_delete<BootParameters>>,WindowSystemInfo>,0,1,2>(void * _RawVals) Line 61 C++
[External Code]
This PR should fix the issue: https://github.com/dolphin-emu/dolphin/pull/12462