SirenOfShame
SirenOfShame copied to clipboard
Excessive memory usage, constant popups
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
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?
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
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?
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):
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
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?
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 :(
No worries. I'll release soon and hopefully this will be solve it.
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.
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.
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.