Red Gate forums :: View topic - What does <<UNLOADING> mean ?
Return to www.red-gate.com RSS Feed Available

Search  | Usergroups |  Profile |  Messages |  Log in  Register 
Go to product documentation
ANTS Memory Profiler 7
ANTS Memory Profiler 7 forum

What does <<UNLOADING> mean ?

Search in ANTS Memory Profiler 7 forum
Post new topic   Reply to topic
Jump to:  
Author Message
Bugmaster



Joined: 23 Feb 2007
Posts: 7

PostPosted: Wed Feb 13, 2013 11:32 pm    Post subject: What does <<UNLOADING> mean ? Reply with quote

I am trying to track down a nasty memory leask, and ANTS says that my objects are held in memory by:

Code:
<<UNLOADING>.Crs.Threading.DbTaskExecutor`1.this_doWork()


What does this mean ? There's indeed a method in my code with such a name, but what does the "UNLOADING" prefix signify ?
Back to top
View user's profile Send private message
Chris.Allen



Joined: 12 Mar 2009
Posts: 591

PostPosted: Fri Feb 15, 2013 1:04 pm    Post subject: Reply with quote

Would you be willing to save your results and send them to us at:

support@red-gate.com?

with 'F69653' in the subject

I'll be able to get a clearer answer for you then.
Back to top
View user's profile Send private message
Bugmaster



Joined: 23 Feb 2007
Posts: 7

PostPosted: Fri Feb 15, 2013 8:22 pm    Post subject: Re: Reply with quote

Chris.Allen wrote:
Would you be willing to save your results and send them to us at:

support@red-gate.com?

with 'F69653' in the subject

I'll be able to get a clearer answer for you then.


I'll have to consult my higher-ups, since the results contain references to our proprietary code. You and I both know that the chances of you reverse-engineering anything from memory profiler results are nil, but they don't :-(

That said, I think I may have figured out what was causing my memory leak. The CrsDbTaskExecutor class that I mentioned spawns a thread that executes its instance method, and the thread calls Monitor.Wait(handle), until it is woken up. This means that the CrsDbTaskExecutor instance will never be garbage collected until the thread exits, even if there are no other strong references to it anywhere.

I'd still like to know what "<<UNLOADING>" means, so I'll try and send those results to you.
Back to top
View user's profile Send private message
Bugmaster



Joined: 23 Feb 2007
Posts: 7

PostPosted: Fri Feb 15, 2013 10:59 pm    Post subject: Re: Reply with quote

Ok, I can send you the memory snapshot, but it's 154 MB zipped. My email service won't allow that through. Can I send it to you some other way, f.ex. via Dropbox ?
Back to top
View user's profile Send private message
Chris.Allen



Joined: 12 Mar 2009
Posts: 591

PostPosted: Mon Mar 04, 2013 3:03 pm    Post subject: Reply with quote

Sorry for delay was on vacation- will send ftp details to you on other channel...
Back to top
View user's profile Send private message
Bugmaster



Joined: 23 Feb 2007
Posts: 7

PostPosted: Tue Mar 05, 2013 4:12 am    Post subject: Re: Reply with quote

Chris.Allen wrote:
Sorry for delay was on vacation- will send ftp details to you on other channel...


Thanks Chris, I just uploaded two of my recent memory snapshots to the FTP.

One suggestion I have is to add another option to the ANTS filters; something like, "Show all objects that are held in memory by sleeping background threads and nothing else". It would be even cooler to extend that option to show only those background threads that could not conceivably wake up, though I'm not sure how feasible that is.

For example, in my case, the only way to wake up the thread would be to signal an object that it's waiting on inside of Monitor.Wait, but my code retained no pointers at all to that object, so in reality it could never be signaled.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic All times are GMT + 1 Hour
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group