websocket memory leak #225

Closed
tjanczuk opened this Issue Oct 23, 2012 · 1 comment

1 participant

@tjanczuk
Owner

//

// Each log entry has the following syntax:

//

// + BYTES_DELTA (NEW_BYTES - OLD_BYTES) NEW_COUNT allocs BackTrace TRACEID
// + COUNT_DELTA (NEW_COUNT - OLD_COUNT) BackTrace TRACEID allocations

// ... stack trace ...

//

// where:

//

// BYTES_DELTA - increase in bytes between before and after log

// NEW_BYTES - bytes in after log

// OLD_BYTES - bytes in before log

// COUNT_DELTA - increase in allocations between before and after log

// NEW_COUNT - number of allocations in after log

// OLD_COUNT - number of allocations in before log

// TRACEID - decimal index of the stack trace in the trace database

// (can be used to search for allocation instances in the original

// UMDH logs).

//

  • 421680 ( 620472 - 198792) 103 allocs BackTraceCDB3E61D
  •  70 (    103 -     33)    BackTraceCDB3E61D   allocations
    

    ntdll! ?? ::FNODOBFM::`string'+13C96
    iiscore!W3_CONTEXT::AllocateRequestMemory+B5
    iisnode!CProtocolBridge::ProcessResponseBody+210 (f:\projects\iisnode\src\iisnode\cprotocolbridge.cpp, 1545)
    iisnode!CAsyncManager::Worker+174 (f:\projects\iisnode\src\iisnode\casyncmanager.cpp, 172)
    MSVCR110!beginthreadex+107
    MSVCR110!endthreadex+192
    KERNEL32!BaseThreadInitThunk+1A
    ntdll!RtlUserThreadStart+1D

@tjanczuk
Owner

This was found using http://support.microsoft.com/kb/268343.

Using AllocateRequestMemory in the context of long running websockets leads to apparent memory leak since the memory is only released when the websocket connection is closed, which may be gigabytes since the connection was established.

@tjanczuk tjanczuk closed this in 2c069e3 Oct 23, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment