Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Excessive memory usage, constant popups #16

Open
WickyNilliams opened this issue Apr 15, 2013 · 10 comments
Open

Excessive memory usage, constant popups #16

WickyNilliams opened this issue Apr 15, 2013 · 10 comments

Comments

@WickyNilliams
Copy link

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

@lprichar
Copy link
Member

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?

@WickyNilliams
Copy link
Author

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

@lprichar
Copy link
Member

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?

@WickyNilliams
Copy link
Author

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

lprichar added a commit that referenced this issue Apr 26, 2013
The system was excessively invoking the tray icon, even if the build status hadn't changed
@lprichar
Copy link
Member

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?

@WickyNilliams
Copy link
Author

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 :(

@lprichar
Copy link
Member

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

@WickyNilliams
Copy link
Author

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.

@scullinan
Copy link

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.

@lprichar
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants