Welcome Guest! You need to login or register to make posts.

Notification

Icon
Error

Options
Go to last post Go to first unread
JRumerman  
#1 Posted : Friday, April 11, 2008 1:43:07 AM(UTC)
JRumerman

Rank: Member

Groups: Member
Joined: 12/6/2007(UTC)
Posts: 7

Hi Aurigma,

We have discovered a memory leak somewhere inside of Graphics Mill. We tracked it down using Debug Diagnostics and dumping memory after monitoring for a leak for 1 hour. In that one hour, we had a leak of 36MB.

Here's information from the DebugDiag report. (I emailed the report to Dimitri)

WARNING - DebugDiag was not able to locate debug symbols for Aurigma.GraphicsMill.DLL, so the reported function name(s) may not be accurate.

Aurigma.GraphicsMill.DLL is responsible for 36.98 MBytes worth of outstanding allocations. The following are the top 2 memory consuming functions:

Aurigma_GraphicsMill+12b50a: 36.63 MBytes worth of outstanding allocations.Aurigma_GraphicsMill+9a3ce: 353.22 KBytes worth of outstanding allocations.

Here's a sample method call for that instruction

Function Source Destination
Aurigma_GraphicsMill+9a3ce ole32!CoTaskMemAlloc
0x79E8EFA6
System.StringComparer.GetHashCode(System.Object)
System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext, System.AsyncCallback, System.Object)
0x79F35EE8
webengine!HashtableIUnknown::AddCallback+a
webengine!HttpCompletion::ProcessRequestInManagedCode+1a9
webengine!HttpCompletion::ProcessRequestInManagedCode+1a9
webengine!HttpCompletion::ProcessCompletion+41 webengine!HttpCompletion::ProcessRequestInManagedCode
webengine!CorThreadPoolWorkitemCallback+18
0x79F8B7A5
0x79ED8E36
ntdll!bsearch+42
ntdll!RtlEncodeSystemPointer+45b
kernel32!GetModuleHandleForUnicodeString+20
kernel32!GetModuleHandleForUnicodeString+20
kernel32!BasepGetModuleHandleExW+17f kernel32!GetModuleHandleForUnicodeString
kernel32!BasepGetModuleHandleExW+23c
ntdll!LdrpGetProcedureAddress+b3
ntdll!LdrpCallInitRoutine+14
ntdll!NtTestAlert+c
ntdll!NtContinue+c
ntdll!KiUserApcDispatcher+3a ntdll!NtContinue
kernel32!BaseThreadStart+34

Here's another sample call stack

Function Source Destination
Aurigma_GraphicsMill+9a3ce ole32!CoTaskMemAlloc
Aurigma_GraphicsMill+afaf2
Aurigma.GraphicsMill.Color.ConvertColorSpace(Aurigma.GraphicsMill.ColorSpace)
ntdll!ZwReleaseMutant+c
Aurigma.GraphicsMill.Transforms.Transparentize.ThreadProc()
Aurigma.GraphicsMill.Thread.TimerEventProcessor() 0x1EFCAA3C
ntdll!ZwReleaseMutant+c
Aurigma.GraphicsMill.SyncHandler.ThreadProcHandler()
Aurigma.GraphicsMill.Thread.EntryPoint()
Aurigma.GraphicsMill.Thread.Start() Aurigma.GraphicsMill.Thread.EntryPoint()
Aurigma.GraphicsMill.Transforms.BitmapTransform.ApplyTransform(Aurigma.GraphicsMill.Bitmap) Aurigma.GraphicsMill.Thread.Start()
CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.AddWaterMark(Aurigma.GraphicsMill.Codecs.LosslessJpegTransform, Int32, Int32)
CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.GetCoStarImage(System.IO.MemoryStream, Int32, Int32, Costar.Shared.Utility.PrintQuality, Boolean, Costar.Shared.Utility.AttachmentSize) CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.AddWaterMark(Aurigma.GraphicsMill.Codecs.LosslessJpegTransform, Int32, Int32)
CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.GetCoStarImageFromPath(CoStar.AttachmentUtils.CoStarAurigmaImage ByRef, System.String, Int32, Int32, Costar.Shared.Utility.PrintQuality, Boolean, Boolean, Costar.Shared.Utility.AttachmentSize) CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.GetCoStarImage(System.IO.MemoryStream, Int32, Int32, Costar.Shared.Utility.PrintQuality, Boolean, Costar.Shared.Utility.AttachmentSize)
CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.GetCoStarImage(Int32, Int32, Int32, Costar.Shared.Utility.PrintQuality, Boolean, Boolean, Costar.Shared.Utility.AttachmentSize) CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.GetCoStarImageFromPath(CoStar.AttachmentUtils.CoStarAurigmaImage ByRef, System.String, Int32, Int32, Costar.Shared.Utility.PrintQuality, Boolean, Boolean, Costar.Shared.Utility.AttachmentSize)
CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.GetCoStarImage(CoStar.AttachmentUtils.ImageRequest) CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.GetCoStarImage(Int32, Int32, Int32, Costar.Shared.Utility.PrintQuality, Boolean, Boolean, Costar.Shared.Utility.AttachmentSize)
Costar.AttachmentHandler.AttachmentHandler.ProcessImageRequest(System.String, System.Collections.Specialized.NameValueCollection, System.String, System.String ByRef) CoStar.AttachmentUtils.BLAurigmaAttachmentUtils.GetCoStarImage(CoStar.AttachmentUtils.ImageRequest)
Costar.AttachmentHandler.AttachmentHandler.ProcessRequest(System.Web.HttpContext) Costar.AttachmentHandler.AttachmentHandler.ProcessImageRequest(System.String, System.Collections.Specialized.NameValueCollection, System.String, System.String ByRef)
System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext, System.AsyncCallback, System.Object)
0x79F35EE8
webengine!HashtableIUnknown::AddCallback+a
webengine!HttpCompletion::ProcessRequestInManagedCode+1a9
webengine!HttpCompletion::ProcessRequestInManagedCode+1a9
webengine!HttpCompletion::ProcessCompletion+41 webengine!HttpCompletion::ProcessRequestInManagedCode
webengine!CorThreadPoolWorkitemCallback+18
0x79F8B7A5
0x79ED8E36
ntdll!bsearch+42
ntdll!RtlEncodeSystemPointer+45b
kernel32!GetModuleHandleForUnicodeString+20
kernel32!GetModuleHandleForUnicodeString+20
kernel32!BasepGetModuleHandleExW+17f kernel32!GetModuleHandleForUnicodeString
kernel32!BasepGetModuleHandleExW+23c
ntdll!LdrpGetProcedureAddress+b3
ntdll!LdrpCallInitRoutine+14
ntdll!NtTestAlert+c
ntdll!NtContinue+c
ntdll!KiUserApcDispatcher+3a


We'd like to look at it closer, but we need Graphic Mills' 4.5.23 PDBs to examine the actual calls.

This is causing us to reboot production servers nightly. This is a high priority for us.

Thx, Joel
File Attachment(s):
Memory_Report__w3wp.exe__04112008093648583.mht (1,750kb) downloaded 2 time(s).
Alex Kon  
#2 Posted : Tuesday, April 15, 2008 12:01:08 AM(UTC)
Alex Kon

Rank: Advanced Member

Groups:
Joined: 1/31/2005(UTC)
Posts: 458

Was thanked: 5 time(s) in 5 post(s)
Hello Joel,

We answered you by email. Please, could you post a message here if you didn't receive the answer?
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.