Page 1 of 2

Out of Memory Error Report

Posted: Mon Jul 27, 2015 4:28 am
by MarekKrayn
Sorry if I missed this somewhere... I did a search, found nothing.

The only consistent way I can reproduce this is just leave EveHQ running overnight (I never close anything). Where portraits are will have a white background and an X through them (sorry forgot to take a screenshot). I will do so on the next time through.

*EveHQ Error Report*

EveHQ Version: 2.20.1.0
Date: 26/07/2015 23:08:05
Error: Out of memory.
----
\\{panel:title=StackTrace|borderStyle=dashed|bordercolor=#ccc|titleBGColor=#eee|bgColor=#eee}*****START Exception Details*****
Message: Out of memory.
Source: System.Drawing
StackTrace: at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
at System.Drawing.Graphics.DrawImage(Image image, Rectangle rect)
at System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
*****END Exception Details*****


========== Plug-ins ==========

EveHQ.HQF.dll (1.0.0.0)
EveHQ.KillMailViewer.dll (1.0.0.0)
EveHQ.Prism.dll (1.0.0.0)
EveHQ.Void.dll (1.0.0.0)


========= System Info =========

Operating System: Microsoft Windows NT 6.1.7601 Service Pack 1
.Net Framework Version: 4.0.30319.34209
EveHQ Location: C:\Program Files (x86)\EveHQ
EveHQ Cache Locations: C:\Users\[Username]\AppData\Roaming\EveHQ
\\{panel}

Re: Out of Memory Error Report

Posted: Mon Jul 27, 2015 7:06 am
by Slivo
Hi,

Thanks for reporting.
I also had this bug a few times but I was not able to figure out why !
We will try to find out what is going on

Re: Out of Memory Error Report

Posted: Tue Jul 28, 2015 5:08 am
by Galadon
This may have nothing to do with EveHQ, other than EveHQ being affected by no available memory on your machine.

You stated that the only way to consistently reproduce the issue was to leave EveHQ running overnight and that you never close anything. Many people schedule maintenance tasks such as virus scans, program updates, disk defrags, torrent downloads, etc. to run overnight. Most of these "maintenance tasks" use up large amounts of memory for long(ish) periods of time, and everything you have open is using up some memory. Malware, spyware and virus' can use large amounts of memory, as well, so it wouldn't hurt to check for those. Add this all together and it's very possible to have periods of no available memory. Many things may not time out and if they do (i.e. webpages) they may refresh once the memory is once again available. Since EveHQ is set to throw an Error Report for the Out of Memory condition, it doesn't seem likely that it would auto refresh once the memory was again available, thus no pictures loaded when you look the next day.

If you have a robust higher-end system and this is not the case, please disregard. However, since many people still run Eve, and possible EveHQ as well, on 5, 8, even 10 year old machines, this is possible.

Hope this helps,

Galadon

Re: Out of Memory Error Report

Posted: Tue Jul 28, 2015 7:10 am
by Slivo
This sounds tricky, I'll check it out after the update

Re: Out of Memory Error Report

Posted: Wed Jul 29, 2015 12:21 am
by Galadon
It is probable that, after closing the Error Message, closing and reopening EveHQ or simply doing an API update will refresh the pictures and data, provided your machine has the available memory at that time.

Re: Out of Memory Error Report

Posted: Wed Jul 29, 2015 5:24 am
by MarekKrayn
The computer has 75% of it's resources left over. I'll play Eve, Have EveHQ, LightRoom, Photoshop, Evernus, Minecraft, and several other things without issue. They will all be back up and running when I get back on the computer. Keep in mind, the computer does not hibernate or sleep or anything of the sort.

I do not think the computer is the issue (albeit it is not entirely fair to exclude it entirely for bug identifying purposes). I will install the latest version on a computer with similar specs albeit different video card and processor. Will update further within the next few days if I can get it to reproduce.

Re: Out of Memory Error Report

Posted: Wed Jul 29, 2015 7:24 am
by Slivo
Thanks for you help MarekKrayn :)

Re: Out of Memory Error Report

Posted: Thu Jul 30, 2015 9:10 pm
by Prazon Instrum
Hi, there seems to be a memory leak around the frmEveHQ.UpdatePilotInfo every time the update API in the main page and the training bar is reloaded with new info, there is an additional allocation of 2\3+Mb in the .NET CRL Memory space.

I am trying to figure out what's up, doesn't seems to be caused by the information update but more something in the redrawing space.

~praz

Re: Out of Memory Error Report

Posted: Thu Jul 30, 2015 9:54 pm
by Slivo
Great, thanks for investigating !

Re: Out of Memory Error Report

Posted: Thu Jul 30, 2015 10:35 pm
by Prazon Instrum
Doesn't look good :cry:

It seems that the resources are being allocated inside the DotNetBar modules, in particular there is a standard ArrayList called from the DevComponents.AdvTree classes that (i guess) are used to hold the navigation to form the forms.
Class itself inehrits from the System.Windows.Forms.ScrollableControl but further than this i can't go.

Now, i haven't done an esaustive set of tests, meaning that i haven't run all around the interfaces to see if there are other places that trigger the behavior, anyway a quick way to check this out is to:

Start the perfmon(performance monitor) in Windows
use the realtime monitor or the data collector
start eveHQ(live or from VS, only difference is the process name you will see in the counters: it will be eveHq.vshost if started from VS)
Add the counters:
.Net CRL Memory -> #Bytes in all Heaps -> select eveHQ process instance
.Net CRL Memory -> #Total committed Bytes -> select eveHQ process instance

Now you will notice that each time you hit the Update API the memory usage spike just after the Training bar refresh.
side note: i played with breakpoints to figure out if there was something in the code that was triggering the leak.

Attached the img take from the process Performance and Diagnostic from VS

bye ~praz