Closed mcphedar closed 1 year ago
@mcphedar Can you attach your commit ids to this report and information about your build (debug, profile etc)?
@mbalfour-amzn and I couldn't repro the crash with this call stack. But we have seen two other crashes which happened randomly when exit the game launcher for client.
The crashes happened with development branch with o3de commit: 4b65521188a2a0beb399eca7b692216d2fe3d209 and MPS commit: 15da465c55834cbe5033c0c3aa15e405767d2823
One is
> Atom_RHI_DX12.Private.dll!D3D12MA::Allocation::ReleaseThis() Line 9687 C++
Atom_RHI_DX12.Private.dll!D3D12MA::IUnknownImpl::Release() Line 9593 C++
[Inline Frame] Atom_RHI_DX12.Private.dll!AZStd::IntrusivePtrCountPolicy<ID3D12Heap>::release(ID3D12Heap * p) Line 91 C++
[Inline Frame] Atom_RHI_DX12.Private.dll!AZStd::intrusive_ptr<ID3D12Heap>::{dtor}() Line 119 C++
[Inline Frame] Atom_RHI_DX12.Private.dll!AZStd::Internal::destroy<AZStd::intrusive_ptr<ID3D12Heap> *,AZStd::intrusive_ptr<ID3D12Heap>,0>::range(AZStd::intrusive_ptr<ID3D12Heap> * first, AZStd::intrusive_ptr<ID3D12Heap> * last) Line 61 C++
Atom_RHI_DX12.Private.dll!AZStd::vector<AZStd::intrusive_ptr<ID3D12Heap>,AZStd::allocator>::~vector<AZStd::intrusive_ptr<ID3D12Heap>,AZStd::allocator>() Line 336 C++
Atom_RHI_DX12.Private.dll!AZ::RHI::ObjectCollector<AZ::DX12::D3d12maReleaseQueueTraits>::Collect(bool forceFlush) Line 240 C++
[Inline Frame] Atom_RHI_DX12.Private.dll!AZ::RHI::ObjectCollector<AZ::DX12::D3d12maReleaseQueueTraits>::Shutdown() Line 134 C++
Atom_RHI_DX12.Private.dll!AZ::DX12::Device::ShutdownInternal() Line 175 C++
Atom_RHI_DX12.Private.dll!AZ::RHI::Device::Shutdown() Line 112 C++
Atom_RPI.Private.dll!AZ::RHI::Object::release() Line 61 C++
[Inline Frame] Atom_RPI.Private.dll!AZStd::IntrusivePtrCountPolicy<AZ::RHI::Device>::release(AZ::RHI::Device *) Line 48 C++
[Inline Frame] Atom_RPI.Private.dll!AZStd::intrusive_ptr<AZ::RHI::Device>::{dtor}() Line 119 C++
[Inline Frame] Atom_RPI.Private.dll!AZStd::Internal::destroy<AZStd::intrusive_ptr<AZ::RHI::Device> *,AZStd::intrusive_ptr<AZ::RHI::Device>,0>::single(AZStd::intrusive_ptr<AZ::RHI::Device> *) Line 68 C++
[Inline Frame] Atom_RPI.Private.dll!AZStd::vector<AZStd::intrusive_ptr<AZ::RHI::Device>,AZStd::allocator>::pop_back() Line 580 C++
Atom_RPI.Private.dll!AZ::RHI::RHISystem::Shutdown() Line 214 C++
Atom_RPI.Private.dll!AZ::RPI::RPISystem::Shutdown() Line 163 C++
Atom_RPI.Private.dll!AZ::RPI::RPISystemComponent::Deactivate() Line 143 C++
[Inline Frame] MultiplayerSample.GameLauncher.exe!AZ::Entity::DeactivateComponent(AZ::Component & component) Line 400 C++
MultiplayerSample.GameLauncher.exe!AZ::ModuleManager::DeactivateEntities() Line 227 C++
MultiplayerSample.GameLauncher.exe!AZ::ComponentApplication::Destroy() Line 898 C++
MultiplayerSample.GameLauncher.exe!AzFramework::Application::Stop() Line 273 C++
MultiplayerSample.GameLauncher.exe!O3DELauncher::Run(const O3DELauncher::PlatformMainInfo & mainInfo) Line 602 C++
MultiplayerSample.GameLauncher.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 29 C++
and the other one is
MultiplayerSample.GameLauncher.exe![thunk]:AzFramework::ApplicationLifecycleEvents::`vcall'{80,{flat}}' }'() C++
> [Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::Internal::INVOKE(void(AZ::ComponentDescriptor::*)() &) Line 177 C++
[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::invoke(void(AZ::ComponentDescriptor::*)() &) Line 54 C++
[Inline Frame] MultiplayerSample.GameLauncher.exe!AZ::EBusEventProcessingPolicy::Call(void(AZ::ComponentDescriptor::*)() &) Line 437 C++
MultiplayerSample.GameLauncher.exe!AZ::Internal::EBusContainer<AZ::ComponentDescriptor,AZ::ComponentDescriptorBusTraits,1,0>::Dispatcher<AZ::EBus<AZ::ComponentDescriptor,AZ::ComponentDescriptorBusTraits>>::Broadcast<void (__cdecl AZ::ComponentDescriptor::*)(void)>(void(AZ::ComponentDescriptor::*)() && func) Line 968 C++
MultiplayerSample.GameLauncher.exe!AZ::ComponentApplication::Destroy() Line 933 C++
MultiplayerSample.GameLauncher.exe!AzFramework::Application::Stop() Line 273 C++
MultiplayerSample.GameLauncher.exe!O3DELauncher::Run(const O3DELauncher::PlatformMainInfo & mainInfo) Line 602 C++
MultiplayerSample.GameLauncher.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 29 C++
ask:
should we add tag:
needs-priority triage/needs-information status/needs-testing
These should be fixed by these: https://github.com/o3de/o3de/pull/15880 https://github.com/o3de/o3de/pull/15868
Describe the bug Calling 'quit' results in a bad shuitdown due to atom material cleanup
Steps to reproduce Steps to reproduce the behavior:
Expected behavior The MPS should quit cleanly
Actual behavior A clear and concise description of what actually happened.
Assets required A crash occurs - crash dmp -
Exception Description: EXCEPTION_ACCESS_VIOLATION, Attempt to read from address 0x18446744073709551615