CppServer icon indicating copy to clipboard operation
CppServer copied to clipboard

Memory leak

Open NikeKey opened this issue 2 years ago • 1 comments
trafficstars

When i use https://github.com/chronoxor/CSharpServer Test With Repeat: 10 Thread/Connect: 100 Message send and echo: 10

image On screen - ChatSession never Disposed. (But I try manual call Dispose, and GC.Collect) Then if disassembly in VS2022: session.Dispose:

    public sealed override void Dispose()
    {
        Dispose(A_0: true);
        GC.SuppressFinalize(this);
        GC.KeepAlive(this);
    }

I think problem in this: GC.KeepAlive(this); - autogenerate because in C++ code -> CreateSession return std::make_shared ; this bad idea for c# (and other code for dispose) https://habr.com/ru/articles/509004/

I looked in .Net Momory Profiler leak this: image

NikeKey avatar Oct 27 '23 14:10 NikeKey

  • Net.4.8.1

NikeKey avatar Oct 27 '23 14:10 NikeKey