From 1ada61d92d5c6fcf9c7e54dc6e6bce4be4edf32c Mon Sep 17 00:00:00 2001 From: "Zhao, Yang2" Date: Mon, 28 Apr 2025 06:15:57 +0200 Subject: [PATCH 1/3] fix --- .../source/loader/layers/sanitizer/asan/asan_interceptor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/unified-runtime/source/loader/layers/sanitizer/asan/asan_interceptor.cpp b/unified-runtime/source/loader/layers/sanitizer/asan/asan_interceptor.cpp index f10581c03fe16..992955c0d2545 100644 --- a/unified-runtime/source/loader/layers/sanitizer/asan/asan_interceptor.cpp +++ b/unified-runtime/source/loader/layers/sanitizer/asan/asan_interceptor.cpp @@ -324,6 +324,9 @@ AsanInterceptor::getOrCreateShadowMemory(ur_device_handle_t Device, if (m_ShadowMap.find(Type) == m_ShadowMap.end()) { m_ShadowMap[Type] = CreateShadowMemory(Device, Type); m_ShadowMap[Type]->Setup(); + getContext()->logger.info("ShadowMemory(Global, {} ~ {})", + (void *)m_ShadowMap[Type]->ShadowBegin, + (void *)m_ShadowMap[Type]->ShadowEnd); } return m_ShadowMap[Type]; } From 560382e22e4026b8744d4ecab558b56064d3ab0c Mon Sep 17 00:00:00 2001 From: "Zhao, Yang2" Date: Mon, 28 Apr 2025 10:52:09 +0200 Subject: [PATCH 2/3] fix format --- .../source/loader/layers/sanitizer/asan/asan_interceptor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unified-runtime/source/loader/layers/sanitizer/asan/asan_interceptor.cpp b/unified-runtime/source/loader/layers/sanitizer/asan/asan_interceptor.cpp index 992955c0d2545..6ee39a2621061 100644 --- a/unified-runtime/source/loader/layers/sanitizer/asan/asan_interceptor.cpp +++ b/unified-runtime/source/loader/layers/sanitizer/asan/asan_interceptor.cpp @@ -324,7 +324,7 @@ AsanInterceptor::getOrCreateShadowMemory(ur_device_handle_t Device, if (m_ShadowMap.find(Type) == m_ShadowMap.end()) { m_ShadowMap[Type] = CreateShadowMemory(Device, Type); m_ShadowMap[Type]->Setup(); - getContext()->logger.info("ShadowMemory(Global, {} ~ {})", + getContext()->logger.info("ShadowMemory(Global, {} ~ {})", (void *)m_ShadowMap[Type]->ShadowBegin, (void *)m_ShadowMap[Type]->ShadowEnd); } From b9efba4ec8ecdd466a9b6b0ef802c1ccfab279d6 Mon Sep 17 00:00:00 2001 From: "Zhao, Yang2" Date: Mon, 28 Apr 2025 10:55:51 +0200 Subject: [PATCH 3/3] improve the log --- .../loader/layers/sanitizer/asan/asan_shadow.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/unified-runtime/source/loader/layers/sanitizer/asan/asan_shadow.cpp b/unified-runtime/source/loader/layers/sanitizer/asan/asan_shadow.cpp index 54f1a9c9bd8b3..4574dba48432c 100644 --- a/unified-runtime/source/loader/layers/sanitizer/asan/asan_shadow.cpp +++ b/unified-runtime/source/loader/layers/sanitizer/asan/asan_shadow.cpp @@ -167,6 +167,12 @@ ur_result_t ShadowMemoryGPU::EnqueuePoisonShadow(ur_queue_handle_t Queue, uptr ShadowBegin = MemToShadow(Ptr); uptr ShadowEnd = MemToShadow(Ptr + Size - 1); assert(ShadowBegin <= ShadowEnd); + + getContext()->logger.debug( + "EnqueuePoisonShadow(addr={}, count={}, value={})", + (void *)ShadowBegin, ShadowEnd - ShadowBegin + 1, (void *)(size_t)Value); + + // Make sure the shadow memory is mapped to physical memory { static const size_t PageSize = GetVirtualMemGranularity(Context, Device); @@ -213,12 +219,11 @@ ur_result_t ShadowMemoryGPU::EnqueuePoisonShadow(ur_queue_handle_t Queue, auto URes = EnqueueUSMBlockingSet(Queue, (void *)ShadowBegin, Value, ShadowEnd - ShadowBegin + 1); - getContext()->logger.debug( - "EnqueuePoisonShadow (addr={}, count={}, value={}): {}", - (void *)ShadowBegin, ShadowEnd - ShadowBegin + 1, (void *)(size_t)Value, - URes); if (URes != UR_RESULT_SUCCESS) { - getContext()->logger.error("EnqueueUSMBlockingSet(): {}", URes); + getContext()->logger.error( + "EnqueuePoisonShadow(addr={}, count={}, value={}): {}", + (void *)ShadowBegin, ShadowEnd - ShadowBegin + 1, (void *)(size_t)Value, + URes); return URes; }