OOM Error - C# Customization Memory/Handle Leak

Run the base form without customizations. If they are not there then make
sure in your customization you are not only disposing but also dereference
the pointer obj=null; GC should clean it after that
On May 15, 2012 11:43 AM, "Jeff Rogers" <jeff.rogers@...> wrote:

> **
>
>
> Jose,
>
> When running the Memory Leak Tester are we looking for objects that are
> still in a Live state after the form is closed? I have some objects that
> are still listed in the Memory Leak Tester after the form is closed, but in
> a Disposed state. Is this an issue?
>
> Thanks!
>
> --- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
> >
> > run your client with /memory
> >
> > mfgsys.exe /memory will show you a leak tester, may be helpful
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *checkout my new blog <http://www.usdoingstuff.com> *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@...
> > http://www.josecgomez.com
> > <http://www.linkedin.com/in/josecgomez> <
> http://www.facebook.com/josegomez>
> > <http://www.google.com/profiles/jose.gomez> <
> http://www.twitter.com/joc85>
> > <http://www.josecgomez.com/professional-resume/>
> > <http://www.josecgomez.com/feed/>
> > <http://www.usdoingstuff.com>
> >
> > *Quis custodiet ipsos custodes?*
> >
> >
> >
> > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:
> >
> > > **
> > >
> > >
> > >
> > >
> > > Event handlers are usually the first culprit I look at with C# and
> memory
> > > leaks.... if you add an event assignment by addition (+=) you must
> have a
> > > (-=) before you dispose or you get a leak and the object will never
> enter
> > > gen(2) state since its reference may never get cleared. These are real
> easy
> > > to create and sometimes hard to find. I also wouldn't rule out Epicor
> is
> > > not detaching everything cleanly either.
> > >
> > > Windbg allows you to attach to any .net process and poke around inside
> the
> > > heap. It's ugly though and seems to make me question GC in managed
> code.
> > > I'd only go that route in desperation.
> > >
> > > Good luck...
> > >
> > >
> > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > >
> > > > We've experienced this before but usually as loing as you dispose =
> null
> > > > all your custom stuff its ok, however .NET is leaky and specially the
> > > > Epicor kind. If I remember correctly there is /CONFIG option you cna
> pass
> > > > to the client which will show all not disposed obkects.
> > > >
> > > > I'll see if I can remember.
> > > >
> > > > *Jose C Gomez*
> > > > *Software Engineer*
> > > > *
> > > > *
> > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > *
> > > > *T: 904.469.1524 mobile
> > > > E: jose@
> > > > http://www.josecgomez.com
> > > > <http://www.linkedin.com/in/josecgomez> <
> > > http://www.facebook.com/josegomez>
> > > > <http://www.google.com/profiles/jose.gomez> <
> > > http://www.twitter.com/joc85>
> > > > <http://www.josecgomez.com/professional-resume/>
> > > > <http://www.josecgomez.com/feed/>
> > > > <http://www.usdoingstuff.com>
> > > >
> > > > *Quis custodiet ipsos custodes?*
> > > >
> > > >
> > > >
> > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@> wrote:
> > > >
> > > > > **
> > >
> > > > >
> > > > >
> > > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > > customizations.
> > > > >
> > > > > The behavior we are experiencing is that each time the form is
> opened
> > > and
> > > > > closed, memory is promoted to Gen 2 of the stack and the # of
> handles
> > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > >
> > > > > We have tried, dispose() and setting to null, wrapping in using
> > > statements
> > > > > and forced Garbage collections. None have had any impact, good or
> bad.
> > > > >
> > > > > Any suggestions?
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
>
>


[Non-text portions of this message have been removed]
Has anyone else experienced and resolved C# memory leaks with their customizations.

The behavior we are experiencing is that each time the form is opened and closed, memory is promoted to Gen 2 of the stack and the # of handles steadiliy increases so that, over time we hit an OOM error.

We have tried, dispose() and setting to null, wrapping in using statements and forced Garbage collections. None have had any impact, good or bad.

Any suggestions?
We've experienced this before but usually as loing as you dispose = null
all your custom stuff its ok, however .NET is leaky and specially the
Epicor kind. If I remember correctly there is /CONFIG option you cna pass
to the client which will show all not disposed obkects.

I'll see if I can remember.

*Jose C Gomez*
*Software Engineer*
*
*
*checkout my new blog <http://www.usdoingstuff.com> *
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
<http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
<http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
<http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*



On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@...> wrote:

> **
>
>
> Has anyone else experienced and resolved C# memory leaks with their
> customizations.
>
> The behavior we are experiencing is that each time the form is opened and
> closed, memory is promoted to Gen 2 of the stack and the # of handles
> steadiliy increases so that, over time we hit an OOM error.
>
> We have tried, dispose() and setting to null, wrapping in using statements
> and forced Garbage collections. None have had any impact, good or bad.
>
> Any suggestions?
>
>
>


[Non-text portions of this message have been removed]
Event handlers are usually the first culprit I look at with C# and memory leaks.... if you add an event assignment by addition (+=) you must have a (-=) before you dispose or you get a leak and the object will never enter gen(2) state since its reference may never get cleared. These are real easy to create and sometimes hard to find. I also wouldn't rule out Epicor is not detaching everything cleanly either.

Windbg allows you to attach to any .net process and poke around inside the heap. It's ugly though and seems to make me question GC in managed code. I'd only go that route in desperation.

Good luck...


--- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
>
> We've experienced this before but usually as loing as you dispose = null
> all your custom stuff its ok, however .NET is leaky and specially the
> Epicor kind. If I remember correctly there is /CONFIG option you cna pass
> to the client which will show all not disposed obkects.
>
> I'll see if I can remember.
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *checkout my new blog <http://www.usdoingstuff.com> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com
> <http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
> <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
> <http://www.josecgomez.com/professional-resume/>
> <http://www.josecgomez.com/feed/>
> <http://www.usdoingstuff.com>
>
> *Quis custodiet ipsos custodes?*
>
>
>
> On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@...> wrote:
>
> > **
> >
> >
> > Has anyone else experienced and resolved C# memory leaks with their
> > customizations.
> >
> > The behavior we are experiencing is that each time the form is opened and
> > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > steadiliy increases so that, over time we hit an OOM error.
> >
> > We have tried, dispose() and setting to null, wrapping in using statements
> > and forced Garbage collections. None have had any impact, good or bad.
> >
> > Any suggestions?
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
run your client with /memory

mfgsys.exe /memory will show you a leak tester, may be helpful

*Jose C Gomez*
*Software Engineer*
*
*
*checkout my new blog <http://www.usdoingstuff.com> *
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
<http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
<http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
<http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*



On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:

> **
>
>
>
>
> Event handlers are usually the first culprit I look at with C# and memory
> leaks.... if you add an event assignment by addition (+=) you must have a
> (-=) before you dispose or you get a leak and the object will never enter
> gen(2) state since its reference may never get cleared. These are real easy
> to create and sometimes hard to find. I also wouldn't rule out Epicor is
> not detaching everything cleanly either.
>
> Windbg allows you to attach to any .net process and poke around inside the
> heap. It's ugly though and seems to make me question GC in managed code.
> I'd only go that route in desperation.
>
> Good luck...
>
>
> --- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
> >
> > We've experienced this before but usually as loing as you dispose = null
> > all your custom stuff its ok, however .NET is leaky and specially the
> > Epicor kind. If I remember correctly there is /CONFIG option you cna pass
> > to the client which will show all not disposed obkects.
> >
> > I'll see if I can remember.
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *checkout my new blog <http://www.usdoingstuff.com> *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@...
> > http://www.josecgomez.com
> > <http://www.linkedin.com/in/josecgomez> <
> http://www.facebook.com/josegomez>
> > <http://www.google.com/profiles/jose.gomez> <
> http://www.twitter.com/joc85>
> > <http://www.josecgomez.com/professional-resume/>
> > <http://www.josecgomez.com/feed/>
> > <http://www.usdoingstuff.com>
> >
> > *Quis custodiet ipsos custodes?*
> >
> >
> >
> > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@...> wrote:
> >
> > > **
>
> > >
> > >
> > > Has anyone else experienced and resolved C# memory leaks with their
> > > customizations.
> > >
> > > The behavior we are experiencing is that each time the form is opened
> and
> > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > steadiliy increases so that, over time we hit an OOM error.
> > >
> > > We have tried, dispose() and setting to null, wrapping in using
> statements
> > > and forced Garbage collections. None have had any impact, good or bad.
> > >
> > > Any suggestions?
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
>
>


[Non-text portions of this message have been removed]
Great tip Jose... that is pretty handy

--- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
>
> run your client with /memory
>
> mfgsys.exe /memory will show you a leak tester, may be helpful
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *checkout my new blog <http://www.usdoingstuff.com> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com
> <http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
> <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
> <http://www.josecgomez.com/professional-resume/>
> <http://www.josecgomez.com/feed/>
> <http://www.usdoingstuff.com>
>
> *Quis custodiet ipsos custodes?*
>
>
>
> On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:
>
> > **
> >
> >
> >
> >
> > Event handlers are usually the first culprit I look at with C# and memory
> > leaks.... if you add an event assignment by addition (+=) you must have a
> > (-=) before you dispose or you get a leak and the object will never enter
> > gen(2) state since its reference may never get cleared. These are real easy
> > to create and sometimes hard to find. I also wouldn't rule out Epicor is
> > not detaching everything cleanly either.
> >
> > Windbg allows you to attach to any .net process and poke around inside the
> > heap. It's ugly though and seems to make me question GC in managed code.
> > I'd only go that route in desperation.
> >
> > Good luck...
> >
> >
> > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > >
> > > We've experienced this before but usually as loing as you dispose = null
> > > all your custom stuff its ok, however .NET is leaky and specially the
> > > Epicor kind. If I remember correctly there is /CONFIG option you cna pass
> > > to the client which will show all not disposed obkects.
> > >
> > > I'll see if I can remember.
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@
> > > http://www.josecgomez.com
> > > <http://www.linkedin.com/in/josecgomez> <
> > http://www.facebook.com/josegomez>
> > > <http://www.google.com/profiles/jose.gomez> <
> > http://www.twitter.com/joc85>
> > > <http://www.josecgomez.com/professional-resume/>
> > > <http://www.josecgomez.com/feed/>
> > > <http://www.usdoingstuff.com>
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > >
> > >
> > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@> wrote:
> > >
> > > > **
> >
> > > >
> > > >
> > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > customizations.
> > > >
> > > > The behavior we are experiencing is that each time the form is opened
> > and
> > > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > > steadiliy increases so that, over time we hit an OOM error.
> > > >
> > > > We have tried, dispose() and setting to null, wrapping in using
> > statements
> > > > and forced Garbage collections. None have had any impact, good or bad.
> > > >
> > > > Any suggestions?
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
Jose,

Other than /memory, are there any other "commands" you can run the client with?

Thanks,

-Ted



________________________________
From: Jose Gomez <jose@...>
To: vantage@yahoogroups.com
Sent: Thursday, January 26, 2012 2:53 PM
Subject: Re: [Vantage] Re: OOM Error - C# Customization Memory/Handle Leak

run your client with /memory

mfgsys.exe /memory will show you a leak tester, may be helpful

*Jose C Gomez*
*Software Engineer*
*
*
*checkout my new blog <http://www.usdoingstuff.com> *
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez>Â <http://www.facebook.com/josegomez>
 <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
 <http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
 <http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*



On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:

> **
>
>
>
>
> Event handlers are usually the first culprit I look at with C# and memory
> leaks.... if you add an event assignment by addition (+=) you must have a
> (-=) before you dispose or you get a leak and the object will never enter
> gen(2) state since its reference may never get cleared. These are real easy
> to create and sometimes hard to find. I also wouldn't rule out Epicor is
> not detaching everything cleanly either.
>
> Windbg allows you to attach to any .net process and poke around inside the
> heap. It's ugly though and seems to make me question GC in managed code.
> I'd only go that route in desperation.
>
> Good luck...
>
>
> --- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
> >
> > We've experienced this before but usually as loing as you dispose = null
> > all your custom stuff its ok, however .NET is leaky and specially the
> > Epicor kind. If I remember correctly there is /CONFIG option you cna pass
> > to the client which will show all not disposed obkects.
> >
> > I'll see if I can remember.
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *checkout my new blog <http://www.usdoingstuff.com> *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@...
> > http://www.josecgomez.com
> > <http://www.linkedin.com/in/josecgomez> <
> http://www.facebook.com/josegomez>
> > <http://www.google.com/profiles/jose.gomez> <
> http://www.twitter.com/joc85>
> > <http://www.josecgomez.com/professional-resume/>
> > <http://www.josecgomez.com/feed/>
> > <http://www.usdoingstuff.com>
> >
> > *Quis custodiet ipsos custodes?*
> >
> >
> >
> > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@...> wrote:
> >
> > > **
>
> > >
> > >
> > > Has anyone else experienced and resolved C# memory leaks with their
> > > customizations.
> > >
> > > The behavior we are experiencing is that each time the form is opened
> and
> > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > steadiliy increases so that, over time we hit an OOM error.
> > >
> > > We have tried, dispose() and setting to null, wrapping in using
> statements
> > > and forced Garbage collections. None have had any impact, good or bad.
> > >
> > > Any suggestions?
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>

>


[Non-text portions of this message have been removed]



------------------------------------

Useful links for the Yahoo!Groups Vantage Board are: ( Note:Â You must have already linked your email address to a yahoo id to enable access. )
(1) To access the Files Section of our Yahoo!Group for Report Builder and Crystal Reports and other 'goodies', please goto: http://groups.yahoo.com/group/vantage/files/.%c2%a0
(2) To search through old msg's goto: http://groups.yahoo.com/group/vantage/messages
(3) To view links to Vendors that provide Vantage services goto: http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links



[Non-text portions of this message have been removed]
There are... but those are gona cost ya!

haha JK

/help displays an outdated list of commands
/memory memory leak tester
/od Object Designer (doesn't work most times)
/rpt Use Crystal Reports Special Printer (slower than regular)
/upd force update skips version check
/menuid open a menu directly


*Jose C Gomez*
*Software Engineer*
*
*
*checkout my new blog <http://www.usdoingstuff.com> *
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
<http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
<http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
<http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*



On Thu, Jan 26, 2012 at 4:16 PM, Ted Koch <tkoch77@...> wrote:

> **
>
>
> Jose,
>
> Other than /memory, are there any other "commands" you can run the client
> with?
>
> Thanks,
>
> -Ted
>
> ________________________________
> From: Jose Gomez <jose@...>
> To: vantage@yahoogroups.com
> Sent: Thursday, January 26, 2012 2:53 PM
> Subject: Re: [Vantage] Re: OOM Error - C# Customization Memory/Handle Leak
>
>
> run your client with /memory
>
> mfgsys.exe /memory will show you a leak tester, may be helpful
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *checkout my new blog <http://www.usdoingstuff.com> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
>
> http://www.josecgomez.com
> <http://www.linkedin.com/in/josecgomez> <
> http://www.facebook.com/josegomez>
> <http://www.google.com/profiles/jose.gomez> <
> http://www.twitter.com/joc85>
> <http://www.josecgomez.com/professional-resume/>
> <http://www.josecgomez.com/feed/>
> <http://www.usdoingstuff.com>
>
> *Quis custodiet ipsos custodes?*
>
> On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:
>
> > **
>
> >
> >
> >
> >
> > Event handlers are usually the first culprit I look at with C# and memory
> > leaks.... if you add an event assignment by addition (+=) you must have a
> > (-=) before you dispose or you get a leak and the object will never enter
> > gen(2) state since its reference may never get cleared. These are real
> easy
> > to create and sometimes hard to find. I also wouldn't rule out Epicor is
> > not detaching everything cleanly either.
> >
> > Windbg allows you to attach to any .net process and poke around inside
> the
> > heap. It's ugly though and seems to make me question GC in managed code.
> > I'd only go that route in desperation.
> >
> > Good luck...
> >
> >
> > --- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
> > >
> > > We've experienced this before but usually as loing as you dispose =
> null
> > > all your custom stuff its ok, however .NET is leaky and specially the
> > > Epicor kind. If I remember correctly there is /CONFIG option you cna
> pass
> > > to the client which will show all not disposed obkects.
> > >
> > > I'll see if I can remember.
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@...
> > > http://www.josecgomez.com
> > > <http://www.linkedin.com/in/josecgomez> <
> > http://www.facebook.com/josegomez>
> > > <http://www.google.com/profiles/jose.gomez> <
> > http://www.twitter.com/joc85>
> > > <http://www.josecgomez.com/professional-resume/>
> > > <http://www.josecgomez.com/feed/>
> > > <http://www.usdoingstuff.com>
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > >
> > >
> > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@...> wrote:
> > >
> > > > **
> >
> > > >
> > > >
> > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > customizations.
> > > >
> > > > The behavior we are experiencing is that each time the form is opened
> > and
> > > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > > steadiliy increases so that, over time we hit an OOM error.
> > > >
> > > > We have tried, dispose() and setting to null, wrapping in using
> > statements
> > > > and forced Garbage collections. None have had any impact, good or
> bad.
> > > >
> > > > Any suggestions?
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
> >
> >
>
> [Non-text portions of this message have been removed]
>
> ------------------------------------
>
>
> Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> have already linked your email address to a yahoo id to enable access. )
> (1) To access the Files Section of our Yahoo!Group for Report Builder and
> Crystal Reports and other 'goodies', please goto:
> http://groups.yahoo.com/group/vantage/files/.
> (2) To search through old msg's goto:
> http://groups.yahoo.com/group/vantage/messages
> (3) To view links to Vendors that provide Vantage services goto:
> http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
>
>
> [Non-text portions of this message have been removed]
>
>
>


[Non-text portions of this message have been removed]
Thanks, I will try running with /memory.

I have also been using CLR Profiler and pulling CLR counters while running automated tests with TestComplete from SmartBear.

I will look for event handlers and ensure that we are cleaning all of those up as well.

I get the behaviour whether I do anything on the form or not - for example, I can open, create a customer, part or order, then close, or just open and close any of those without entering data or saving and I get the same behavior - handles increase, and Gen 2 grows until we hit OOM .

I'll let you know how it goes.

--- In vantage@yahoogroups.com, "James" <jamescompton@...> wrote:
>
>
> Great tip Jose... that is pretty handy
>
> --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> >
> > run your client with /memory
> >
> > mfgsys.exe /memory will show you a leak tester, may be helpful
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *checkout my new blog <http://www.usdoingstuff.com> *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@
> > http://www.josecgomez.com
> > <http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
> > <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
> > <http://www.josecgomez.com/professional-resume/>
> > <http://www.josecgomez.com/feed/>
> > <http://www.usdoingstuff.com>
> >
> > *Quis custodiet ipsos custodes?*
> >
> >
> >
> > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@> wrote:
> >
> > > **
> > >
> > >
> > >
> > >
> > > Event handlers are usually the first culprit I look at with C# and memory
> > > leaks.... if you add an event assignment by addition (+=) you must have a
> > > (-=) before you dispose or you get a leak and the object will never enter
> > > gen(2) state since its reference may never get cleared. These are real easy
> > > to create and sometimes hard to find. I also wouldn't rule out Epicor is
> > > not detaching everything cleanly either.
> > >
> > > Windbg allows you to attach to any .net process and poke around inside the
> > > heap. It's ugly though and seems to make me question GC in managed code.
> > > I'd only go that route in desperation.
> > >
> > > Good luck...
> > >
> > >
> > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > >
> > > > We've experienced this before but usually as loing as you dispose = null
> > > > all your custom stuff its ok, however .NET is leaky and specially the
> > > > Epicor kind. If I remember correctly there is /CONFIG option you cna pass
> > > > to the client which will show all not disposed obkects.
> > > >
> > > > I'll see if I can remember.
> > > >
> > > > *Jose C Gomez*
> > > > *Software Engineer*
> > > > *
> > > > *
> > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > *
> > > > *T: 904.469.1524 mobile
> > > > E: jose@
> > > > http://www.josecgomez.com
> > > > <http://www.linkedin.com/in/josecgomez> <
> > > http://www.facebook.com/josegomez>
> > > > <http://www.google.com/profiles/jose.gomez> <
> > > http://www.twitter.com/joc85>
> > > > <http://www.josecgomez.com/professional-resume/>
> > > > <http://www.josecgomez.com/feed/>
> > > > <http://www.usdoingstuff.com>
> > > >
> > > > *Quis custodiet ipsos custodes?*
> > > >
> > > >
> > > >
> > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@> wrote:
> > > >
> > > > > **
> > >
> > > > >
> > > > >
> > > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > > customizations.
> > > > >
> > > > > The behavior we are experiencing is that each time the form is opened
> > > and
> > > > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > >
> > > > > We have tried, dispose() and setting to null, wrapping in using
> > > statements
> > > > > and forced Garbage collections. None have had any impact, good or bad.
> > > > >
> > > > > Any suggestions?
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
Cool, thanks!



________________________________
From: Jose Gomez <jose@...>
To: vantage@yahoogroups.com
Sent: Thursday, January 26, 2012 4:20 PM
Subject: Re: [Vantage] Re: OOM Error - C# Customization Memory/Handle Leak

There are... but those are gona cost ya!

haha JK

