Context:
I use tracy in a zig project and we have allocator as a basic interface.
To support tracy allocations we wrap the allocator which sends events on alloc/free/resize/etc.
Problem:
On linux x86 I found quite a lot of errors "Memory allocation event was reported for an address that is already tracked and not freed".
No leaks found, everything is fine.
Increasing concurrency produces the issue more often.
The issue was fixed adding an explicit mutex to the allocator.
So it feels the events are out of order in multithreading setup.
Questions:
- does c++ sdk (server) have a buffering and reordering of the events?
- can we do it on the GUI side (client) in order not to duplicate it for every sdk?
Context:
I use tracy in a zig project and we have allocator as a basic interface.
To support tracy allocations we wrap the allocator which sends events on alloc/free/resize/etc.
Problem:
On linux x86 I found quite a lot of errors "Memory allocation event was reported for an address that is already tracked and not freed".
No leaks found, everything is fine.
Increasing concurrency produces the issue more often.
The issue was fixed adding an explicit mutex to the allocator.
So it feels the events are out of order in multithreading setup.
Questions: