From d3047f80692728924c87bf41121a60a9934de71b Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Fri, 12 Jun 2026 20:30:59 +0200 Subject: [PATCH] Fix memory discard + callstack. Bug (High Severity): Wrong queue type in MemDiscardCallstack In the callstack path of MemDiscardCallstack, the wrong queue type is sent: SendMemDiscard( QueueType::MemDiscard, thread, name ); Every other callstack variant correctly uses its callstack queue type (MemAllocCallstack, MemFreeCallstack, etc.), but this one uses the non-callstack type. The SendMemDiscard assertion at line 1026 confirms MemDiscardCallstack is a valid value. Impact: The callstack captured by SendCallstackSerial() will be orphaned. The server processes the event via the non-callstack handler, leaving the callstack serial data unconsumed, which desynchronizes the serial queue and corrupts all subsequent events. --- public/client/TracyProfiler.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/client/TracyProfiler.hpp b/public/client/TracyProfiler.hpp index 8d40392f..8b3c08aa 100644 --- a/public/client/TracyProfiler.hpp +++ b/public/client/TracyProfiler.hpp @@ -719,7 +719,7 @@ public: GetProfiler().m_serialLock.lock(); SendCallstackSerial( callstack ); - SendMemDiscard( QueueType::MemDiscard, thread, name ); + SendMemDiscard( QueueType::MemDiscardCallstack, thread, name ); GetProfiler().m_serialLock.unlock(); } else