/help displays an outdated list of commands
/memory memory leak tester
/od Object Designer (doesn't work most times)
/rpt Use Crystal Reports Special Printer (slower than regular)
/upd force update skips version check
/menuid open a menu directly


*Jose C Gomez*
*Software Engineer*
*
*
*checkout my new blog <http://www.usdoingstuff.com> *
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez>Â <http://www.facebook.com/josegomez>
 <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
 <http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
 <http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*



On Thu, Jan 26, 2012 at 4:16 PM, Ted Koch <tkoch77@...> wrote:

> **
>
>
> Jose,
>
> Other than /memory, are there any other "commands" you can run the client
> with?
>
> Thanks,
>
> -Ted
>
> ________________________________
> From: Jose Gomez <jose@...>
> To: vantage@yahoogroups.com
> Sent: Thursday, January 26, 2012 2:53 PM
> Subject: Re: [Vantage] Re: OOM Error - C# Customization Memory/Handle Leak
>
>
> run your client with /memory
>
> mfgsys.exe /memory will show you a leak tester, may be helpful
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *checkout my new blog <http://www.usdoingstuff.com> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
>
> http://www.josecgomez.com
> <http://www.linkedin.com/in/josecgomez>Â <
> http://www.facebook.com/josegomez>
>Â <http://www.google.com/profiles/jose.gomez> <
> http://www.twitter.com/joc85>
>Â <http://www.josecgomez.com/professional-resume/>
> <http://www.josecgomez.com/feed/>
>Â <http://www.usdoingstuff.com>
>
> *Quis custodiet ipsos custodes?*
>
> On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:
>
> > **
>
> >
> >
> >
> >
> > Event handlers are usually the first culprit I look at with C# and memory
> > leaks.... if you add an event assignment by addition (+=) you must have a
> > (-=) before you dispose or you get a leak and the object will never enter
> > gen(2) state since its reference may never get cleared. These are real
> easy
> > to create and sometimes hard to find. I also wouldn't rule out Epicor is
> > not detaching everything cleanly either.
> >
> > Windbg allows you to attach to any .net process and poke around inside
> the
> > heap. It's ugly though and seems to make me question GC in managed code.
> > I'd only go that route in desperation.
> >
> > Good luck...
> >
> >
> > --- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
> > >
> > > We've experienced this before but usually as loing as you dispose =
> null
> > > all your custom stuff its ok, however .NET is leaky and specially the
> > > Epicor kind. If I remember correctly there is /CONFIG option you cna
> pass
> > > to the client which will show all not disposed obkects.
> > >
> > > I'll see if I can remember.
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@...
> > > http://www.josecgomez.com
> > > <http://www.linkedin.com/in/josecgomez> <
> > http://www.facebook.com/josegomez>
> > > <http://www.google.com/profiles/jose.gomez> <
> > http://www.twitter.com/joc85>
> > > <http://www.josecgomez.com/professional-resume/>
> > > <http://www.josecgomez.com/feed/>
> > > <http://www.usdoingstuff.com>
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > >
> > >
> > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@...> wrote:
> > >
> > > > **
> >
> > > >
> > > >
> > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > customizations.
> > > >
> > > > The behavior we are experiencing is that each time the form is opened
> > and
> > > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > > steadiliy increases so that, over time we hit an OOM error.
> > > >
> > > > We have tried, dispose() and setting to null, wrapping in using
> > statements
> > > > and forced Garbage collections. None have had any impact, good or
> bad.
> > > >
> > > > Any suggestions?
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
> >
> >
>
> [Non-text portions of this message have been removed]
>
> ------------------------------------
>
>
> Useful links for the Yahoo!Groups Vantage Board are: ( Note:Â You must
> have already linked your email address to a yahoo id to enable access. )
> (1) To access the Files Section of our Yahoo!Group for Report Builder and
> Crystal Reports and other 'goodies', please goto:
> http://groups.yahoo.com/group/vantage/files/.
> (2) To search through old msg's goto:
> http://groups.yahoo.com/group/vantage/messages
> (3) To view links to Vendors that provide Vantage services goto:
> http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
>
>
> [Non-text portions of this message have been removed]
>

>


[Non-text portions of this message have been removed]



------------------------------------

Useful links for the Yahoo!Groups Vantage Board are: ( Note:Â You must have already linked your email address to a yahoo id to enable access. )
(1) To access the Files Section of our Yahoo!Group for Report Builder and Crystal Reports and other 'goodies', please goto: http://groups.yahoo.com/group/vantage/files/.%c2%a0
(2) To search through old msg's goto: http://groups.yahoo.com/group/vantage/messages
(3) To view links to Vendors that provide Vantage services goto: http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links



[Non-text portions of this message have been removed]
/memory shows the following after opening and closing 3 times - same set of two that are disposed.

Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed

And GC Total Memory increases with each open and close.

If I run with an empty customization, these same two appear 'Live' when I open it, then disappear upon close and GC total memory does not increase.

If I view all code, I can see these two, but what do I need to do to 'release' them? Or am I totally missing something obvious - I am very new to this.

--- In vantage@yahoogroups.com, "jim.taylor3" <jim.taylor3@...> wrote:
>
> Thanks, I will try running with /memory.
>
> I have also been using CLR Profiler and pulling CLR counters while running automated tests with TestComplete from SmartBear.
>
> I will look for event handlers and ensure that we are cleaning all of those up as well.
>
> I get the behaviour whether I do anything on the form or not - for example, I can open, create a customer, part or order, then close, or just open and close any of those without entering data or saving and I get the same behavior - handles increase, and Gen 2 grows until we hit OOM .
>
> I'll let you know how it goes.
>
> --- In vantage@yahoogroups.com, "James" <jamescompton@> wrote:
> >
> >
> > Great tip Jose... that is pretty handy
> >
> > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > >
> > > run your client with /memory
> > >
> > > mfgsys.exe /memory will show you a leak tester, may be helpful
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@
> > > http://www.josecgomez.com
> > > <http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
> > > <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
> > > <http://www.josecgomez.com/professional-resume/>
> > > <http://www.josecgomez.com/feed/>
> > > <http://www.usdoingstuff.com>
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > >
> > >
> > > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@> wrote:
> > >
> > > > **
> > > >
> > > >
> > > >
> > > >
> > > > Event handlers are usually the first culprit I look at with C# and memory
> > > > leaks.... if you add an event assignment by addition (+=) you must have a
> > > > (-=) before you dispose or you get a leak and the object will never enter
> > > > gen(2) state since its reference may never get cleared. These are real easy
> > > > to create and sometimes hard to find. I also wouldn't rule out Epicor is
> > > > not detaching everything cleanly either.
> > > >
> > > > Windbg allows you to attach to any .net process and poke around inside the
> > > > heap. It's ugly though and seems to make me question GC in managed code.
> > > > I'd only go that route in desperation.
> > > >
> > > > Good luck...
> > > >
> > > >
> > > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > > >
> > > > > We've experienced this before but usually as loing as you dispose = null
> > > > > all your custom stuff its ok, however .NET is leaky and specially the
> > > > > Epicor kind. If I remember correctly there is /CONFIG option you cna pass
> > > > > to the client which will show all not disposed obkects.
> > > > >
> > > > > I'll see if I can remember.
> > > > >
> > > > > *Jose C Gomez*
> > > > > *Software Engineer*
> > > > > *
> > > > > *
> > > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > > *
> > > > > *T: 904.469.1524 mobile
> > > > > E: jose@
> > > > > http://www.josecgomez.com
> > > > > <http://www.linkedin.com/in/josecgomez> <
> > > > http://www.facebook.com/josegomez>
> > > > > <http://www.google.com/profiles/jose.gomez> <
> > > > http://www.twitter.com/joc85>
> > > > > <http://www.josecgomez.com/professional-resume/>
> > > > > <http://www.josecgomez.com/feed/>
> > > > > <http://www.usdoingstuff.com>
> > > > >
> > > > > *Quis custodiet ipsos custodes?*
> > > > >
> > > > >
> > > > >
> > > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@> wrote:
> > > > >
> > > > > > **
> > > >
> > > > > >
> > > > > >
> > > > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > > > customizations.
> > > > > >
> > > > > > The behavior we are experiencing is that each time the form is opened
> > > > and
> > > > > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > > >
> > > > > > We have tried, dispose() and setting to null, wrapping in using
> > > > statements
> > > > > > and forced Garbage collections. None have had any impact, good or bad.
> > > > > >
> > > > > > Any suggestions?
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > [Non-text portions of this message have been removed]
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
>
I have found a solution that greatly improves things and may be sufficient to prevent further OOM errors.

If we simply cache memory for each form, we do not seem to have the memory leak issue. It makes perfect sense. As it is now the form is loaded and the references to data and the form UI are rooted, closing and opening again, establishes a second set, etc. By caching, you use the references/handles that you establish the first time and the standard garbage collection is free to do its thing.

I welcome any other comments or input - I have already kicked myself for not trying this earlier.

--- In vantage@yahoogroups.com, "jim.taylor3" <jim.taylor3@...> wrote:
>
> /memory shows the following after opening and closing 3 times - same set of two that are disposed.
>
> Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
> Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
> Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
>
> And GC Total Memory increases with each open and close.
>
> If I run with an empty customization, these same two appear 'Live' when I open it, then disappear upon close and GC total memory does not increase.
>
> If I view all code, I can see these two, but what do I need to do to 'release' them? Or am I totally missing something obvious - I am very new to this.
>
> --- In vantage@yahoogroups.com, "jim.taylor3" <jim.taylor3@> wrote:
> >
> > Thanks, I will try running with /memory.
> >
> > I have also been using CLR Profiler and pulling CLR counters while running automated tests with TestComplete from SmartBear.
> >
> > I will look for event handlers and ensure that we are cleaning all of those up as well.
> >
> > I get the behaviour whether I do anything on the form or not - for example, I can open, create a customer, part or order, then close, or just open and close any of those without entering data or saving and I get the same behavior - handles increase, and Gen 2 grows until we hit OOM .
> >
> > I'll let you know how it goes.
> >
> > --- In vantage@yahoogroups.com, "James" <jamescompton@> wrote:
> > >
> > >
> > > Great tip Jose... that is pretty handy
> > >
> > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > >
> > > > run your client with /memory
> > > >
> > > > mfgsys.exe /memory will show you a leak tester, may be helpful
> > > >
> > > > *Jose C Gomez*
> > > > *Software Engineer*
> > > > *
> > > > *
> > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > *
> > > > *T: 904.469.1524 mobile
> > > > E: jose@
> > > > http://www.josecgomez.com
> > > > <http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
> > > > <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
> > > > <http://www.josecgomez.com/professional-resume/>
> > > > <http://www.josecgomez.com/feed/>
> > > > <http://www.usdoingstuff.com>
> > > >
> > > > *Quis custodiet ipsos custodes?*
> > > >
> > > >
> > > >
> > > > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@> wrote:
> > > >
> > > > > **
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Event handlers are usually the first culprit I look at with C# and memory
> > > > > leaks.... if you add an event assignment by addition (+=) you must have a
> > > > > (-=) before you dispose or you get a leak and the object will never enter
> > > > > gen(2) state since its reference may never get cleared. These are real easy
> > > > > to create and sometimes hard to find. I also wouldn't rule out Epicor is
> > > > > not detaching everything cleanly either.
> > > > >
> > > > > Windbg allows you to attach to any .net process and poke around inside the
> > > > > heap. It's ugly though and seems to make me question GC in managed code.
> > > > > I'd only go that route in desperation.
> > > > >
> > > > > Good luck...
> > > > >
> > > > >
> > > > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > > > >
> > > > > > We've experienced this before but usually as loing as you dispose = null
> > > > > > all your custom stuff its ok, however .NET is leaky and specially the
> > > > > > Epicor kind. If I remember correctly there is /CONFIG option you cna pass
> > > > > > to the client which will show all not disposed obkects.
> > > > > >
> > > > > > I'll see if I can remember.
> > > > > >
> > > > > > *Jose C Gomez*
> > > > > > *Software Engineer*
> > > > > > *
> > > > > > *
> > > > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > > > *
> > > > > > *T: 904.469.1524 mobile
> > > > > > E: jose@
> > > > > > http://www.josecgomez.com
> > > > > > <http://www.linkedin.com/in/josecgomez> <
> > > > > http://www.facebook.com/josegomez>
> > > > > > <http://www.google.com/profiles/jose.gomez> <
> > > > > http://www.twitter.com/joc85>
> > > > > > <http://www.josecgomez.com/professional-resume/>
> > > > > > <http://www.josecgomez.com/feed/>
> > > > > > <http://www.usdoingstuff.com>
> > > > > >
> > > > > > *Quis custodiet ipsos custodes?*
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@> wrote:
> > > > > >
> > > > > > > **
> > > > >
> > > > > > >
> > > > > > >
> > > > > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > > > > customizations.
> > > > > > >
> > > > > > > The behavior we are experiencing is that each time the form is opened
> > > > > and
> > > > > > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > > > >
> > > > > > > We have tried, dispose() and setting to null, wrapping in using
> > > > > statements
> > > > > > > and forced Garbage collections. None have had any impact, good or bad.
> > > > > > >
> > > > > > > Any suggestions?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > [Non-text portions of this message have been removed]
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > >
> >
>
I have just started working with customizations, and my first task is to
resolve memory leaks that showed up after the company upgraded from vantage
to 9.05.607, and I am not clear on how to cache memory for each form? Is
that done as you write the custom script? Or a system setting?

And as sidenote, I am trying to fix customizations that were written with
VB.

Thanks in advance.

-Chad

On Mon, Feb 13, 2012 at 2:26 PM, jim.taylor3 <jim.taylor3@...> wrote:

> **
>
>
> I have found a solution that greatly improves things and may be sufficient
> to prevent further OOM errors.
>
> If we simply cache memory for each form, we do not seem to have the memory
> leak issue. It makes perfect sense. As it is now the form is loaded and the
> references to data and the form UI are rooted, closing and opening again,
> establishes a second set, etc. By caching, you use the references/handles
> that you establish the first time and the standard garbage collection is
> free to do its thing.
>
> I welcome any other comments or input - I have already kicked myself for
> not trying this earlier.
>
> --- In vantage@yahoogroups.com, "jim.taylor3" <jim.taylor3@...> wrote:
> >
> > /memory shows the following after opening and closing 3 times - same set
> of two that are disposed.
> >
> > Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> > Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
> > Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> > Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
> > Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> > Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
> >
> > And GC Total Memory increases with each open and close.
> >
> > If I run with an empty customization, these same two appear 'Live' when
> I open it, then disappear upon close and GC total memory does not increase.
> >
> > If I view all code, I can see these two, but what do I need to do to
> 'release' them? Or am I totally missing something obvious - I am very new
> to this.
> >
> > --- In vantage@yahoogroups.com, "jim.taylor3" <jim.taylor3@> wrote:
> > >
> > > Thanks, I will try running with /memory.
> > >
> > > I have also been using CLR Profiler and pulling CLR counters while
> running automated tests with TestComplete from SmartBear.
> > >
> > > I will look for event handlers and ensure that we are cleaning all of
> those up as well.
> > >
> > > I get the behaviour whether I do anything on the form or not - for
> example, I can open, create a customer, part or order, then close, or just
> open and close any of those without entering data or saving and I get the
> same behavior - handles increase, and Gen 2 grows until we hit OOM .
> > >
> > > I'll let you know how it goes.
> > >
> > > --- In vantage@yahoogroups.com, "James" <jamescompton@> wrote:
> > > >
> > > >
> > > > Great tip Jose... that is pretty handy
> > > >
> > > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > > >
> > > > > run your client with /memory
> > > > >
> > > > > mfgsys.exe /memory will show you a leak tester, may be helpful
> > > > >
> > > > > *Jose C Gomez*
> > > > > *Software Engineer*
> > > > > *
> > > > > *
> > > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > > *
> > > > > *T: 904.469.1524 mobile
> > > > > E: jose@
> > > > > http://www.josecgomez.com
> > > > > <http://www.linkedin.com/in/josecgomez> <
> http://www.facebook.com/josegomez>
> > > > > <http://www.google.com/profiles/jose.gomez> <
> http://www.twitter.com/joc85>
> > > > > <http://www.josecgomez.com/professional-resume/>
> > > > > <http://www.josecgomez.com/feed/>
> > > > > <http://www.usdoingstuff.com>
> > > > >
> > > > > *Quis custodiet ipsos custodes?*
> > > > >
> > > > >
> > > > >
> > > > > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@> wrote:
> > > > >
> > > > > > **
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Event handlers are usually the first culprit I look at with C#
> and memory
> > > > > > leaks.... if you add an event assignment by addition (+=) you
> must have a
> > > > > > (-=) before you dispose or you get a leak and the object will
> never enter
> > > > > > gen(2) state since its reference may never get cleared. These
> are real easy
> > > > > > to create and sometimes hard to find. I also wouldn't rule out
> Epicor is
> > > > > > not detaching everything cleanly either.
> > > > > >
> > > > > > Windbg allows you to attach to any .net process and poke around
> inside the
> > > > > > heap. It's ugly though and seems to make me question GC in
> managed code.
> > > > > > I'd only go that route in desperation.
> > > > > >
> > > > > > Good luck...
> > > > > >
> > > > > >
> > > > > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > > > > >
> > > > > > > We've experienced this before but usually as loing as you
> dispose = null
> > > > > > > all your custom stuff its ok, however .NET is leaky and
> specially the
> > > > > > > Epicor kind. If I remember correctly there is /CONFIG option
> you cna pass
> > > > > > > to the client which will show all not disposed obkects.
> > > > > > >
> > > > > > > I'll see if I can remember.
> > > > > > >
> > > > > > > *Jose C Gomez*
> > > > > > > *Software Engineer*
> > > > > > > *
> > > > > > > *
> > > > > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > > > > *
> > > > > > > *T: 904.469.1524 mobile
> > > > > > > E: jose@
> > > > > > > http://www.josecgomez.com
> > > > > > > <http://www.linkedin.com/in/josecgomez> <
> > > > > > http://www.facebook.com/josegomez>
> > > > > > > <http://www.google.com/profiles/jose.gomez> <
> > > > > > http://www.twitter.com/joc85>
> > > > > > > <http://www.josecgomez.com/professional-resume/>
> > > > > > > <http://www.josecgomez.com/feed/>
> > > > > > > <http://www.usdoingstuff.com>
> > > > > > >
> > > > > > > *Quis custodiet ipsos custodes?*
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@>
> wrote:
> > > > > > >
> > > > > > > > **
> > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Has anyone else experienced and resolved C# memory leaks
> with their
> > > > > > > > customizations.
> > > > > > > >
> > > > > > > > The behavior we are experiencing is that each time the form
> is opened
> > > > > > and
> > > > > > > > closed, memory is promoted to Gen 2 of the stack and the #
> of handles
> > > > > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > > > > >
> > > > > > > > We have tried, dispose() and setting to null, wrapping in
> using
> > > > > > statements
> > > > > > > > and forced Garbage collections. None have had any impact,
> good or bad.
> > > > > > > >
> > > > > > > > Any suggestions?
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > [Non-text portions of this message have been removed]
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > [Non-text portions of this message have been removed]
> > > > >
> > > >
> > >
> >
>
>
>


[Non-text portions of this message have been removed]
Thanks Jose!

Is there any documentation anywhere about these commands? Did you bribe a developer to give up these bonus commands?

--- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
>
> There are... but those are gona cost ya!
>
> haha JK
>
> /help displays an outdated list of commands
> /memory memory leak tester
> /od Object Designer (doesn't work most times)
> /rpt Use Crystal Reports Special Printer (slower than regular)
> /upd force update skips version check
> /menuid open a menu directly
>
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *checkout my new blog <http://www.usdoingstuff.com> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com
> <http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
> <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
> <http://www.josecgomez.com/professional-resume/>
> <http://www.josecgomez.com/feed/>
> <http://www.usdoingstuff.com>
>
> *Quis custodiet ipsos custodes?*
>
>
>
> On Thu, Jan 26, 2012 at 4:16 PM, Ted Koch <tkoch77@...> wrote:
>
> > **
> >
> >
> > Jose,
> >
> > Other than /memory, are there any other "commands" you can run the client
> > with?
> >
> > Thanks,
> >
> > -Ted
> >
> > ________________________________
> > From: Jose Gomez <jose@...>
> > To: vantage@yahoogroups.com
> > Sent: Thursday, January 26, 2012 2:53 PM
> > Subject: Re: [Vantage] Re: OOM Error - C# Customization Memory/Handle Leak
> >
> >
> > run your client with /memory
> >
> > mfgsys.exe /memory will show you a leak tester, may be helpful
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *checkout my new blog <http://www.usdoingstuff.com> *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@...
> >
> > http://www.josecgomez.com
> > <http://www.linkedin.com/in/josecgomez> <
> > http://www.facebook.com/josegomez>
> > <http://www.google.com/profiles/jose.gomez> <
> > http://www.twitter.com/joc85>
> > <http://www.josecgomez.com/professional-resume/>
> > <http://www.josecgomez.com/feed/>
> > <http://www.usdoingstuff.com>
> >
> > *Quis custodiet ipsos custodes?*
> >
> > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:
> >
> > > **
> >
> > >
> > >
> > >
> > >
> > > Event handlers are usually the first culprit I look at with C# and memory
> > > leaks.... if you add an event assignment by addition (+=) you must have a
> > > (-=) before you dispose or you get a leak and the object will never enter
> > > gen(2) state since its reference may never get cleared. These are real
> > easy
> > > to create and sometimes hard to find. I also wouldn't rule out Epicor is
> > > not detaching everything cleanly either.
> > >
> > > Windbg allows you to attach to any .net process and poke around inside
> > the
> > > heap. It's ugly though and seems to make me question GC in managed code.
> > > I'd only go that route in desperation.
> > >
> > > Good luck...
> > >
> > >
> > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > >
> > > > We've experienced this before but usually as loing as you dispose =
> > null
> > > > all your custom stuff its ok, however .NET is leaky and specially the
> > > > Epicor kind. If I remember correctly there is /CONFIG option you cna
> > pass
> > > > to the client which will show all not disposed obkects.
> > > >
> > > > I'll see if I can remember.
> > > >
> > > > *Jose C Gomez*
> > > > *Software Engineer*
> > > > *
> > > > *
> > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > *
> > > > *T: 904.469.1524 mobile
> > > > E: jose@
> > > > http://www.josecgomez.com
> > > > <http://www.linkedin.com/in/josecgomez> <
> > > http://www.facebook.com/josegomez>
> > > > <http://www.google.com/profiles/jose.gomez> <
> > > http://www.twitter.com/joc85>
> > > > <http://www.josecgomez.com/professional-resume/>
> > > > <http://www.josecgomez.com/feed/>
> > > > <http://www.usdoingstuff.com>
> > > >
> > > > *Quis custodiet ipsos custodes?*
> > > >
> > > >
> > > >
> > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@> wrote:
> > > >
> > > > > **
> > >
> > > > >
> > > > >
> > > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > > customizations.
> > > > >
> > > > > The behavior we are experiencing is that each time the form is opened
> > > and
> > > > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > >
> > > > > We have tried, dispose() and setting to null, wrapping in using
> > > statements
> > > > > and forced Garbage collections. None have had any impact, good or
> > bad.
> > > > >
> > > > > Any suggestions?
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > >
> > >
> > >
> >
> > [Non-text portions of this message have been removed]
> >
> > ------------------------------------
> >
> >
> > Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> > have already linked your email address to a yahoo id to enable access. )
> > (1) To access the Files Section of our Yahoo!Group for Report Builder and
> > Crystal Reports and other 'goodies', please goto:
> > http://groups.yahoo.com/group/vantage/files/.
> > (2) To search through old msg's goto:
> > http://groups.yahoo.com/group/vantage/messages
> > (3) To view links to Vendors that provide Vantage services goto:
> > http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
> >
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
I did bribe a developer, if you get them drunk enough they start talking!
;-)

