Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Jonathan Distenfeld 105 posts 618 karma points
    Feb 10, 2020 @ 10:08
    Jonathan Distenfeld
    0

    Memory Leak

    Hi,

    We recently took over an Umbraco site (v 7.12.1) with 100+ nodes running on Azure. Now partners of ours have detected a memory leak on the page. Here is a list of packages the site uses:

    • Archetype (1.13.1)
    • PerplexMail (2016-05-13)
    • Doc Type Grid Editor (0.4.0)
    • Umbraco Forms (7.0.3)
    • SEO Checker (2.1.0)
    • Tea Commerce (3.3.0)
    • Skybrud.Umbraco.GridData (2.0.6)
    • InnerContent (2.0.2)
    • ContentList (1.0.2)

    Are there any known issues with the above mentioned Umbraco version or packages that could cause the memory leak?

    Since I have no experience with memory leaks so far, do you have any advise on how I can find out why this memory leak occurs?

    Thanks in advance!

    ~ Jonathan

  • Comment author was deleted

    Feb 11, 2020 @ 09:06

    Hey Jonathan, does this happen on each page or specific pages? Most of the packages you listed are backoffice extensions so they won't have impact on the frontend... what I would suggest is that you look at the changelog for the listed packages (and also the Umbraco Core) to see if you can identify any known issues that have been fixed...

    It can of course be due to custom code... so be sure to check that out to Here are some common pitfalls https://our.umbraco.com/documentation/Reference/Common-Pitfalls/

  • Jonathan Distenfeld 105 posts 618 karma points
    Feb 18, 2020 @ 15:40
    Jonathan Distenfeld
    0

    Hi Tim,

    thank you very much for your response! Not sure how to find out on what pages this happens. Memory is growing over a long time (1 week) on the production site until it crashes.

    I checked the Umbraco logs and found a lot of errors occuring while closing some network streams:

    ERROR Scheduling.KeepAlive - Failed (at "https://(domain).com/umbraco").
    System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> 
    System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
    at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
    at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
    --- End of inner exception stack trace ---
    at System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)
    at System.Net.PooledStream.EndWrite(IAsyncResult asyncResult)
    at System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)
    --- End of inner exception stack trace ---
    at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
    at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
    --- End of inner exception stack trace ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Umbraco.Web.Scheduling.KeepAlive.<PerformRunAsync>d__5.MoveNext()
    

    and

    ERROR Helpers.Request - SEOChecker: Error could not load url https://(domain)/(id).aspx 
    System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> 
    System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
    at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
    at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
    --- End of inner exception stack trace ---
    at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
    at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
    at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
    at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
    at System.Net.TlsStream.CallProcessAuthentication(Object state)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
    at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
    at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
    at System.Net.ConnectStream.WriteHeaders(Boolean async)
    --- End of inner exception stack trace ---
    at System.Net.HttpWebRequest.GetResponse()
    at SEOChecker.Core.Helpers.Request.GetStream(String url, HttpCookieCollection cookies, String userAgent)
    

    Perhaps this could cause something like a memory leak?? I am currently investigating and trying to fix these issues.

    Will come back here after..

    ~ Jonathan

Please Sign in or register to post replies

Write your reply to:

Draft