SirenOfShame icon indicating copy to clipboard operation
SirenOfShame copied to clipboard

Excessive memory usage, constant popups

Open WickyNilliams opened this issue 11 years ago • 10 comments

I don't know what's been going on with it recently, but SoS seems to be going a little crazy. I'm getting constant popups flashing in the corner (despite little activity on the build server) and just a moment ago it died from an out of memory exception - it had climbed to 1.5GB of memory!

I'm guessing these are somehow related as they overlapped

WickyNilliams avatar Apr 15 '13 14:04 WickyNilliams

Yea, I saw that, thanks for sending in the error. The stack trace definitely seemed to be related to graphics and images and such. I've seen it a couple of times before, but unfortunately none of the namespaces are ours, so I'm not sure where to start. "Windows.Forms.Label.WndProc" and "Windows.Forms.ImageList.GetBitmap" stand out. Where exactly does the flashing occur? Which corner?

lprichar avatar Apr 15 '13 14:04 lprichar

Good to hear the exception got to you - it was blowing up more every time I pressed the button, probably because it had run out of memory!

The popups were coming from the tray (I'm never sure of the exact terminology for that), typically found in the bottom right corner. It seemed to be stuck in a loop, iterating over the builds super quickly, popping up a notification for each one, as if it didn't realise it already notified me of them

WickyNilliams avatar Apr 15 '13 14:04 WickyNilliams

I've been mulling over this and I'm wondering if two builds are somehow fighting over the notification area. Sorry for the barrage of questions.

You aren't able to consistently reproduce, right? And it occurs only occasionally? Does it eventually stop flashing, or only when it runs out of memory? How many build definitions are you watching? How many build definitions are there total on the CI server? Is this TFS? Oh, and you have the most recent version I assume, correct?

lprichar avatar Apr 16 '13 15:04 lprichar

No problems, the more information I can provide the better!

The popup issue happens intermittently, but fairly frequently, and not off the back of something I've done personally (though maybe off the back of a build being started? that i cannot confirm). e.g. I just opened SoS 5 minutes ago and it just flashed up as I'm typing this, rapidly iterating through all the builds.

The first time I observed an out of memory was when I raised this bug, but I have receieved a few blue screens while my computer has been left unattended recently - could be related?

Correct, I'm using TFS. Watching 12 builds out of hundreds on the CI server. May be of note: while tallying the builds I'm watching I noticed that some of the builds were listed more than once in the main UI.

Also, when I update the build list the UI goes a bit wonky while repopulating (excuse the redacted parts):

image

Is there anything I can do to grab a snapshot of the app as these problems are happening? Something with the sysinternals suite perhaps? Happy to help as much as I can

WickyNilliams avatar Apr 17 '13 11:04 WickyNilliams

Hey @WickyNilliams, I just fixed some buggy code that may have been related. The system was excessively updating the tray icon, regardless of whether the build status had changed. I'll get this fix into an official release in the next week or so, but if you get a sec would you mind pulling the source and testing it?

lprichar avatar Apr 26 '13 15:04 lprichar

I don't think I'll be able to I'm afraid... my work environment is very locked down so i don't think they'd allow me to pull the source :(

WickyNilliams avatar Apr 29 '13 16:04 WickyNilliams

No worries. I'll release soon and hopefully this will be solve it.

lprichar avatar Apr 29 '13 16:04 lprichar

This just happened to me again. Here's the full stack trace if it's of any help:

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'ViewBuilds'.
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Control.get_Handle()
   at SirenOfShame.Lib.Helpers.ControlHelpers.SuspendDrawing(Control target, Action action)
   at SirenOfShame.ViewBuilds.CreateControlsAndAddToPanels(IEnumerable`1 buildStatusDtos)
   at SirenOfShame.ViewBuilds.RefreshBuildStatuses()
   at SirenOfShame.ViewBuilds.RefreshBuildStatuses(RefreshStatusEventArgs args)
   at SirenOfShame.MainForm.<>c__DisplayClassa.<RulesEngineRefreshRefreshStatus>b__9()
   at SirenOfShame.Lib.Helpers.ControlHelpers.Invoke(Control ctrl, Action a)
   at SirenOfShame.MainForm.RulesEngineRefreshRefreshStatus(Object sender, RefreshStatusEventArgs args)
   at SirenOfShame.Lib.Watcher.RulesEngine.InvokeRefreshStatus(IEnumerable`1 buildStatuses)
   at SirenOfShame.Lib.Watcher.RulesEngine.TimerTick(Object sender, EventArgs e)
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
SirenOfShame
    Assembly Version: 2.0.2.0
    Win32 Version: 2.0.2
    CodeBase: file:///C:/Program%20Files%20(x86)/Siren%20of%20Shame/SirenOfShame.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.225 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
log4net
    Assembly Version: 1.2.10.0
    Win32 Version: 1.2.10.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Siren%20of%20Shame/log4net.DLL
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.282 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
SirenOfShame.Lib
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Siren%20of%20Shame/SirenOfShame.Lib.DLL
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.ComponentModel.Composition
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.ComponentModel.Composition/v4.0_4.0.0.0__b77a5c561934e089/System.ComponentModel.Composition.dll
----------------------------------------
BambooServices
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/BAMBOOSERVICES.DLL
----------------------------------------
BuildBotServices
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/BUILDBOTSERVICES.DLL
----------------------------------------
CruiseControlNetServices
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/CRUISECONTROLNETSERVICES.DLL
----------------------------------------
HudsonServices
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/HUDSONSERVICES.DLL
----------------------------------------
Newtonsoft.Json
    Assembly Version: 4.5.0.0
    Win32 Version: 4.5.9.15308
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/NEWTONSOFT.JSON.DLL
----------------------------------------
SignalR.Client
    Assembly Version: 0.5.1.10822
    Win32 Version: 0.5.1.10822
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/SIGNALR.CLIENT.DLL
----------------------------------------
SoxLib
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Siren%20of%20Shame/SoxLib.DLL
----------------------------------------
TeamCityServices
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/TEAMCITYSERVICES.DLL
----------------------------------------
TeensyHidBootloaderLib
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Siren%20of%20Shame/TeensyHidBootloaderLib.DLL
----------------------------------------
TfsServices
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/TFSSERVICES.DLL
----------------------------------------
TravisCiServices
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/PROGRAM%20FILES%20(X86)/SIREN%20OF%20SHAME/PLUGINS/TRAVISCISERVICES.DLL
----------------------------------------
UsbLib
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Siren%20of%20Shame/UsbLib.DLL
----------------------------------------
System.Web.Extensions
    Assembly Version: 4.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Web.Extensions/v4.0_4.0.0.0__31bf3856ad364e35/System.Web.Extensions.dll
----------------------------------------
System.Web
    Assembly Version: 4.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
System.Xml.Linq
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
Microsoft.TeamFoundation.Client
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.40219.415 built by: SP1LDR
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.TeamFoundation.Client/10.0.0.0__b03f5f7f11d50a3a/Microsoft.TeamFoundation.Client.dll
----------------------------------------
wnvbk54r
    Assembly Version: 1.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
AutomaticUpdater
    Assembly Version: 2.6.14.0
    Win32 Version: 2.6.14.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Siren%20of%20Shame/AutomaticUpdater.DLL
----------------------------------------
ZedGraph
    Assembly Version: 5.1.5.28844
    Win32 Version: 5.1.5.28844
    CodeBase: file:///C:/Program%20Files%20(x86)/Siren%20of%20Shame/ZedGraph.DLL
----------------------------------------
Microsoft.TeamFoundation.Common
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.40219.415
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.TeamFoundation.Common/10.0.0.0__b03f5f7f11d50a3a/Microsoft.TeamFoundation.Common.dll
----------------------------------------
Microsoft.TeamFoundation.Build.Client
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.40219.415
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.TeamFoundation.Build.Client/10.0.0.0__b03f5f7f11d50a3a/Microsoft.TeamFoundation.Build.Client.dll
----------------------------------------
Microsoft.TeamFoundation.VersionControl.Client
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.40219.415 built by: SP1LDR
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.TeamFoundation.VersionControl.Client/10.0.0.0__b03f5f7f11d50a3a/Microsoft.TeamFoundation.VersionControl.Client.dll
----------------------------------------
System.Web.Services
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Web.Services/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll
----------------------------------------
Microsoft.TeamFoundation
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.40219.415
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.TeamFoundation/10.0.0.0__b03f5f7f11d50a3a/Microsoft.TeamFoundation.dll
----------------------------------------
Microsoft.TeamFoundation.Build.Common
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.30319.1
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.TeamFoundation.Build.Common/10.0.0.0__b03f5f7f11d50a3a/Microsoft.TeamFoundation.Build.Common.dll
----------------------------------------
Microsoft.TeamFoundation.Common.Library
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.40219.415
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.TeamFoundation.Common.Library/10.0.0.0__b03f5f7f11d50a3a/Microsoft.TeamFoundation.Common.Library.dll
----------------------------------------
Microsoft.TeamFoundation.VersionControl.Common
    Assembly Version: 10.0.0.0
    Win32 Version: 10.0.40219.415 built by: SP1LDR
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.TeamFoundation.VersionControl.Common/10.0.0.0__b03f5f7f11d50a3a/Microsoft.TeamFoundation.VersionControl.Common.dll
----------------------------------------
System.ComponentModel.DataAnnotations
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.ComponentModel.DataAnnotations/v4.0_4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll
----------------------------------------
System.Runtime.Serialization
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

WickyNilliams avatar Apr 30 '13 10:04 WickyNilliams

I have downloaded the 2.3.3 Beta and this issue is still not resolved. The build configs flash on the screen repetitively and the memory increases rapidly. The memory steadily increases even when running SoS in the background only (albeit less rapidly than when the Ui is open). Is anyone else experiencing this at the moment? This is a real shame as this software is a cool idea but pretty unusable at the moment.

scullinan avatar Sep 18 '14 10:09 scullinan

I've taken a stab at this by limiting the UI to displaying the most recent 50 builds on the main build list, and fixing an issue when clearing all items where I wasn't suspending drawing. It made things better for me, although even at 200 builds performance wasn't too bad. Can you please try out 2.3.5 and let me know if it helps: http://sirenofshame.com/Downloads/View?downloadId=23.

lprichar avatar Sep 18 '14 21:09 lprichar