*Jose C Gomez*
*Software Engineer*
*
*
*checkout my new blog <http://www.usdoingstuff.com> *
*
*T: 904.469.1524 mobile
E: jose@...
http://www.josecgomez.com
<http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
<http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
<http://www.josecgomez.com/professional-resume/>
<http://www.josecgomez.com/feed/>
<http://www.usdoingstuff.com>

*Quis custodiet ipsos custodes?*



On Wed, Mar 14, 2012 at 1:34 PM, cubcrafters_it <
jason.navarrete@...> wrote:

> **
>
>
> Thanks Jose!
>
> Is there any documentation anywhere about these commands? Did you bribe a
> developer to give up these bonus commands?
>
>
> --- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
> >
> > There are... but those are gona cost ya!
> >
> > haha JK
> >
> > /help displays an outdated list of commands
> > /memory memory leak tester
> > /od Object Designer (doesn't work most times)
> > /rpt Use Crystal Reports Special Printer (slower than regular)
> > /upd force update skips version check
> > /menuid open a menu directly
> >
> >
> > *Jose C Gomez*
> > *Software Engineer*
> > *
> > *
> > *checkout my new blog <http://www.usdoingstuff.com> *
> > *
> > *T: 904.469.1524 mobile
> > E: jose@...
> > http://www.josecgomez.com
> > <http://www.linkedin.com/in/josecgomez> <
> http://www.facebook.com/josegomez>
> > <http://www.google.com/profiles/jose.gomez> <
> http://www.twitter.com/joc85>
> > <http://www.josecgomez.com/professional-resume/>
> > <http://www.josecgomez.com/feed/>
> > <http://www.usdoingstuff.com>
> >
> > *Quis custodiet ipsos custodes?*
> >
> >
> >
> > On Thu, Jan 26, 2012 at 4:16 PM, Ted Koch <tkoch77@...> wrote:
> >
> > > **
>
> > >
> > >
> > > Jose,
> > >
> > > Other than /memory, are there any other "commands" you can run the
> client
> > > with?
> > >
> > > Thanks,
> > >
> > > -Ted
> > >
> > > ________________________________
> > > From: Jose Gomez <jose@...>
>
> > > To: vantage@yahoogroups.com
> > > Sent: Thursday, January 26, 2012 2:53 PM
> > > Subject: Re: [Vantage] Re: OOM Error - C# Customization Memory/Handle
> Leak
> > >
> > >
> > > run your client with /memory
> > >
> > > mfgsys.exe /memory will show you a leak tester, may be helpful
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@...
> > >
> > > http://www.josecgomez.com
> > > <http://www.linkedin.com/in/josecgomez> <
> > > http://www.facebook.com/josegomez>
> > > <http://www.google.com/profiles/jose.gomez> <
> > > http://www.twitter.com/joc85>
> > > <http://www.josecgomez.com/professional-resume/>
> > > <http://www.josecgomez.com/feed/>
> > > <http://www.usdoingstuff.com>
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:
> > >
> > > > **
> > >
> > > >
> > > >
> > > >
> > > >
> > > > Event handlers are usually the first culprit I look at with C# and
> memory
> > > > leaks.... if you add an event assignment by addition (+=) you must
> have a
> > > > (-=) before you dispose or you get a leak and the object will never
> enter
> > > > gen(2) state since its reference may never get cleared. These are
> real
> > > easy
> > > > to create and sometimes hard to find. I also wouldn't rule out
> Epicor is
> > > > not detaching everything cleanly either.
> > > >
> > > > Windbg allows you to attach to any .net process and poke around
> inside
> > > the
> > > > heap. It's ugly though and seems to make me question GC in managed
> code.
> > > > I'd only go that route in desperation.
> > > >
> > > > Good luck...
> > > >
> > > >
> > > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > > >
> > > > > We've experienced this before but usually as loing as you dispose =
> > > null
> > > > > all your custom stuff its ok, however .NET is leaky and specially
> the
> > > > > Epicor kind. If I remember correctly there is /CONFIG option you
> cna
> > > pass
> > > > > to the client which will show all not disposed obkects.
> > > > >
> > > > > I'll see if I can remember.
> > > > >
> > > > > *Jose C Gomez*
> > > > > *Software Engineer*
> > > > > *
> > > > > *
> > > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > > *
> > > > > *T: 904.469.1524 mobile
> > > > > E: jose@
> > > > > http://www.josecgomez.com
> > > > > <http://www.linkedin.com/in/josecgomez> <
> > > > http://www.facebook.com/josegomez>
> > > > > <http://www.google.com/profiles/jose.gomez> <
> > > > http://www.twitter.com/joc85>
> > > > > <http://www.josecgomez.com/professional-resume/>
> > > > > <http://www.josecgomez.com/feed/>
> > > > > <http://www.usdoingstuff.com>
> > > > >
> > > > > *Quis custodiet ipsos custodes?*
> > > > >
> > > > >
> > > > >
> > > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@> wrote:
> > > > >
> > > > > > **
> > > >
> > > > > >
> > > > > >
> > > > > > Has anyone else experienced and resolved C# memory leaks with
> their
> > > > > > customizations.
> > > > > >
> > > > > > The behavior we are experiencing is that each time the form is
> opened
> > > > and
> > > > > > closed, memory is promoted to Gen 2 of the stack and the # of
> handles
> > > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > > >
> > > > > > We have tried, dispose() and setting to null, wrapping in using
> > > > statements
> > > > > > and forced Garbage collections. None have had any impact, good or
> > > bad.
> > > > > >
> > > > > > Any suggestions?
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > [Non-text portions of this message have been removed]
> > > > >
> > > >
> > > >
> > > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > > ------------------------------------
> > >
> > >
> > > Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> > > have already linked your email address to a yahoo id to enable access.
> )
> > > (1) To access the Files Section of our Yahoo!Group for Report Builder
> and
> > > Crystal Reports and other 'goodies', please goto:
> > > http://groups.yahoo.com/group/vantage/files/.
> > > (2) To search through old msg's goto:
> > > http://groups.yahoo.com/group/vantage/messages
> > > (3) To view links to Vendors that provide Vantage services goto:
> > > http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
>
>


