[flexcoders] Profiler Issue - Object with 0 Paths
I am tring to figure out why when I open and closed a TitleWindow everything is fine but when I open two and then close two one doesnt get GC'd. Using the profiler and looking at the obvious, one TitleWindow is clearly stuck in memory but when I click on it and expand paths it says 0 paths. So if there are no paths why wasnt it GC'd?
Re: [flexcoders] Profiler Issue - Object with 0 Paths
It may mean that the TitleWindow itself doesn’t have any non-circular references to GCRoot. But one of its children can. The Flex 4 profiler tries to eliminate circular references so it won’t always show that a child is hooked to GCRoot because the child references the parent and vice-versa and that is a cycle. Check each of the children and other subobjects in the TitleWindow. On 6/11/10 2:54 PM, reflexactions reflexacti...@yahoo.com wrote: I am tring to figure out why when I open and closed a TitleWindow everything is fine but when I open two and then close two one doesnt get GC'd. Using the profiler and looking at the obvious, one TitleWindow is clearly stuck in memory but when I click on it and expand paths it says 0 paths. So if there are no paths why wasnt it GC'd? -- Alex Harui Flex SDK Team Adobe System, Inc. http://blogs.adobe.com/aharui
RE: [flexcoders] Profiler telling lies?
Again, only just got to this... The same action another two times was from following the advice in here http://livedocs.adobe.com/flex/3/html/help.html?content=profiler_7.html# 207205 and of course I meant another 3 times ;) I did find the issue eventually, though it was painful. You were right when you asserted that the [child0] backreference was a red herring, it was the view's parent that was still being held onto, and that was due to creating a Menu in a click handler. Just in case anyone else ever runs up against a similar issue, taskMenu = Menu.createMenu(this, new TaskMenuConfig( ).CONFIG_ARRAY, true); will pin the UI (I'm still unsure exactly why, when I get 5 minutes, I'll look into it), however taskMenu = Menu.createMenu(DisplayObjectContainer(Application.application), new TaskMenuConfig( ).CONFIG_ARRAY, true); will leave the UI to be garbage collected. So, no the profiler wasn't telling lies! Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.uk blocked::http://www.inps.co.uk/ The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Alex Harui Sent: 07 May 2009 07:24 To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Profiler telling lies? Hmm, not sure I understood everything you're doing. What is the same action another two times? When you say the line with the instance being the viewstack object, if that is a loitering object and [child0] is the backreference, then that should mean that the viewstack is still parented and so the issue is not with the viewstack's children. Alex Harui Flex SDK Developer
RE: [flexcoders] Profiler telling lies?
Hmm, not sure I understood everything you're doing. What is the same action another two times? When you say the line with the instance being the viewstack object, if that is a loitering object and [child0] is the backreference, then that should mean that the viewstack is still parented and so the issue is not with the viewstack's children. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Gregor Kiddie Sent: Wednesday, May 06, 2009 3:35 AM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Profiler telling lies? Yeah, ok some clarification (rather than bashing the email out then going home for the night ;) ) I'm debugging and watching the numChildren properties and the selectedChild properties. (The object extends viewstack btw). I can see the view in the viewstack, then after running though the code that removes the child from the viewstack, I can see the numChildren has dropped from 1 to 0, and the selectedChild (and selectedIndex) both are consistent with having no child in the viewstack. In terms of profiling... I am starting up the app, getting the view created, and running the code once to clean up. Then I take a memory snapshot. I do the same action another two times (to get to the prime). Then I take another snapshot. Then I work out the loitering objects. The line with the instance being the viewstack object and the property being [child0] is what makes me think it still has a reference to the view and the reason (or one of them ;) )why it isn't being garbage collected... And Alex, I think I've read everything on your blog at least 8 times ;) Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.ukblocked::http://www.inps.co.uk/ The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Alex Harui Sent: 05 May 2009 17:57 To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Profiler telling lies? First, make sure you are using the right view. If you are looking at loitering objects but your scenario should not be using that view, you will get false positives. I've explained why on my blog. If you're looking at a memory snapshot, I would dig further as I haven't seen the profiler 'lie' in this situation yet. Remember that Flex containers are IRawChildrenContainers. There is no children array, and numChildren does not count borders and other chrome. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Mark Doberenz Sent: Tuesday, May 05, 2009 8:04 AM To: flexcoders@yahoogroups.com Cc: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Profiler telling lies? Check your event listeners because if you're not using weak references then the garbage collector won't remove it. Disregard if you already knew that one :) On May 5, 2009, at 7:58 AM, Gregor Kiddie gkid...@inpses.co.ukmailto:gkid...@inpses.co.uk wrote: Hi all, I'm trying to work out where a memory leak is occurring in our application (putting me into Jeff's hell from last week). When profiling the app, it claims there is still a back reference to its parent on the display list (even though I remove it!) at [child0]. When I debug the application, the child is removed as I'd expected, and the children array is empty. So which one is lying? The profiler when it tells me there is still a back reference to the parent as [child0] or the debugger when it tells me the child has been removed... Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.ukblocked::http://www.inps.co.uk/ The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk mlmsg #ygrp-msg p a span.yshortcuts { font-family
RE: [flexcoders] Profiler telling lies?
Yeah, we went on that particular sweep ages ago... Developers now get beatings if they don't use weak listeners ;) Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.uk blocked::http://www.inps.co.uk/ The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Mark Doberenz Sent: 05 May 2009 16:04 To: flexcoders@yahoogroups.com Cc: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Profiler telling lies? Check your event listeners because if you're not using weak references then the garbage collector won't remove it. Disregard if you already knew that one :)
RE: [flexcoders] Profiler telling lies?
Yeah, ok some clarification (rather than bashing the email out then going home for the night ;) ) I'm debugging and watching the numChildren properties and the selectedChild properties. (The object extends viewstack btw). I can see the view in the viewstack, then after running though the code that removes the child from the viewstack, I can see the numChildren has dropped from 1 to 0, and the selectedChild (and selectedIndex) both are consistent with having no child in the viewstack. In terms of profiling... I am starting up the app, getting the view created, and running the code once to clean up. Then I take a memory snapshot. I do the same action another two times (to get to the prime). Then I take another snapshot. Then I work out the loitering objects. The line with the instance being the viewstack object and the property being [child0] is what makes me think it still has a reference to the view and the reason (or one of them ;) )why it isn't being garbage collected... And Alex, I think I've read everything on your blog at least 8 times ;) Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.uk blocked::http://www.inps.co.uk/ The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Alex Harui Sent: 05 May 2009 17:57 To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Profiler telling lies? First, make sure you are using the right view. If you are looking at loitering objects but your scenario should not be using that view, you will get false positives. I've explained why on my blog. If you're looking at a memory snapshot, I would dig further as I haven't seen the profiler 'lie' in this situation yet. Remember that Flex containers are IRawChildrenContainers. There is no children array, and numChildren does not count borders and other chrome. Alex Harui Flex SDK Developer Adobe Systems Inc. http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Mark Doberenz Sent: Tuesday, May 05, 2009 8:04 AM To: flexcoders@yahoogroups.com Cc: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Profiler telling lies? Check your event listeners because if you're not using weak references then the garbage collector won't remove it. Disregard if you already knew that one :) On May 5, 2009, at 7:58 AM, Gregor Kiddie gkid...@inpses.co.uk mailto:gkid...@inpses.co.uk wrote: Hi all, I'm trying to work out where a memory leak is occurring in our application (putting me into Jeff's hell from last week). When profiling the app, it claims there is still a back reference to its parent on the display list (even though I remove it!) at [child0]. When I debug the application, the child is removed as I'd expected, and the children array is empty. So which one is lying? The profiler when it tells me there is still a back reference to the parent as [child0] or the debugger when it tells me the child has been removed... Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.uk blocked::http://www.inps.co.uk/ The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk mlmsg #ygrp-msg p a span.yshortcuts { font-family: Verdana; font-size: 10px; font-weight: normal; } #ygrp-msg p a { font-family: Verdana; font-size: 10px; } #ygrp-mlmsg a { color: #1E66AE; } div.attach-table div div a { text-decoration: none; } div.attach-table { width: 400px; } --
[flexcoders] Profiler telling lies?
Hi all, I'm trying to work out where a memory leak is occurring in our application (putting me into Jeff's hell from last week). When profiling the app, it claims there is still a back reference to its parent on the display list (even though I remove it!) at [child0]. When I debug the application, the child is removed as I'd expected, and the children array is empty. So which one is lying? The profiler when it tells me there is still a back reference to the parent as [child0] or the debugger when it tells me the child has been removed... Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.uk blocked::http://www.inps.co.uk/ The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk
Re: [flexcoders] Profiler telling lies?
Check your event listeners because if you're not using weak references then the garbage collector won't remove it. Disregard if you already knew that one :) On May 5, 2009, at 7:58 AM, Gregor Kiddie gkid...@inpses.co.uk wrote: Hi all, I’m trying to work out where a memory leak is occurring in our appli cation (putting me into Jeff’s hell from last week). When profiling the app, it claims there is still a back reference to its parent on the display list (even though I remove it!) at [child0]. When I debug the application, the child is removed as I’d expected, and the children array is empty. So which one is lying? The profiler when it tells me there is still a back reference to the parent as [child0] or the debugger when it tells me the child has been removed… Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.uk The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk mlmsg #ygrp-msg p a span.yshortcuts { font-family: Verdana; font- size: 10px; font-weight: normal; } #ygrp-msg p a { font-family: Verdana; font-size: 10px; } #ygrp-mlmsg a { color: #1E66AE; } div.attach-table div div a { text-decoration: none; } div.attach- table { width: 400px; } --
RE: [flexcoders] Profiler telling lies?
First, make sure you are using the right view. If you are looking at loitering objects but your scenario should not be using that view, you will get false positives. I’ve explained why on my blog. If you’re looking at a memory snapshot, I would dig further as I haven’t seen the profiler ‘lie’ in this situation yet. Remember that Flex containers are IRawChildrenContainers. There is no “children” array, and numChildren does not count borders and other chrome. Alex Harui Flex SDK Developer Adobe Systems Inc.http://www.adobe.com/ Blog: http://blogs.adobe.com/aharui From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Mark Doberenz Sent: Tuesday, May 05, 2009 8:04 AM To: flexcoders@yahoogroups.com Cc: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Profiler telling lies? Check your event listeners because if you're not using weak references then the garbage collector won't remove it. Disregard if you already knew that one :) On May 5, 2009, at 7:58 AM, Gregor Kiddie gkid...@inpses.co.ukmailto:gkid...@inpses.co.uk wrote: Hi all, I’m trying to work out where a memory leak is occurring in our application (putting me into Jeff’s hell from last week). When profiling the app, it claims there is still a back reference to its parent on the display list (even though I remove it!) at [child0]. When I debug the application, the child is removed as I’d expected, and the children array is empty. So which one is lying? The profiler when it tells me there is still a back reference to the parent as [child0] or the debugger when it tells me the child has been removed… Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.ukblocked::http://www.inps.co.uk/ The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk mlmsg #ygrp-msg p a span.yshortcuts { font-family: Verdana; font-size: 10px; font-weight: normal; } #ygrp-msg p a { font-family: Verdana; font-size: 10px; } #ygrp-mlmsg a { color: #1E66AE; } div.attach-table div div a { text-decoration: none; } div.attach-table { width: 400px; } --
[flexcoders] Profiler
Hi, Does the profiler only report memory usage for the swf it is profiling and not the total memory for all swfs that my app loads in ?? Right now it is profiling myapp.swf which is loading in other media etc and it seemed to be flatlining on the memory report whereas a System.totalMemory call that i added to the application is reporting a much higher number that also increases correctly with the additional media that i load in. Perhaps there is some other option i can turn on to show cumulative memory use ?? Thanks, Nik
RE: [flexcoders] Profiler
See http://blogs.adobe.com/aharui/2008/09/using_the_flex_builder_3x_prof.html for why System.totalMemory differs from Profiler memory. AS3 objects in child SWFs show up in the Profiler in my experience. AS2 and older SWFs won't. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Nik Derewianka Sent: Wednesday, September 10, 2008 9:18 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Profiler Hi, Does the profiler only report memory usage for the swf it is profiling and not the total memory for all swfs that my app loads in ?? Right now it is profiling myapp.swf which is loading in other media etc and it seemed to be flatlining on the memory report whereas a System.totalMemory call that i added to the application is reporting a much higher number that also increases correctly with the additional media that i load in. Perhaps there is some other option i can turn on to show cumulative memory use ?? Thanks, Nik
[flexcoders] Profiler problems
I have just started working with FB3 Pro, but can't get the profiler to work - or rather, it can work, but never where I really need it. On one ActionScript project it works fine. On a Flex project, it malfunctions in two different ways: with most apps it starts ok but the session is terminated after a couple of seconds with the console message socket closed. The app itself continues to function normally, however. One application in this project has a different failure mode: the profiler just doesn't start at all - the app just starts normally. I'm running in IE without tabbed windows. I've tried deleting the contents of mm.cfg and creating a new project in a new workspace a la bug 12649 http://bugs.adobe.com/jira/browse/FB-12649?rc=1 but with no improvement. (All new projects fail in the second way; the profiler doesn't start at all.) The only thing I haven't tried (that I can think of) is to reinstall FB. But why would that help when there seems to be some difference within my projects and apps? Any advice would be most welcome. This has cost a day so far :( Maurice
[flexcoders] profiler data in a release build?
hi there im thinking about adding a built in profiler mode into my existing flex app. by that i mean besides basic stats like total memory / CPU etc, instances of some critical objects created, their memory consumption, current objects etc. a) is it possible to do this or am i dreaming? b) is it possible to hook in some parts of the FB3 profiler into an app? cheers amitabh
[flexcoders] Profiler - socket timeout
Like some others I am having trouble using the Profiler. I have uninstalled and reinstalled the newest debugger version of the flash player and disable tabs which I thought was the problem. This still has not solved it. I launch the app using the profiler, the app comes up like normal but the only thing that happens is a socket timeout.
RE: [flexcoders] Profiler - found a bug I'm afraid...
So -- Macromedia, it's a bug with a workaround I'm afraid; should I raise this somewhere ? I'd say you just did. I'll log a bug on your behalf. -Alex -Original Message-From: Steven Webster [mailto:[EMAIL PROTECTED]Sent: Thursday, May 06, 2004 2:44 PMTo: flexcoders@yahoogroups.comSubject: RE: [flexcoders] Profiler - found a bug I'm afraid... OK, after a frustrating afternoon, I've nailed it in typical "10 minutes after final act of desparation mailing flexcoders" fashion If you profile your application as follows it won't work: http://localhost/flex/myapp.mxml?asprofile=true However if you do the following: http://localhost/flex/myapp.mxml and instead ensure that you have the following entry in flex-config.xml !-- generate swfs and swfs for profiling -- !-- query parameter override - ?asprofile=true/?asprofile=false -- generate-profile-swfstrue/generate-profile-swfs then everything works as advertised. The reason for this I'm afraid, is that the profiler.war app has a bug, and isn't encoding the URLs properly - ie if you have a query parameter appended to your URL, it's not encoding the ?asprofile=true correctly, and then to drill down, is trying to open a URL like: http://localhost/profiler/summary.jsp?swfURL=http://localhost/flex/chapters/creditcards/flex/creditCardConfigurator.mxml.swf?asprofile=truets=1083867706078sort=cumulative See how that URL has a double "?" in it (the latter ? should have been encoded) ... that's enough to cause the profiler to bug out I'm afraid. So -- Macromedia, it's a bug with a workaround I'm afraid; should I raise this somewhere ? Hope this helps, Steven -- Steven Webster Technical Director iteration::two
RE: [flexcoders] Profiler - found a bug I'm afraid...
Cheers Alex, appreciated... -Original Message-From: Alex Glosband [mailto:[EMAIL PROTECTED]Sent: 06 May 2004 19:51To: 'flexcoders@yahoogroups.com'Subject: RE: [flexcoders] Profiler - found a bug I'm afraid... So -- Macromedia, it's a bug with a workaround I'm afraid; should I raise this somewhere ? I'd sayyou just did. I'll log a bug on your behalf. -Alex