Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux: Mesa 24 allocator segfault #18197

Closed
DrogonMar opened this issue Aug 6, 2024 · 3 comments
Closed

Linux: Mesa 24 allocator segfault #18197

DrogonMar opened this issue Aug 6, 2024 · 3 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. sig/graphics-audio Categorizes an issue or PR as relevant to SIG graphics-audio.

Comments

@DrogonMar
Copy link
Contributor

Describe the bug
On Linux distros with Mesa 24 O3DE will segfault when enumerating physical devices.
This should happen with any version of O3DE where the Vulkan RHI is using a custom allocator.

Steps to reproduce
Steps to reproduce the behavior:

  1. Launch any project.
  2. Crash.

Desktop/Device (please complete the following information):

  • Device: PC
  • OS: Linux
  • Version: Fedora 40
  • CPU: AMD Ryzen 9 7950X
  • GPU: AMD 6950XT
  • Memory: 64gb

Additional context
Seems to be more of an issue from Mesa when it free's data about the Vulkan icd's.
This doesn't happen in Mesa 23.

@DrogonMar DrogonMar added kind/bug Categorizes issue or PR as related to a bug. needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Aug 6, 2024
@DrogonMar
Copy link
Contributor Author

Current temporary patch Ive been using:
https://gist.github.com/DrogonMar/72495c0ac1338383957d73315719a86d

@jhanca-robotecai jhanca-robotecai added sig/graphics-audio Categorizes an issue or PR as relevant to SIG graphics-audio. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Aug 8, 2024
@moudgils moudgils removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Aug 14, 2024
@moudgils
Copy link
Contributor

moudgils commented Aug 14, 2024

Can we also add crash details to this ticket? I.e callstack. The solution needs be much more narrow in terms of disabling the allocator for the exact API (for the given firmware version + platform) that is causing the crash.

@DrogonMar
Copy link
Contributor Author

@moudgils Heres the callstack:

AZStd::intrusive_multiset::erase intrusive_set.h:612
AZ::HphaSchemaBase::HpAllocator::tree_detach HphaAllocator.cpp:1773
AZ::HphaSchemaBase::HpAllocator::coalesce_block HphaAllocator.cpp:1467
AZ::HphaSchemaBase::HpAllocator::tree_free HphaAllocator.cpp:2083
loader_unload_scanned_icd 0x00007fff7d32a4f3
vkEnumeratePhysicalDevices 0x00007fff7d341886
AZ::Vulkan::PhysicalDevice::Enumerate PhysicalDevice.cpp:44
AZ::Vulkan::Instance::EnumerateSupportedDevices Instance.cpp:255
AZ::Vulkan::Instance::Init Instance.cpp:205
AZ::Vulkan::SystemComponent::Activate SystemComponent.cpp:96
AZ::Entity::ActivateComponent Entity.h:399
AZ::ModuleManager::ActivateEntities ModuleManager.cpp:758
AZStd::Internal::INVOKE<…> invoke_traits.h:177
AZStd::invoke<…> invoke.h:54
AZ::EBusEventProcessingPolicy::Call<…> Policies.h:437
AZ::Internal::EBusContainer::Dispatcher::Event<…> BusContainer.h:149
AZ::Entity::Activate Entity.cpp:218
AzFramework::Application::StartCommon Application.cpp:230
AzGameFramework::GameApplication::StartCommon GameApplication.cpp:161
O3DELauncher::Run Launcher.cpp:494
main Launcher_Linux.cpp:96
__libc_start_call_main 0x00007ffff7839088
__libc_start_main_impl 0x00007ffff783914b
_start 0x0000555555f9a6a5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. sig/graphics-audio Categorizes an issue or PR as relevant to SIG graphics-audio.
Projects
None yet
Development

No branches or pull requests

3 participants