[Non-text portions of this message have been removed]
It's the whole reason we go to Perspectives!

On Wed, Mar 14, 2012 at 3:38 PM, Jose Gomez <jose@...> wrote:

> I did bribe a developer, if you get them drunk enough they start talking!
> ;-)
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *checkout my new blog <http://www.usdoingstuff.com> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com
> <http://www.linkedin.com/in/josecgomez> <
> http://www.facebook.com/josegomez>
> <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85
> >
> <http://www.josecgomez.com/professional-resume/>
> <http://www.josecgomez.com/feed/>
> <http://www.usdoingstuff.com>
>
> *Quis custodiet ipsos custodes?*
>
>
>
> On Wed, Mar 14, 2012 at 1:34 PM, cubcrafters_it <
> jason.navarrete@...> wrote:
>
> > **
> >
> >
> > Thanks Jose!
> >
> > Is there any documentation anywhere about these commands? Did you bribe a
> > developer to give up these bonus commands?
> >
> >
> > --- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
> > >
> > > There are... but those are gona cost ya!
> > >
> > > haha JK
> > >
> > > /help displays an outdated list of commands
> > > /memory memory leak tester
> > > /od Object Designer (doesn't work most times)
> > > /rpt Use Crystal Reports Special Printer (slower than regular)
> > > /upd force update skips version check
> > > /menuid open a menu directly
> > >
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@...
> > > http://www.josecgomez.com
> > > <http://www.linkedin.com/in/josecgomez> <
> > http://www.facebook.com/josegomez>
> > > <http://www.google.com/profiles/jose.gomez> <
> > http://www.twitter.com/joc85>
> > > <http://www.josecgomez.com/professional-resume/>
> > > <http://www.josecgomez.com/feed/>
> > > <http://www.usdoingstuff.com>
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > >
> > >
> > > On Thu, Jan 26, 2012 at 4:16 PM, Ted Koch <tkoch77@...> wrote:
> > >
> > > > **
> >
> > > >
> > > >
> > > > Jose,
> > > >
> > > > Other than /memory, are there any other "commands" you can run the
> > client
> > > > with?
> > > >
> > > > Thanks,
> > > >
> > > > -Ted
> > > >
> > > > ________________________________
> > > > From: Jose Gomez <jose@...>
> >
> > > > To: vantage@yahoogroups.com
> > > > Sent: Thursday, January 26, 2012 2:53 PM
> > > > Subject: Re: [Vantage] Re: OOM Error - C# Customization Memory/Handle
> > Leak
> > > >
> > > >
> > > > run your client with /memory
> > > >
> > > > mfgsys.exe /memory will show you a leak tester, may be helpful
> > > >
> > > > *Jose C Gomez*
> > > > *Software Engineer*
> > > > *
> > > > *
> > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > *
> > > > *T: 904.469.1524 mobile
> > > > E: jose@...
> > > >
> > > > http://www.josecgomez.com
> > > > <http://www.linkedin.com/in/josecgomez> <
> > > > http://www.facebook.com/josegomez>
> > > > <http://www.google.com/profiles/jose.gomez> <
> > > > http://www.twitter.com/joc85>
> > > > <http://www.josecgomez.com/professional-resume/>
> > > > <http://www.josecgomez.com/feed/>
> > > > <http://www.usdoingstuff.com>
> > > >
> > > > *Quis custodiet ipsos custodes?*
> > > >
> > > > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:
> > > >
> > > > > **
> > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Event handlers are usually the first culprit I look at with C# and
> > memory
> > > > > leaks.... if you add an event assignment by addition (+=) you must
> > have a
> > > > > (-=) before you dispose or you get a leak and the object will never
> > enter
> > > > > gen(2) state since its reference may never get cleared. These are
> > real
> > > > easy
> > > > > to create and sometimes hard to find. I also wouldn't rule out
> > Epicor is
> > > > > not detaching everything cleanly either.
> > > > >
> > > > > Windbg allows you to attach to any .net process and poke around
> > inside
> > > > the
> > > > > heap. It's ugly though and seems to make me question GC in managed
> > code.
> > > > > I'd only go that route in desperation.
> > > > >
> > > > > Good luck...
> > > > >
> > > > >
> > > > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > > > >
> > > > > > We've experienced this before but usually as loing as you
> dispose =
> > > > null
> > > > > > all your custom stuff its ok, however .NET is leaky and specially
> > the
> > > > > > Epicor kind. If I remember correctly there is /CONFIG option you
> > cna
> > > > pass
> > > > > > to the client which will show all not disposed obkects.
> > > > > >
> > > > > > I'll see if I can remember.
> > > > > >
> > > > > > *Jose C Gomez*
> > > > > > *Software Engineer*
> > > > > > *
> > > > > > *
> > > > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > > > *
> > > > > > *T: 904.469.1524 mobile
> > > > > > E: jose@
> > > > > > http://www.josecgomez.com
> > > > > > <http://www.linkedin.com/in/josecgomez> <
> > > > > http://www.facebook.com/josegomez>
> > > > > > <http://www.google.com/profiles/jose.gomez> <
> > > > > http://www.twitter.com/joc85>
> > > > > > <http://www.josecgomez.com/professional-resume/>
> > > > > > <http://www.josecgomez.com/feed/>
> > > > > > <http://www.usdoingstuff.com>
> > > > > >
> > > > > > *Quis custodiet ipsos custodes?*
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@>
> wrote:
> > > > > >
> > > > > > > **
> > > > >
> > > > > > >
> > > > > > >
> > > > > > > Has anyone else experienced and resolved C# memory leaks with
> > their
> > > > > > > customizations.
> > > > > > >
> > > > > > > The behavior we are experiencing is that each time the form is
> > opened
> > > > > and
> > > > > > > closed, memory is promoted to Gen 2 of the stack and the # of
> > handles
> > > > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > > > >
> > > > > > > We have tried, dispose() and setting to null, wrapping in using
> > > > > statements
> > > > > > > and forced Garbage collections. None have had any impact, good
> or
> > > > bad.
> > > > > > >
> > > > > > > Any suggestions?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > [Non-text portions of this message have been removed]
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > > > ------------------------------------
> > > >
> > > >
> > > > Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> > > > have already linked your email address to a yahoo id to enable
> access.
> > )
> > > > (1) To access the Files Section of our Yahoo!Group for Report Builder
> > and
> > > > Crystal Reports and other 'goodies', please goto:
> > > > http://groups.yahoo.com/group/vantage/files/.
> > > > (2) To search through old msg's goto:
> > > > http://groups.yahoo.com/group/vantage/messages
> > > > (3) To view links to Vendors that provide Vantage services goto:
> > > > http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
>
>
> ------------------------------------
>
> Useful links for the Yahoo!Groups Vantage Board are: ( Note: You must
> have already linked your email address to a yahoo id to enable access. )
> (1) To access the Files Section of our Yahoo!Group for Report Builder and
> Crystal Reports and other 'goodies', please goto:
> http://groups.yahoo.com/group/vantage/files/.
> (2) To search through old msg's goto:
> http://groups.yahoo.com/group/vantage/messages
> (3) To view links to Vendors that provide Vantage services goto:
> http://groups.yahoo.com/group/vantage/linksYahoo! Groups Links
>
>
>
>


--
*John Driggers*
*High End Dev, System Design, Profit Drinking*
*
**:: 904.404.9233*
*:: waffqle@...*
*:: NO FAXES*

*

*


[Non-text portions of this message have been removed]
Each user has to do it on Each Form - unfortunately. It makes some sense, users should only cache the form they use most frequently and not always hold every form they open in memory, but it makes it a less than ideal solution.

When you are in a form, go to: Tools > Options > Memory Cache - click the checkbox.

So basically we still have the leak, but avoid it by not establishing additional handles each time we open a form. Since we have started having users do this, we have not had OOM issues .


--- In vantage@yahoogroups.com, Chad Villa <chad.villa@...> wrote:
>
> I have just started working with customizations, and my first task is to
> resolve memory leaks that showed up after the company upgraded from vantage
> to 9.05.607, and I am not clear on how to cache memory for each form? Is
> that done as you write the custom script? Or a system setting?
>
> And as sidenote, I am trying to fix customizations that were written with
> VB.
>
> Thanks in advance.
>
> -Chad
>
> On Mon, Feb 13, 2012 at 2:26 PM, jim.taylor3 <jim.taylor3@...> wrote:
>
> > **
> >
> >
> > I have found a solution that greatly improves things and may be sufficient
> > to prevent further OOM errors.
> >
> > If we simply cache memory for each form, we do not seem to have the memory
> > leak issue. It makes perfect sense. As it is now the form is loaded and the
> > references to data and the form UI are rooted, closing and opening again,
> > establishes a second set, etc. By caching, you use the references/handles
> > that you establish the first time and the standard garbage collection is
> > free to do its thing.
> >
> > I welcome any other comments or input - I have already kicked myself for
> > not trying this earlier.
> >
> > --- In vantage@yahoogroups.com, "jim.taylor3" <jim.taylor3@> wrote:
> > >
> > > /memory shows the following after opening and closing 3 times - same set
> > of two that are disposed.
> > >
> > > Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> > > Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
> > > Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> > > Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
> > > Epicor.Mfg.UI.App.CustomerEntry.Transaction Disposed
> > > Epicor.Mfg.UI.App.CustomerEntry.CustomerEntryForm Disposed
> > >
> > > And GC Total Memory increases with each open and close.
> > >
> > > If I run with an empty customization, these same two appear 'Live' when
> > I open it, then disappear upon close and GC total memory does not increase.
> > >
> > > If I view all code, I can see these two, but what do I need to do to
> > 'release' them? Or am I totally missing something obvious - I am very new
> > to this.
> > >
> > > --- In vantage@yahoogroups.com, "jim.taylor3" <jim.taylor3@> wrote:
> > > >
> > > > Thanks, I will try running with /memory.
> > > >
> > > > I have also been using CLR Profiler and pulling CLR counters while
> > running automated tests with TestComplete from SmartBear.
> > > >
> > > > I will look for event handlers and ensure that we are cleaning all of
> > those up as well.
> > > >
> > > > I get the behaviour whether I do anything on the form or not - for
> > example, I can open, create a customer, part or order, then close, or just
> > open and close any of those without entering data or saving and I get the
> > same behavior - handles increase, and Gen 2 grows until we hit OOM .
> > > >
> > > > I'll let you know how it goes.
> > > >
> > > > --- In vantage@yahoogroups.com, "James" <jamescompton@> wrote:
> > > > >
> > > > >
> > > > > Great tip Jose... that is pretty handy
> > > > >
> > > > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > > > >
> > > > > > run your client with /memory
> > > > > >
> > > > > > mfgsys.exe /memory will show you a leak tester, may be helpful
> > > > > >
> > > > > > *Jose C Gomez*
> > > > > > *Software Engineer*
> > > > > > *
> > > > > > *
> > > > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > > > *
> > > > > > *T: 904.469.1524 mobile
> > > > > > E: jose@
> > > > > > http://www.josecgomez.com
> > > > > > <http://www.linkedin.com/in/josecgomez> <
> > http://www.facebook.com/josegomez>
> > > > > > <http://www.google.com/profiles/jose.gomez> <
> > http://www.twitter.com/joc85>
> > > > > > <http://www.josecgomez.com/professional-resume/>
> > > > > > <http://www.josecgomez.com/feed/>
> > > > > > <http://www.usdoingstuff.com>
> > > > > >
> > > > > > *Quis custodiet ipsos custodes?*
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@> wrote:
> > > > > >
> > > > > > > **
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Event handlers are usually the first culprit I look at with C#
> > and memory
> > > > > > > leaks.... if you add an event assignment by addition (+=) you
> > must have a
> > > > > > > (-=) before you dispose or you get a leak and the object will
> > never enter
> > > > > > > gen(2) state since its reference may never get cleared. These
> > are real easy
> > > > > > > to create and sometimes hard to find. I also wouldn't rule out
> > Epicor is
> > > > > > > not detaching everything cleanly either.
> > > > > > >
> > > > > > > Windbg allows you to attach to any .net process and poke around
> > inside the
> > > > > > > heap. It's ugly though and seems to make me question GC in
> > managed code.
> > > > > > > I'd only go that route in desperation.
> > > > > > >
> > > > > > > Good luck...
> > > > > > >
> > > > > > >
> > > > > > > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > > > > > > >
> > > > > > > > We've experienced this before but usually as loing as you
> > dispose = null
> > > > > > > > all your custom stuff its ok, however .NET is leaky and
> > specially the
> > > > > > > > Epicor kind. If I remember correctly there is /CONFIG option
> > you cna pass
> > > > > > > > to the client which will show all not disposed obkects.
> > > > > > > >
> > > > > > > > I'll see if I can remember.
> > > > > > > >
> > > > > > > > *Jose C Gomez*
> > > > > > > > *Software Engineer*
> > > > > > > > *
> > > > > > > > *
> > > > > > > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > > > > > > *
> > > > > > > > *T: 904.469.1524 mobile
> > > > > > > > E: jose@
> > > > > > > > http://www.josecgomez.com
> > > > > > > > <http://www.linkedin.com/in/josecgomez> <
> > > > > > > http://www.facebook.com/josegomez>
> > > > > > > > <http://www.google.com/profiles/jose.gomez> <
> > > > > > > http://www.twitter.com/joc85>
> > > > > > > > <http://www.josecgomez.com/professional-resume/>
> > > > > > > > <http://www.josecgomez.com/feed/>
> > > > > > > > <http://www.usdoingstuff.com>
> > > > > > > >
> > > > > > > > *Quis custodiet ipsos custodes?*
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@>
> > wrote:
> > > > > > > >
> > > > > > > > > **
> > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Has anyone else experienced and resolved C# memory leaks
> > with their
> > > > > > > > > customizations.
> > > > > > > > >
> > > > > > > > > The behavior we are experiencing is that each time the form
> > is opened
> > > > > > > and
> > > > > > > > > closed, memory is promoted to Gen 2 of the stack and the #
> > of handles
> > > > > > > > > steadiliy increases so that, over time we hit an OOM error.
> > > > > > > > >
> > > > > > > > > We have tried, dispose() and setting to null, wrapping in
> > using
> > > > > > > statements
> > > > > > > > > and forced Garbage collections. None have had any impact,
> > good or bad.
> > > > > > > > >
> > > > > > > > > Any suggestions?
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > [Non-text portions of this message have been removed]
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > [Non-text portions of this message have been removed]
> > > > > >
> > > > >
> > > >
> > >
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>
Jose,

