From 6bb41c534907fd8015acc5ac95d6609e131200f7 Mon Sep 17 00:00:00 2001 From: Shivam Raikundalia Date: Wed, 12 Feb 2025 15:25:39 -0800 Subject: [PATCH] CUPTI Segfault Reproducer for Denying Buffer Request Summary: We induce a buffer request denial and by running a basic resnet50 training script on this branch. It induces a segfault in libcutpi.so Differential Revision: D69558264 --- libkineto/src/CuptiActivityApi.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libkineto/src/CuptiActivityApi.cpp b/libkineto/src/CuptiActivityApi.cpp index 58df6a9ee..098c2e48c 100644 --- a/libkineto/src/CuptiActivityApi.cpp +++ b/libkineto/src/CuptiActivityApi.cpp @@ -164,11 +164,12 @@ void CuptiActivityApi::bufferRequested( size_t* maxNumRecords) { std::lock_guard guard(mutex_); LOG(VERBOSE) << "CUPTI buffer requested"; - if (allocatedGpuTraceBuffers_.size() >= maxGpuBufferCount_) { - stopCollection = true; + if (allocatedGpuTraceBuffers_.size() >= 1) { LOG(WARNING) << "Exceeded max GPU buffer count (" - << allocatedGpuTraceBuffers_.size() - << " >= " << maxGpuBufferCount_ << ") - terminating tracing"; + << allocatedGpuTraceBuffers_.size() << " >= " << 1 + << ") - denying request "; + *buffer = NULL; + return; } auto buf = std::make_unique(kBufSize);