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.
This commit is contained in:
Bartosz Taudul
2026-06-12 20:30:59 +02:00
parent 3804b2580a
commit d3047f8069

View File

@@ -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