Skip to content

Memory Leak when using Sentry Profiling #3407

Description

@Skyppid

Package

Sentry

.NET Flavor

.NET

.NET Version

8.0.6

OS

Windows

SDK Version

4.7.0

Self-Hosted Sentry Version

No response

Steps to Reproduce

Enable profiling like this in the UseSentry configuration delegate:

o.AddIntegration(new ProfilingIntegration());
if (builder.Environment.IsProduction())
{
    o.ProfilesSampleRate = 0.05;
    o.TracesSampleRate = 0.2;
}
else
{
    o.ProfilesSampleRate = 0.2;
    o.TracesSampleRate = 0.5;
}

Run app and wait. It constantly leaks memory even if no requests occur at all.

Expected Result

No memory leak

Actual Result

image

As you see the app is completely idle. No requests happening. App just started and did nothing yet. Constantly increases memory.
On our staging cluster the app scaled to 10 pods in only a few minutes due to the memory leak.

Disabling the profiling fixes the problem.

Further data:
image
image

As you can see the memory constantly grows. The snapshots show the difference between when the app is fully started and ~2 minutes of idle.

EDIT: This screenshot is after 50m of idle runtime.
image

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status
    Done
    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions