From 1f01526eedde547bf365b1eae132df7d90f30ba4 Mon Sep 17 00:00:00 2001 From: "Baraldi, Giovanni" Date: Fri, 17 Jan 2025 19:23:48 +0100 Subject: [PATCH] SWDEV-478762+FEAT-62196: Fix crash on AQL replay (#104) * SWDEV-478762: Fix crash on replay * Fix iteration range * Format * Refactor * Addressing review comments * Address review comments * Formatting * Format * Refactor --------- Co-authored-by: Giovanni Baraldi --- source/lib/output/metadata.cpp | 8 ++++++++ source/lib/rocprofiler-sdk-tool/tool.cpp | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/source/lib/output/metadata.cpp b/source/lib/output/metadata.cpp index 1919201df7..b1b8ad4527 100644 --- a/source/lib/output/metadata.cpp +++ b/source/lib/output/metadata.cpp @@ -136,6 +136,14 @@ metadata::metadata(inprocess) for(auto itr : agents) agents_map.emplace(itr.id, itr); + + // Add kernel ID of zero + kernel_symbol_info info{}; + info.kernel_id = 0; + info.formatted_kernel_name = "0"; + info.demangled_kernel_name = "0"; + info.truncated_kernel_name = "0"; + add_kernel_symbol(std::move(info)); } void metadata::init(inprocess) diff --git a/source/lib/rocprofiler-sdk-tool/tool.cpp b/source/lib/rocprofiler-sdk-tool/tool.cpp index d19c55217e..35cc4c4f33 100644 --- a/source/lib/rocprofiler-sdk-tool/tool.cpp +++ b/source/lib/rocprofiler-sdk-tool/tool.cpp @@ -1366,6 +1366,12 @@ tool_init(rocprofiler_client_finalize_t fini_func, void* tool_data) _fut.wait_for(std::chrono::seconds{1}); // wait for a max of 1 second } + // Handle kernel id of zero + bool include = std::regex_search("0", std::regex(tool::get_config().kernel_filter_include)); + bool exclude = std::regex_search("0", std::regex(tool::get_config().kernel_filter_exclude)); + if(include && (!exclude || tool::get_config().kernel_filter_exclude.empty())) + add_kernel_target(0, tool::get_config().kernel_filter_range); + tool_metadata->process_id = getpid(); rocprofiler_get_timestamp(&(tool_metadata->process_start_ns));