When running the Memory Leak Tester are we looking for objects that are still in a Live state after the form is closed? I have some objects that are still listed in the Memory Leak Tester after the form is closed, but in a Disposed state. Is this an issue?

Thanks!

--- In vantage@yahoogroups.com, Jose Gomez <jose@...> wrote:
>
> run your client with /memory
>
> mfgsys.exe /memory will show you a leak tester, may be helpful
>
> *Jose C Gomez*
> *Software Engineer*
> *
> *
> *checkout my new blog <http://www.usdoingstuff.com> *
> *
> *T: 904.469.1524 mobile
> E: jose@...
> http://www.josecgomez.com
> <http://www.linkedin.com/in/josecgomez> <http://www.facebook.com/josegomez>
> <http://www.google.com/profiles/jose.gomez> <http://www.twitter.com/joc85>
> <http://www.josecgomez.com/professional-resume/>
> <http://www.josecgomez.com/feed/>
> <http://www.usdoingstuff.com>
>
> *Quis custodiet ipsos custodes?*
>
>
>
> On Thu, Jan 26, 2012 at 2:43 PM, James <jamescompton@...> wrote:
>
> > **
> >
> >
> >
> >
> > Event handlers are usually the first culprit I look at with C# and memory
> > leaks.... if you add an event assignment by addition (+=) you must have a
> > (-=) before you dispose or you get a leak and the object will never enter
> > gen(2) state since its reference may never get cleared. These are real easy
> > to create and sometimes hard to find. I also wouldn't rule out Epicor is
> > not detaching everything cleanly either.
> >
> > Windbg allows you to attach to any .net process and poke around inside the
> > heap. It's ugly though and seems to make me question GC in managed code.
> > I'd only go that route in desperation.
> >
> > Good luck...
> >
> >
> > --- In vantage@yahoogroups.com, Jose Gomez <jose@> wrote:
> > >
> > > We've experienced this before but usually as loing as you dispose = null
> > > all your custom stuff its ok, however .NET is leaky and specially the
> > > Epicor kind. If I remember correctly there is /CONFIG option you cna pass
> > > to the client which will show all not disposed obkects.
> > >
> > > I'll see if I can remember.
> > >
> > > *Jose C Gomez*
> > > *Software Engineer*
> > > *
> > > *
> > > *checkout my new blog <http://www.usdoingstuff.com> *
> > > *
> > > *T: 904.469.1524 mobile
> > > E: jose@
> > > http://www.josecgomez.com
> > > <http://www.linkedin.com/in/josecgomez> <
> > http://www.facebook.com/josegomez>
> > > <http://www.google.com/profiles/jose.gomez> <
> > http://www.twitter.com/joc85>
> > > <http://www.josecgomez.com/professional-resume/>
> > > <http://www.josecgomez.com/feed/>
> > > <http://www.usdoingstuff.com>
> > >
> > > *Quis custodiet ipsos custodes?*
> > >
> > >
> > >
> > > On Thu, Jan 26, 2012 at 2:17 PM, jim.taylor3 <jim.taylor3@> wrote:
> > >
> > > > **
> >
> > > >
> > > >
> > > > Has anyone else experienced and resolved C# memory leaks with their
> > > > customizations.
> > > >
> > > > The behavior we are experiencing is that each time the form is opened
> > and
> > > > closed, memory is promoted to Gen 2 of the stack and the # of handles
> > > > steadiliy increases so that, over time we hit an OOM error.
> > > >
> > > > We have tried, dispose() and setting to null, wrapping in using
> > statements
> > > > and forced Garbage collections. None have had any impact, good or bad.
> > > >
> > > > Any suggestions?
> > > >
> > > >
> > > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
> >
> >
>
>
> [Non-text portions of this message have been removed]
>