Re: Memory Leak in IE7
Does anyone know if IE8's switch to IE7 mode is 100% reliable for CSS and layout? I'm developing exclusively for IE7 at the moment and can't afford anything like the time and trauma the IE6 7 switch-up caused to my development, operating or nervous system! On Apr 24, 3:52 am, Dominik Steiner dominik.j.stei...@googlemail.com wrote: I can recommend to everybody with performance problems on IE6 or IE7 to download IE8 and use it's javascript profiler in order to check your js calls and time they take in order to see bottlenecks. For example I found out that in my code (a big application) a lot of equalsIgnoreCase() calls were made that slowed down IE7 dramatically. I refactored the code where possible to even avoid having to use equals () by simply using maps to store the data which was way faster. HTH Dominik On 19 Apr., 16:51, Vitali Lovich vlov...@gmail.com wrote: You contradict yourself. A memory leak by definition does not display a constant memory usage - *the* defining characteristic is that memory used keeps increasing. What you are describing is heavy memory usage it is consistent across browsers. Thus you have a problem with your application - either it actually does need that much memory, or you are doing some caching of objects somewhere and never freeing that cache. Without the code for your app or even knowing what it does, all I can recommend is you first use Firebug to profile your code to find the heavy CPU usage to track down what exactly is causing it - that might help you find where you have heavy memory usage. There's also the $199 tool that claims to be able to profile your JS memory usage for you (I've never used it couldn't find any free alternativeshttp://www.softwareverify.com/javascript/memory/index.html) There's a free tool for IE memory leak detection (http://www.outofhanwell.com/ieleak/index.php?title=Main_Page) but that probably won't help you as what you have described is not a leak. On Sun, Apr 19, 2009 at 6:20 PM, mike177 mikeall...@gmail.com wrote: Hello, We have built a very large, complex GWT site and it works great in FF, Chrome, and Safari (and with limited testing we seem to be ok in IE8 too). IE7, though, is hit or miss. I originally thought that our performance issues were all being caused by IE7's poor JS engine, but I have started to believe that we have a memory leak issue too. After upgrading to GWT 1.6 to see if there was anything there that would fix the problem, I did some testing and found the following results: IE7 When performing heavy tasks: * CPU usage : 95-100% (will stick for 10 to 20 seconds sometimes), * RAM usage : 55% to 70% (most of the time). * the one trait that is not stereotypical of a memory leak, though, is that our site does not progressively get worse ultimately resulting in the browser freezing. Instead, it gets bad quickly (after 1-2 minutes of use) and then stays at this poor level until you quit the site. Go figure??? All Other Browsers When performing heavy tasks * CPU usage : 50-75% * RAM usage : 50% So, we seem to have most of the stereotypical indicators of a leak in IE7 and unfortunately we will have to live with IE7 for another couple years (not to mention IE6). Does anyone have any thoughts on how to find, isolate, and fix memory leaks specific to IE7 in GWT code? Below are some of the resources I have dug up. I did not have much luck looking for GWT specific information so I am leveraging whatever I can find. Many thanks for your thoughts and opinions. Regards, Mike -- While these artcles not GWT specific, lots of information can be gleaned from them: *http://www.codeproject.com/KB/scripting/leakpatterns.aspx *http://msdn.microsoft.com/en-us/library/bb250448.aspx There is a JS memory leak detector for IE here: *http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector.aspx Of course, this just confirms that you have a leak, which we do. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak in IE7
I can recommend to everybody with performance problems on IE6 or IE7 to download IE8 and use it's javascript profiler in order to check your js calls and time they take in order to see bottlenecks. For example I found out that in my code (a big application) a lot of equalsIgnoreCase() calls were made that slowed down IE7 dramatically. I refactored the code where possible to even avoid having to use equals () by simply using maps to store the data which was way faster. HTH Dominik On 19 Apr., 16:51, Vitali Lovich vlov...@gmail.com wrote: You contradict yourself. A memory leak by definition does not display a constant memory usage - *the* defining characteristic is that memory used keeps increasing. What you are describing is heavy memory usage it is consistent across browsers. Thus you have a problem with your application - either it actually does need that much memory, or you are doing some caching of objects somewhere and never freeing that cache. Without the code for your app or even knowing what it does, all I can recommend is you first use Firebug to profile your code to find the heavy CPU usage to track down what exactly is causing it - that might help you find where you have heavy memory usage. There's also the $199 tool that claims to be able to profile your JS memory usage for you (I've never used it couldn't find any free alternativeshttp://www.softwareverify.com/javascript/memory/index.html) There's a free tool for IE memory leak detection (http://www.outofhanwell.com/ieleak/index.php?title=Main_Page) but that probably won't help you as what you have described is not a leak. On Sun, Apr 19, 2009 at 6:20 PM, mike177 mikeall...@gmail.com wrote: Hello, We have built a very large, complex GWT site and it works great in FF, Chrome, and Safari (and with limited testing we seem to be ok in IE8 too). IE7, though, is hit or miss. I originally thought that our performance issues were all being caused by IE7's poor JS engine, but I have started to believe that we have a memory leak issue too. After upgrading to GWT 1.6 to see if there was anything there that would fix the problem, I did some testing and found the following results: IE7 When performing heavy tasks: * CPU usage : 95-100% (will stick for 10 to 20 seconds sometimes), * RAM usage : 55% to 70% (most of the time). * the one trait that is not stereotypical of a memory leak, though, is that our site does not progressively get worse ultimately resulting in the browser freezing. Instead, it gets bad quickly (after 1-2 minutes of use) and then stays at this poor level until you quit the site. Go figure??? All Other Browsers When performing heavy tasks * CPU usage : 50-75% * RAM usage : 50% So, we seem to have most of the stereotypical indicators of a leak in IE7 and unfortunately we will have to live with IE7 for another couple years (not to mention IE6). Does anyone have any thoughts on how to find, isolate, and fix memory leaks specific to IE7 in GWT code? Below are some of the resources I have dug up. I did not have much luck looking for GWT specific information so I am leveraging whatever I can find. Many thanks for your thoughts and opinions. Regards, Mike -- While these artcles not GWT specific, lots of information can be gleaned from them: *http://www.codeproject.com/KB/scripting/leakpatterns.aspx *http://msdn.microsoft.com/en-us/library/bb250448.aspx There is a JS memory leak detector for IE here: *http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector.aspx Of course, this just confirms that you have a leak, which we do. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Memory Leak in IE7
Hello, We have built a very large, complex GWT site and it works great in FF, Chrome, and Safari (and with limited testing we seem to be ok in IE8 too). IE7, though, is hit or miss. I originally thought that our performance issues were all being caused by IE7's poor JS engine, but I have started to believe that we have a memory leak issue too. After upgrading to GWT 1.6 to see if there was anything there that would fix the problem, I did some testing and found the following results: IE7 When performing heavy tasks: * CPU usage : 95-100% (will stick for 10 to 20 seconds sometimes), * RAM usage : 55% to 70% (most of the time). * the one trait that is not stereotypical of a memory leak, though, is that our site does not progressively get worse ultimately resulting in the browser freezing. Instead, it gets bad quickly (after 1-2 minutes of use) and then stays at this poor level until you quit the site. Go figure??? All Other Browsers When performing heavy tasks * CPU usage : 50-75% * RAM usage : 50% So, we seem to have most of the stereotypical indicators of a leak in IE7 and unfortunately we will have to live with IE7 for another couple years (not to mention IE6). Does anyone have any thoughts on how to find, isolate, and fix memory leaks specific to IE7 in GWT code? Below are some of the resources I have dug up. I did not have much luck looking for GWT specific information so I am leveraging whatever I can find. Many thanks for your thoughts and opinions. Regards, Mike -- While these artcles not GWT specific, lots of information can be gleaned from them: * http://www.codeproject.com/KB/scripting/leakpatterns.aspx * http://msdn.microsoft.com/en-us/library/bb250448.aspx There is a JS memory leak detector for IE here: * http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector.aspx Of course, this just confirms that you have a leak, which we do. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak in IE7
You contradict yourself. A memory leak by definition does not display a constant memory usage - *the* defining characteristic is that memory used keeps increasing. What you are describing is heavy memory usage it is consistent across browsers. Thus you have a problem with your application - either it actually does need that much memory, or you are doing some caching of objects somewhere and never freeing that cache. Without the code for your app or even knowing what it does, all I can recommend is you first use Firebug to profile your code to find the heavy CPU usage to track down what exactly is causing it - that might help you find where you have heavy memory usage. There's also the $199 tool that claims to be able to profile your JS memory usage for you (I've never used it couldn't find any free alternatives http://www.softwareverify.com/javascript/memory/index.html) There's a free tool for IE memory leak detection ( http://www.outofhanwell.com/ieleak/index.php?title=Main_Page) but that probably won't help you as what you have described is not a leak. On Sun, Apr 19, 2009 at 6:20 PM, mike177 mikeall...@gmail.com wrote: Hello, We have built a very large, complex GWT site and it works great in FF, Chrome, and Safari (and with limited testing we seem to be ok in IE8 too). IE7, though, is hit or miss. I originally thought that our performance issues were all being caused by IE7's poor JS engine, but I have started to believe that we have a memory leak issue too. After upgrading to GWT 1.6 to see if there was anything there that would fix the problem, I did some testing and found the following results: IE7 When performing heavy tasks: * CPU usage : 95-100% (will stick for 10 to 20 seconds sometimes), * RAM usage : 55% to 70% (most of the time). * the one trait that is not stereotypical of a memory leak, though, is that our site does not progressively get worse ultimately resulting in the browser freezing. Instead, it gets bad quickly (after 1-2 minutes of use) and then stays at this poor level until you quit the site. Go figure??? All Other Browsers When performing heavy tasks * CPU usage : 50-75% * RAM usage : 50% So, we seem to have most of the stereotypical indicators of a leak in IE7 and unfortunately we will have to live with IE7 for another couple years (not to mention IE6). Does anyone have any thoughts on how to find, isolate, and fix memory leaks specific to IE7 in GWT code? Below are some of the resources I have dug up. I did not have much luck looking for GWT specific information so I am leveraging whatever I can find. Many thanks for your thoughts and opinions. Regards, Mike -- While these artcles not GWT specific, lots of information can be gleaned from them: * http://www.codeproject.com/KB/scripting/leakpatterns.aspx * http://msdn.microsoft.com/en-us/library/bb250448.aspx There is a JS memory leak detector for IE here: * http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector.aspx Of course, this just confirms that you have a leak, which we do. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
A Marker is a subclass of Overlay. I have an example in JavaScript attached to this issue: http://code.google.com/p/gmaps-api-issues/issues/detail?id=945 There is a GWT binding for the GMap2.removeOverlay() method on the MapWidget class. For future reference, many of the methods in the API have example code in the HelloMaps example, including removing a marker using removeOverlay(). On Thu, Feb 26, 2009 at 4:52 AM, koalina koalin...@gmail.com wrote: Matas, I've tried recompiling commenting the line in PopUpImplIE6 you suggest but with no luck :-( I've seen that declaring a vector of labeledMarker and then adding : labeledMarkerVector.add(new LabeledMarker(point, options)); removing : map.clearOverlays(); Iterator v = labeledMarkerVector.iterator (); while (v.hasNext()) { //250209Miki: rimuovo anche overlay singolarmente map.removeOverlay((LabeledMarker) v.next()); } //250209Miki: e poi svuoto vettore di appoggio labeledMarkerVector.clear(); is the same thing memory usage still increase. I notice that only with the vector, without any listener, memory doesn't increase... the leak seems to be here: ((LabeledMarker) labeledMarkerVector.lastElement()). addMarkerClickHandler(new MarkerClickHandler() { public void onClick(MarkerClickEvent event) { //050209Miki: gestisco qui il popup informativo InfoWindow info = map.getInfoWindow(); info.open(event.getSender(), new InfoWindowContent( div style='width:150px;height:65px; font-size:12px' + class='info-window'+ //pimg width='35px' src='+GWT.getModuleBaseURL() +'images/logonave.png' align='left'/p + etc ./div )); } }); is it a kwonwn issue? thx Michela On 26 Feb, 10:36, koalina koalin...@gmail.com wrote: Hi Matas, I've found this line in PopUpImplIE6..i don't call this object but perhaps it's called by InfoWindow in gwt google maps api... have i only to recompile gwt-user.jar or all the gwt and google maps jars? thx, have a nice day, Michela On 25 Feb, 16:43, Matas m.ramo...@gmail.com wrote: hi, Michela, I have similar problem (in different context) with gwt 1.5.3. and IE6/7memoryleaks. After some findings I found that leaking is caused by trasparency filter: style.filter = 'alpha(opacity=0)'; Try to remove transparency effects and then check formemoryleaks. Please, take a look at the issue for details:http://code.google.com/p/google-web-toolkit/issues/detail?id=2329q=p... -- Matas -- Eric Z. Ayers - GWT Team - Atlanta, GA USA http://code.google.com/webtoolkit/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
I've been able to reproduce a leak in pure JavaScript without any GWT. This issue is described in the Maps API issue tracker http://code.google.com/p/gmaps-api-issues/issues/detail?id=945 I attached some sample JavaScript for creating a pool of markers instead of removing them from the map. -Eric. On Wed, Feb 25, 2009 at 9:48 AM, koalina koalin...@gmail.com wrote: hi all, I've tried as suggested by jason with this semplified piece of code: public class MainEntryPoint implements EntryPoint{ private Marker marker; private MapWidget map; public MainEntryPoint() { } /** * The entry point method, called automatically by loading a module * that declares an implementing class as an entry-point */ public void onModuleLoad() { map = new MapWidget(LatLng.newInstance(38.1890087, 15.5648162), 12); map.checkResizeAndCenter(); RootPanel.get().add(map); Timer t = new Timer(){ �...@override public void run() { for (int i = 0; i 10; i++) { map.clearOverlays(); map.addOverlay(createMarker()); } } }; t.scheduleRepeating(3000); //180209Miki:per prima cosa devo caricare le api *dinamicamente* //...poi tutto il resto di conseguenza //lookupKey(Window.Location.getHost()); } public Marker createMarker() { marker = null; marker = new Marker(LatLng.newInstance(new Double(15), new Double(38))); return marker; } } I would expect memory doesn't increase.. it doesn't clearOverlays does not remove references with ie7 any workaround...? please help, thx, Michela On 24 Feb, 20:22, koalina koalin...@gmail.com wrote: commenting the addOverlay, memory usage is costant... that's why i think there's something wrong with the clearOverlays.. thx for help, michela On Feb 24, 5:47 pm, Eric Ayers zun...@google.com wrote: Yeah, you are right. One thing you could try is to comment out the 'addOverlay()' call and measure your memory again. You won't see anything, but it will tell you if this is the problem. On Tue, Feb 24, 2009 at 11:39 AM, koalina koalin...@gmail.com wrote: but i call the clerOverlays each time i run the timer.. at each loop the markers should be deallocated... aren't they? Michela On 24 Feb, 17:31, Eric Ayers zun...@google.com wrote: Think about what your code is doing here. You are allocating marker objects and adding them to the map every time your timer expires. The map will track these things for you until you call map.removeOverlay(). My guess is that you have hundreds of markers added to the map, all stacked on top of each other. http://gwt-google-apis.googlecode.com/svn/javadoc/maps/1.0/index.html On Tue, Feb 24, 2009 at 6:57 AM, koalina koalin...@gmail.com wrote: Hi all, I've found the cause of the memory leak isolating by some piece of code. It seems not to be caused by gwt-ext but when I make the map.addOverlay(createMarker(point, myObject)); where createMarker is: Icon icon = Icon.newInstance(baseIcon); icon.setImageURL(GWT.getModuleBaseURL()+images/+getColor (nave)+_ship.png); GWT.log(Carico immagine +icon.getImageURL(), null); LabeledMarkerOptions options = LabeledMarkerOptions.newInstance (); options.setTitle(nave.getNomeNave()); options.setIcon(icon); options.setLabelText(String.valueOf(nave.getIdNave())); options.setLabelClass(labeledMarker); //200209Miki: se l'id nave è lungo una solo cifra va bene così... if((Integer.toString(nave.getIdNave())).length()==1) options.setLabelOffset(Size.newInstance(1, -26)); //altrimenti devo shiftare la label di due posti a sinistra... else options.setLabelOffset(Size.newInstance(-2, -26)); // LabeledMarker marker = new LabeledMarker(point, options); ((Marker)marker).addMarkerClickHandler(new MarkerClickHandler () { public void onClick(MarkerClickEvent event) { //050209Miki: gestisco qui il popup informativo InfoWindow info = map.getInfoWindow(); info.open(event.getSender(), new InfoWindowContent( div style='width:150px;height:65px; font-size:12px' + class='info-window' + //pimg width='35px' src='+GWT.getModuleBaseURL() +'images/logonave.png' align='left'/p + Nome nave: b+nave.getNomeNave()+/bbr/ + Localita' Partenza: +nave.getLocalitaPartenza() +br/ + Localita' Arrivo: +nave.getLocalitaPartenza()+br/ //+ //Merci Pericolose a Bordo: +
Re: Memory Leak with IE7
hi, Michela, I have similar problem (in different context) with gwt 1.5.3. and IE6/7 memory leaks. After some findings I found that leaking is caused by trasparency filter: style.filter = 'alpha(opacity=0)'; Try to remove transparency effects and then check for memory leaks. Please, take a look at the issue for details: http://code.google.com/p/google-web-toolkit/issues/detail?id=2329q=popuppanel%20leak#c5 -- Matas --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
Hi Jason, yes, reloading page cause memory usage fall out. My app is quite simple: a gwt ext tab panel, the first tab showing the map widget, the second one a gwt ext grid with a few rows (more or less 10), each one with some information about the markers showed. I've three thread, implemented as Timer, which refresh positions of markers, informations and last update time. Each thread make a rpc call and is always running, even when the tab of interest is not active Do you see some critical issue in this application? thx for help, have a nice day Michela On 23 Feb, 20:55, Jason Essington jason.essing...@gmail.com wrote: Well, I've read various articles claiming that IE leaks like a sieve (don't have any references for you right now, but I'm sure google could help). One thing to try is does IE's memory usage come down when you reload the page, or load a new page? -jason On Feb 23, 2009, at 8:44 AM, koalina wrote: is there anyone who knows about memory leaks in this case?I've a tabPanel, but tab are not dinamically added, a MapWidget, periodically rpc to refresh marker on map I'm really getting crazy! thx, Michela On 23 Feb, 14:37, koalina koalin...@gmail.com wrote: I'm using google maps api for gwt, no memory leak found gwt-ext, some leaks found, but it seems not to be my case... please note that with JScript leaks detect there's no leak found... could it be a problem with ajaxLoader?or perhaps something coming from timer.scheduleRepeating with rpc inside run body? Michela On 23 Feb, 14:29, Mahavir Jain vir.j...@gmail.com wrote: You should try googling out for memory-leaks for the packages you are using.. For eg:- If you are using Image bundles then try googling the memory leaks related to image bundles.. Hope this will help. Thanks. Mahavir On Mon, Feb 23, 2009 at 6:49 PM, koalina koalin...@gmail.com wrote: it is present web mode running on dedicated tomcat (I don't know for hosted mode..). iexplorer.exe process exponential grows.. On 23 Feb, 13:03, Eric Ayers zun...@google.com wrote: Is this a problem in web mode, hosted mode, or both? On Mon, Feb 23, 2009 at 7:01 AM, koalina koalin...@gmail.com wrote: hi Mahavir , thx for your reply. I'm working with gwt 1.5.3 and ie7, is this issue valid also in this case? thx, Michela On 23 Feb, 12:57, Mahavir Jain vir.j...@gmail.com wrote: I am not sure whether this applies to you or not but there is memory leak issue in IE6 browser for all RPC call.. You can check the issue onhttp://code.google.com/p/google-web-toolkit/issues/detail? id=1610.. But this is not case for firefox.. Did you tried on firefox? Mahavir On Mon, Feb 23, 2009 at 5:13 PM, koalina koalin...@gmail.com wrote: Hi all, I've developed a gwt app using MapWidget. The markers showed on the map are periodically refreshed via rpc calls. The refresh time period is 10 seconds. The app correctly runs for about an hour, then the memory used increase exponentially... I've installed the js leaks inspector for ie7, but no leak is catched... What can i do to resolve this problem? I've reviewed all code..but everything seems to be correct... Thx for helping, have a nice day, Michela -- Eric Z. Ayers - GWT Team - Atlanta, GA USAhttp:// code.google.com/webtoolkit/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
Assuming adding/removing markers to/from the map is leakless (google probably knows how to do this ;-) we are left with gwt-ext grid. Every 10 sec you remove old rows and add new ones. So you have some DOM- Elements (a table row) that are removed/created every 10 seconds. Probably it's a grid's particular implementation that leaks. But most probably it's just IE that doesn't really remove garbage properly even when it can/should. So what can you do? 1. If it's grid that leaks: dump it - implement smth. yourself with vanilla GWT. 2. It it's IE: let's say the total ammount of markers is never bigger than 25 - you can create 25 rows in the table and instead of adding/ removing them you just change the text. This way you'll have slightly more memory allocated at the beginning but hopefully no leaks while running because no DOM-Elements are created/removed. hth On 24 Feb., 09:14, koalina koalin...@gmail.com wrote: Hi Jason, yes, reloading page cause memory usage fall out. My app is quite simple: a gwt ext tab panel, the first tab showing the map widget, the second one a gwt ext grid with a few rows (more or less 10), each one with some information about the markers showed. I've three thread, implemented as Timer, which refresh positions of markers, informations and last update time. Each thread make a rpc call and is always running, even when the tab of interest is not active Do you see some critical issue in this application? thx for help, have a nice day Michela On 23 Feb, 20:55, Jason Essington jason.essing...@gmail.com wrote: Well, I've read various articles claiming that IE leaks like a sieve (don't have any references for you right now, but I'm sure google could help). One thing to try is does IE's memory usage come down when you reload the page, or load a new page? -jason On Feb 23, 2009, at 8:44 AM, koalina wrote: is there anyone who knows about memory leaks in this case?I've a tabPanel, but tab are not dinamically added, a MapWidget, periodically rpc to refresh marker on map I'm really getting crazy! thx, Michela On 23 Feb, 14:37, koalina koalin...@gmail.com wrote: I'm using google maps api for gwt, no memory leak found gwt-ext, some leaks found, but it seems not to be my case... please note that with JScript leaks detect there's no leak found... could it be a problem with ajaxLoader?or perhaps something coming from timer.scheduleRepeating with rpc inside run body? Michela On 23 Feb, 14:29, Mahavir Jain vir.j...@gmail.com wrote: You should try googling out for memory-leaks for the packages you are using.. For eg:- If you are using Image bundles then try googling the memory leaks related to image bundles.. Hope this will help. Thanks. Mahavir On Mon, Feb 23, 2009 at 6:49 PM, koalina koalin...@gmail.com wrote: it is present web mode running on dedicated tomcat (I don't know for hosted mode..). iexplorer.exe process exponential grows.. On 23 Feb, 13:03, Eric Ayers zun...@google.com wrote: Is this a problem in web mode, hosted mode, or both? On Mon, Feb 23, 2009 at 7:01 AM, koalina koalin...@gmail.com wrote: hi Mahavir , thx for your reply. I'm working with gwt 1.5.3 and ie7, is this issue valid also in this case? thx, Michela On 23 Feb, 12:57, Mahavir Jain vir.j...@gmail.com wrote: I am not sure whether this applies to you or not but there is memory leak issue in IE6 browser for all RPC call.. You can check the issue onhttp://code.google.com/p/google-web-toolkit/issues/detail? id=1610.. But this is not case for firefox.. Did you tried on firefox? Mahavir On Mon, Feb 23, 2009 at 5:13 PM, koalina koalin...@gmail.com wrote: Hi all, I've developed a gwt app using MapWidget. The markers showed on the map are periodically refreshed via rpc calls. The refresh time period is 10 seconds. The app correctly runs for about an hour, then the memory used increase exponentially... I've installed the js leaks inspector for ie7, but no leak is catched... What can i do to resolve this problem? I've reviewed all code..but everything seems to be correct... Thx for helping, have a nice day, Michela -- Eric Z. Ayers - GWT Team - Atlanta, GA USAhttp:// code.google.com/webtoolkit/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
Hi alex, sorry but I can't see how fix the number of rows as I'm using a memoryProxy object. So, the timer is defined as follows: Timer t = new Timer() { public void run() { getShipInfo(); } }; where getShipInfo() is private void getShipInfo() { MainEntryPoint.getServiceWsNaviInMare().getInfoNaviInMare(new AsyncCallback() { public void onFailure(Throwable caught) { throw new UnsupportedOperationException(Not supported yet.); } public void onSuccess(Object result) { Vector listaNavi = (Vector) result; GWT.log(Lista Navi Ricevuta: +listaNavi.toString(), null); if (listaNavi.size()0) { Object[][] data = new Object[listaNavi.size()] [15]; Iterator i = listaNavi.iterator(); int index = 0; while (i.hasNext()) { Nave unaNave = (Nave) i.next(); data[index] = new Object[]{ unaNave.getIdNave(), unaNave.getNomeNave (), unaNave.getLocalita(), unaNave.getImbarco (), etc GWT.log(Nave +data[index][0]+data[index] [1].toString(), null); index++; unaNave = null; } if (store!=null) { store.removeAll(); } MemoryProxy proxy = new MemoryProxy(data); ArrayReader reader = new ArrayReader(recordDef); store = new Store(proxy, reader); store.load(); store.commitChanges(); grid.reconfigure(store, columnModel); //240209Miki: x diminuire memory leak ... grid.clear(); data = null; proxy = null; reader =null; store = null; } } }); } I've tried with FF and there's no problem...so it's an issue with ie7. Can you see some big error in the code i posted just above? thx for help! Michela On 24 Feb, 09:48, alex.d alex.dukhov...@googlemail.com wrote: Assuming adding/removing markers to/from the map is leakless (google probably knows how to do this ;-) we are left with gwt-ext grid. Every 10 sec you remove old rows and add new ones. So you have some DOM- Elements (a table row) that are removed/created every 10 seconds. Probably it's a grid's particular implementation that leaks. But most probably it's just IE that doesn't really remove garbage properly even when it can/should. So what can you do? 1. If it's grid that leaks: dump it - implement smth. yourself with vanilla GWT. 2. It it's IE: let's say the total ammount of markers is never bigger than 25 - you can create 25 rows in the table and instead of adding/ removing them you just change the text. This way you'll have slightly more memory allocated at the beginning but hopefully no leaks while running because no DOM-Elements are created/removed. hth On 24 Feb., 09:14, koalina koalin...@gmail.com wrote: Hi Jason, yes, reloading page cause memory usage fall out. My app is quite simple: a gwt ext tab panel, the first tab showing the map widget, the second one a gwt ext grid with a few rows (more or less 10), each one with some information about the markers showed. I've three thread, implemented as Timer, which refresh positions of markers, informations and last update time. Each thread make a rpc call and is always running, even when the tab of interest is not active Do you see some critical issue in this application? thx for help, have a nice day Michela On 23 Feb, 20:55, Jason Essington jason.essing...@gmail.com wrote: Well, I've read various articles claiming that IE leaks like a sieve (don't have any references for you right now, but I'm sure google could help). One thing to try is does IE's memory usage come down when you reload the page, or load a new page? -jason On Feb 23, 2009, at 8:44 AM, koalina wrote: is there anyone who knows about memory leaks in this case?I've a tabPanel, but tab are not dinamically added, a MapWidget, periodically rpc to refresh marker on map I'm really getting crazy! thx, Michela On 23 Feb, 14:37, koalina koalin...@gmail.com wrote: I'm using google maps api for gwt, no memory leak found gwt-ext, some leaks found, but it seems not to be my case... please note that with JScript leaks detect there's no leak found... could it be a problem with ajaxLoader?or perhaps something coming from timer.scheduleRepeating with rpc inside run body? Michela On 23 Feb, 14:29, Mahavir Jain vir.j...@gmail.com wrote:
Re: Memory Leak with IE7
I've tried reloading, I made a mistake some posts ago.. memory decreases only if the browser is closed and then opened again. Only reloading causes a bigger increment of memory usage. On 24 Feb, 10:20, koalina koalin...@gmail.com wrote: Hi alex, sorry but I can't see how fix the number of rows as I'm using a memoryProxy object. So, the timer is defined as follows: Timer t = new Timer() { public void run() { getShipInfo(); } }; where getShipInfo() is private void getShipInfo() { MainEntryPoint.getServiceWsNaviInMare().getInfoNaviInMare(new AsyncCallback() { public void onFailure(Throwable caught) { throw new UnsupportedOperationException(Not supported yet.); } public void onSuccess(Object result) { Vector listaNavi = (Vector) result; GWT.log(Lista Navi Ricevuta: +listaNavi.toString(), null); if (listaNavi.size()0) { Object[][] data = new Object[listaNavi.size()] [15]; Iterator i = listaNavi.iterator(); int index = 0; while (i.hasNext()) { Nave unaNave = (Nave) i.next(); data[index] = new Object[]{ unaNave.getIdNave(), unaNave.getNomeNave (), unaNave.getLocalita(), unaNave.getImbarco (), etc GWT.log(Nave +data[index][0]+data[index] [1].toString(), null); index++; unaNave = null; } if (store!=null) { store.removeAll(); } MemoryProxy proxy = new MemoryProxy(data); ArrayReader reader = new ArrayReader(recordDef); store = new Store(proxy, reader); store.load(); store.commitChanges(); grid.reconfigure(store, columnModel); //240209Miki: x diminuire memory leak ... grid.clear(); data = null; proxy = null; reader =null; store = null; } } }); } I've tried with FF and there's no problem...so it's an issue with ie7. Can you see some big error in the code i posted just above? thx for help! Michela On 24 Feb, 09:48, alex.d alex.dukhov...@googlemail.com wrote: Assuming adding/removing markers to/from the map is leakless (google probably knows how to do this ;-) we are left with gwt-ext grid. Every 10 sec you remove old rows and add new ones. So you have some DOM- Elements (a table row) that are removed/created every 10 seconds. Probably it's a grid's particular implementation that leaks. But most probably it's just IE that doesn't really remove garbage properly even when it can/should. So what can you do? 1. If it's grid that leaks: dump it - implement smth. yourself with vanilla GWT. 2. It it's IE: let's say the total ammount of markers is never bigger than 25 - you can create 25 rows in the table and instead of adding/ removing them you just change the text. This way you'll have slightly more memory allocated at the beginning but hopefully no leaks while running because no DOM-Elements are created/removed. hth On 24 Feb., 09:14, koalina koalin...@gmail.com wrote: Hi Jason, yes, reloading page cause memory usage fall out. My app is quite simple: a gwt ext tab panel, the first tab showing the map widget, the second one a gwt ext grid with a few rows (more or less 10), each one with some information about the markers showed. I've three thread, implemented as Timer, which refresh positions of markers, informations and last update time. Each thread make a rpc call and is always running, even when the tab of interest is not active Do you see some critical issue in this application? thx for help, have a nice day Michela On 23 Feb, 20:55, Jason Essington jason.essing...@gmail.com wrote: Well, I've read various articles claiming that IE leaks like a sieve (don't have any references for you right now, but I'm sure google could help). One thing to try is does IE's memory usage come down when you reload the page, or load a new page? -jason On Feb 23, 2009, at 8:44 AM, koalina wrote: is there anyone who knows about memory leaks in this case?I've a tabPanel, but tab are not dinamically added, a MapWidget, periodically rpc to refresh marker on map I'm really getting crazy! thx, Michela On 23 Feb, 14:37, koalina koalin...@gmail.com wrote: I'm using google maps api for gwt, no memory leak found gwt-ext,
Re[2]: Memory Leak with IE7
Hello, We already have discussion about GWT memory management here: http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/a690a63c53af27bc Tuesday, February 24, 2009, 11:31:44 AM, you wrote: I've tried reloading, I made a mistake some posts ago.. memory decreases only if the browser is closed and then opened again. Only reloading causes a bigger increment of memory usage. On 24 Feb, 10:20, koalina koalin...@gmail.com wrote: Hi alex, sorry but I can't see how fix the number of rows as I'm using a memoryProxy object. So, the timer is defined as follows: Timer t = new Timer() { public void run() { getShipInfo(); } }; where getShipInfo() is private void getShipInfo() { MainEntryPoint.getServiceWsNaviInMare().getInfoNaviInMare(new AsyncCallback() { public void onFailure(Throwable caught) { throw new UnsupportedOperationException(Not supported yet.); } public void onSuccess(Object result) { Vector listaNavi = (Vector) result; GWT.log(Lista Navi Ricevuta: +listaNavi.toString(), null); if (listaNavi.size()0) { Object[][] data = new Object[listaNavi.size()] [15]; Iterator i = listaNavi.iterator(); int index = 0; while (i.hasNext()) { Nave unaNave = (Nave) i.next(); data[index] = new Object[]{ unaNave.getIdNave(), unaNave.getNomeNave (), unaNave.getLocalita(), unaNave.getImbarco (), etc GWT.log(Nave +data[index][0]+data[index] [1].toString(), null); index++; unaNave = null; } if (store!=null) { store.removeAll(); } MemoryProxy proxy = new MemoryProxy(data); ArrayReader reader = new ArrayReader(recordDef); store = new Store(proxy, reader); store.load(); store.commitChanges(); grid.reconfigure(store, columnModel); //240209Miki: x diminuire memory leak ... grid.clear(); data = null; proxy = null; reader =null; store = null; } } }); } I've tried with FF and there's no problem...so it's an issue with ie7. Can you see some big error in the code i posted just above? thx for help! Michela On 24 Feb, 09:48, alex.d alex.dukhov...@googlemail.com wrote: Assuming adding/removing markers to/from the map is leakless (google probably knows how to do this ;-) we are left with gwt-ext grid. Every 10 sec you remove old rows and add new ones. So you have some DOM- Elements (a table row) that are removed/created every 10 seconds. Probably it's a grid's particular implementation that leaks. But most probably it's just IE that doesn't really remove garbage properly even when it can/should. So what can you do? 1. If it's grid that leaks: dump it - implement smth. yourself with vanilla GWT. 2. It it's IE: let's say the total ammount of markers is never bigger than 25 - you can create 25 rows in the table and instead of adding/ removing them you just change the text. This way you'll have slightly more memory allocated at the beginning but hopefully no leaks while running because no DOM-Elements are created/removed. hth On 24 Feb., 09:14, koalina koalin...@gmail.com wrote: Hi Jason, yes, reloading page cause memory usage fall out. My app is quite simple: a gwt ext tab panel, the first tab showing the map widget, the second one a gwt ext grid with a few rows (more or less 10), each one with some information about the markers showed. I've three thread, implemented as Timer, which refresh positions of markers, informations and last update time. Each thread make a rpc call and is always running, even when the tab of interest is not active Do you see some critical issue in this application? thx for help, have a nice day Michela On 23 Feb, 20:55, Jason Essington jason.essing...@gmail.com wrote: Well, I've read various articles claiming that IE leaks like a sieve (don't have any references for you right now, but I'm sure google could help). One thing to try is does IE's memory usage come down when you reload the page, or load a new page? -jason On Feb 23, 2009, at 8:44 AM, koalina wrote: is there anyone who knows about memory leaks in this case?I've a tabPanel, but tab are not dinamically added, a MapWidget,
Re: Memory Leak with IE7
Hi all, I've found the cause of the memory leak isolating by some piece of code. It seems not to be caused by gwt-ext but when I make the map.addOverlay(createMarker(point, myObject)); where createMarker is: Icon icon = Icon.newInstance(baseIcon); icon.setImageURL(GWT.getModuleBaseURL()+images/+getColor (nave)+_ship.png); GWT.log(Carico immagine +icon.getImageURL(), null); LabeledMarkerOptions options = LabeledMarkerOptions.newInstance (); options.setTitle(nave.getNomeNave()); options.setIcon(icon); options.setLabelText(String.valueOf(nave.getIdNave())); options.setLabelClass(labeledMarker); //200209Miki: se l'id nave è lungo una solo cifra va bene così... if((Integer.toString(nave.getIdNave())).length()==1) options.setLabelOffset(Size.newInstance(1, -26)); //altrimenti devo shiftare la label di due posti a sinistra... else options.setLabelOffset(Size.newInstance(-2, -26)); // LabeledMarker marker = new LabeledMarker(point, options); ((Marker)marker).addMarkerClickHandler(new MarkerClickHandler () { public void onClick(MarkerClickEvent event) { //050209Miki: gestisco qui il popup informativo InfoWindow info = map.getInfoWindow(); info.open(event.getSender(), new InfoWindowContent( div style='width:150px;height:65px; font-size:12px' + class='info-window' + //pimg width='35px' src='+GWT.getModuleBaseURL() +'images/logonave.png' align='left'/p + Nome nave: b+nave.getNomeNave()+/bbr/ + Localita' Partenza: +nave.getLocalitaPartenza() +br/ + Localita' Arrivo: +nave.getLocalitaPartenza()+br/ //+ //Merci Pericolose a Bordo: + nave.getMerciPericolose()+br//div )); } }); return marker; It' squite strange but now I'm sure the issue is with this piece of code.. is map.clearOverlays(); sufficient to deallocate the previous markers? thx, Michela On 24 Feb, 10:56, Alexey_Tsiunchik alexey.tsiunc...@gmail.com wrote: Hello, We already have discussion about GWT memory management here:http://groups.google.com/group/Google-Web-Toolkit/browse_thread/threa... Tuesday, February 24, 2009, 11:31:44 AM, you wrote: I've tried reloading, I made a mistake some posts ago.. memory decreases only if the browser is closed and then opened again. Only reloading causes a bigger increment of memory usage. On 24 Feb, 10:20, koalina koalin...@gmail.com wrote: Hi alex, sorry but I can't see how fix the number of rows as I'm using a memoryProxy object. So, the timer is defined as follows: Timer t = new Timer() { public void run() { getShipInfo(); } }; where getShipInfo() is private void getShipInfo() { MainEntryPoint.getServiceWsNaviInMare().getInfoNaviInMare(new AsyncCallback() { public void onFailure(Throwable caught) { throw new UnsupportedOperationException(Not supported yet.); } public void onSuccess(Object result) { Vector listaNavi = (Vector) result; GWT.log(Lista Navi Ricevuta: +listaNavi.toString(), null); if (listaNavi.size()0) { Object[][] data = new Object[listaNavi.size()] [15]; Iterator i = listaNavi.iterator(); int index = 0; while (i.hasNext()) { Nave unaNave = (Nave) i.next(); data[index] = new Object[]{ unaNave.getIdNave(), unaNave.getNomeNave (), unaNave.getLocalita(), unaNave.getImbarco (), etc GWT.log(Nave +data[index][0]+data[index] [1].toString(), null); index++; unaNave = null; } if (store!=null) { store.removeAll(); } MemoryProxy proxy = new MemoryProxy(data); ArrayReader reader = new ArrayReader(recordDef); store = new Store(proxy, reader); store.load(); store.commitChanges(); grid.reconfigure(store, columnModel); //240209Miki: x diminuire memory leak ... grid.clear(); data = null; proxy = null; reader =null; store = null; } } }); } I've tried with FF and there's no problem...so it's an issue
Re: Memory Leak with IE7
The engineers at google are very vigilant at avoiding activities that cause IE to leak, so my first inclination would be to first look at your third party libs particularly if they perform any manual DOM manipulation or JSNI. It is rather common on this list to see people blaming GWT for some bug that later turns out to actually be behavior of some third party lib. See if you can't simplify your UI (for testing purposes) so that no third party libs are needed, and then see what happens with your memory usage -jason On Feb 24, 2009, at 2:31 AM, koalina wrote: I've tried reloading, I made a mistake some posts ago.. memory decreases only if the browser is closed and then opened again. Only reloading causes a bigger increment of memory usage. On 24 Feb, 10:20, koalina koalin...@gmail.com wrote: Hi alex, sorry but I can't see how fix the number of rows as I'm using a memoryProxy object. So, the timer is defined as follows: Timer t = new Timer() { public void run() { getShipInfo(); } }; where getShipInfo() is private void getShipInfo() { MainEntryPoint.getServiceWsNaviInMare().getInfoNaviInMare(new AsyncCallback() { public void onFailure(Throwable caught) { throw new UnsupportedOperationException(Not supported yet.); } public void onSuccess(Object result) { Vector listaNavi = (Vector) result; GWT.log(Lista Navi Ricevuta: +listaNavi.toString(), null); if (listaNavi.size()0) { Object[][] data = new Object[listaNavi.size()] [15]; Iterator i = listaNavi.iterator(); int index = 0; while (i.hasNext()) { Nave unaNave = (Nave) i.next(); data[index] = new Object[]{ unaNave.getIdNave(), unaNave.getNomeNave (), unaNave.getLocalita(), unaNave.getImbarco (), etc GWT.log(Nave +data[index][0]+data[index] [1].toString(), null); index++; unaNave = null; } if (store!=null) { store.removeAll(); } MemoryProxy proxy = new MemoryProxy(data); ArrayReader reader = new ArrayReader(recordDef); store = new Store(proxy, reader); store.load(); store.commitChanges(); grid.reconfigure(store, columnModel); //240209Miki: x diminuire memory leak ... grid.clear(); data = null; proxy = null; reader =null; store = null; } } }); } I've tried with FF and there's no problem...so it's an issue with ie7. Can you see some big error in the code i posted just above? thx for help! Michela On 24 Feb, 09:48, alex.d alex.dukhov...@googlemail.com wrote: Assuming adding/removing markers to/from the map is leakless (google probably knows how to do this ;-) we are left with gwt-ext grid. Every 10 sec you remove old rows and add new ones. So you have some DOM- Elements (a table row) that are removed/created every 10 seconds. Probably it's a grid's particular implementation that leaks. But most probably it's just IE that doesn't really remove garbage properly even when it can/should. So what can you do? 1. If it's grid that leaks: dump it - implement smth. yourself with vanilla GWT. 2. It it's IE: let's say the total ammount of markers is never bigger than 25 - you can create 25 rows in the table and instead of adding/ removing them you just change the text. This way you'll have slightly more memory allocated at the beginning but hopefully no leaks while running because no DOM-Elements are created/removed. hth On 24 Feb., 09:14, koalina koalin...@gmail.com wrote: Hi Jason, yes, reloading page cause memory usage fall out. My app is quite simple: a gwt ext tab panel, the first tab showing the map widget, the second one a gwt ext grid with a few rows (more or less 10), each one with some information about the markers showed. I've three thread, implemented as Timer, which refresh positions of markers, informations and last update time. Each thread make a rpc call and is always running, even when the tab of interest is not active Do you see some critical issue in this application? thx for help, have a nice day Michela On 23 Feb, 20:55, Jason Essington jason.essing...@gmail.com wrote: Well, I've read various articles claiming that IE leaks like a sieve (don't have any references for you right now, but
Re: Memory Leak with IE7
Think about what your code is doing here. You are allocating marker objects and adding them to the map every time your timer expires. The map will track these things for you until you call map.removeOverlay(). My guess is that you have hundreds of markers added to the map, all stacked on top of each other. http://gwt-google-apis.googlecode.com/svn/javadoc/maps/1.0/index.html On Tue, Feb 24, 2009 at 6:57 AM, koalina koalin...@gmail.com wrote: Hi all, I've found the cause of the memory leak isolating by some piece of code. It seems not to be caused by gwt-ext but when I make the map.addOverlay(createMarker(point, myObject)); where createMarker is: Icon icon = Icon.newInstance(baseIcon); icon.setImageURL(GWT.getModuleBaseURL()+images/+getColor (nave)+_ship.png); GWT.log(Carico immagine +icon.getImageURL(), null); LabeledMarkerOptions options = LabeledMarkerOptions.newInstance (); options.setTitle(nave.getNomeNave()); options.setIcon(icon); options.setLabelText(String.valueOf(nave.getIdNave())); options.setLabelClass(labeledMarker); //200209Miki: se l'id nave è lungo una solo cifra va bene così... if((Integer.toString(nave.getIdNave())).length()==1) options.setLabelOffset(Size.newInstance(1, -26)); //altrimenti devo shiftare la label di due posti a sinistra... else options.setLabelOffset(Size.newInstance(-2, -26)); // LabeledMarker marker = new LabeledMarker(point, options); ((Marker)marker).addMarkerClickHandler(new MarkerClickHandler () { public void onClick(MarkerClickEvent event) { //050209Miki: gestisco qui il popup informativo InfoWindow info = map.getInfoWindow(); info.open(event.getSender(), new InfoWindowContent( div style='width:150px;height:65px; font-size:12px' + class='info-window' + //pimg width='35px' src='+GWT.getModuleBaseURL() +'images/logonave.png' align='left'/p + Nome nave: b+nave.getNomeNave()+/bbr/ + Localita' Partenza: +nave.getLocalitaPartenza() +br/ + Localita' Arrivo: +nave.getLocalitaPartenza()+br/ //+ //Merci Pericolose a Bordo: + nave.getMerciPericolose()+br//div )); } }); return marker; It' squite strange but now I'm sure the issue is with this piece of code.. is map.clearOverlays(); sufficient to deallocate the previous markers? thx, Michela On 24 Feb, 10:56, Alexey_Tsiunchik alexey.tsiunc...@gmail.com wrote: Hello, We already have discussion about GWT memory management here:http://groups.google.com/group/Google-Web-Toolkit/browse_thread/threa... Tuesday, February 24, 2009, 11:31:44 AM, you wrote: I've tried reloading, I made a mistake some posts ago.. memory decreases only if the browser is closed and then opened again. Only reloading causes a bigger increment of memory usage. On 24 Feb, 10:20, koalina koalin...@gmail.com wrote: Hi alex, sorry but I can't see how fix the number of rows as I'm using a memoryProxy object. So, the timer is defined as follows: Timer t = new Timer() { public void run() { getShipInfo(); } }; where getShipInfo() is private void getShipInfo() { MainEntryPoint.getServiceWsNaviInMare().getInfoNaviInMare(new AsyncCallback() { public void onFailure(Throwable caught) { throw new UnsupportedOperationException(Not supported yet.); } public void onSuccess(Object result) { Vector listaNavi = (Vector) result; GWT.log(Lista Navi Ricevuta: +listaNavi.toString(), null); if (listaNavi.size()0) { Object[][] data = new Object[listaNavi.size()] [15]; Iterator i = listaNavi.iterator(); int index = 0; while (i.hasNext()) { Nave unaNave = (Nave) i.next(); data[index] = new Object[]{ unaNave.getIdNave(), unaNave.getNomeNave (), unaNave.getLocalita(), unaNave.getImbarco (), etc GWT.log(Nave +data[index][0]+data[index] [1].toString(), null); index++; unaNave = null; } if (store!=null) { store.removeAll(); } MemoryProxy proxy = new MemoryProxy(data); ArrayReader reader = new ArrayReader(recordDef); store = new Store(proxy, reader);
Re: Memory Leak with IE7
but i call the clerOverlays each time i run the timer.. at each loop the markers should be deallocated... aren't they? Michela On 24 Feb, 17:31, Eric Ayers zun...@google.com wrote: Think about what your code is doing here. You are allocating marker objects and adding them to the map every time your timer expires. The map will track these things for you until you call map.removeOverlay(). My guess is that you have hundreds of markers added to the map, all stacked on top of each other. http://gwt-google-apis.googlecode.com/svn/javadoc/maps/1.0/index.html On Tue, Feb 24, 2009 at 6:57 AM, koalina koalin...@gmail.com wrote: Hi all, I've found the cause of the memory leak isolating by some piece of code. It seems not to be caused by gwt-ext but when I make the map.addOverlay(createMarker(point, myObject)); where createMarker is: Icon icon = Icon.newInstance(baseIcon); icon.setImageURL(GWT.getModuleBaseURL()+images/+getColor (nave)+_ship.png); GWT.log(Carico immagine +icon.getImageURL(), null); LabeledMarkerOptions options = LabeledMarkerOptions.newInstance (); options.setTitle(nave.getNomeNave()); options.setIcon(icon); options.setLabelText(String.valueOf(nave.getIdNave())); options.setLabelClass(labeledMarker); //200209Miki: se l'id nave è lungo una solo cifra va bene così... if((Integer.toString(nave.getIdNave())).length()==1) options.setLabelOffset(Size.newInstance(1, -26)); //altrimenti devo shiftare la label di due posti a sinistra... else options.setLabelOffset(Size.newInstance(-2, -26)); // LabeledMarker marker = new LabeledMarker(point, options); ((Marker)marker).addMarkerClickHandler(new MarkerClickHandler () { public void onClick(MarkerClickEvent event) { //050209Miki: gestisco qui il popup informativo InfoWindow info = map.getInfoWindow(); info.open(event.getSender(), new InfoWindowContent( div style='width:150px;height:65px; font-size:12px' + class='info-window' + //pimg width='35px' src='+GWT.getModuleBaseURL() +'images/logonave.png' align='left'/p + Nome nave: b+nave.getNomeNave()+/bbr/ + Localita' Partenza: +nave.getLocalitaPartenza() +br/ + Localita' Arrivo: +nave.getLocalitaPartenza()+br/ //+ //Merci Pericolose a Bordo: + nave.getMerciPericolose()+br//div )); } }); return marker; It' squite strange but now I'm sure the issue is with this piece of code.. is map.clearOverlays(); sufficient to deallocate the previous markers? thx, Michela On 24 Feb, 10:56, Alexey_Tsiunchik alexey.tsiunc...@gmail.com wrote: Hello, We already have discussion about GWT memory management here:http://groups.google.com/group/Google-Web-Toolkit/browse_thread/threa... Tuesday, February 24, 2009, 11:31:44 AM, you wrote: I've tried reloading, I made a mistake some posts ago.. memory decreases only if the browser is closed and then opened again. Only reloading causes a bigger increment of memory usage. On 24 Feb, 10:20, koalina koalin...@gmail.com wrote: Hi alex, sorry but I can't see how fix the number of rows as I'm using a memoryProxy object. So, the timer is defined as follows: Timer t = new Timer() { public void run() { getShipInfo(); } }; where getShipInfo() is private void getShipInfo() { MainEntryPoint.getServiceWsNaviInMare().getInfoNaviInMare(new AsyncCallback() { public void onFailure(Throwable caught) { throw new UnsupportedOperationException(Not supported yet.); } public void onSuccess(Object result) { Vector listaNavi = (Vector) result; GWT.log(Lista Navi Ricevuta: +listaNavi.toString(), null); if (listaNavi.size()0) { Object[][] data = new Object[listaNavi.size()] [15]; Iterator i = listaNavi.iterator(); int index = 0; while (i.hasNext()) { Nave unaNave = (Nave) i.next(); data[index] = new Object[]{ unaNave.getIdNave(), unaNave.getNomeNave (), unaNave.getLocalita(), unaNave.getImbarco (), etc GWT.log(Nave +data[index][0]+data[index] [1].toString(), null); index++; unaNave = null; } if (store!=null) {
Re: Memory Leak with IE7
Yeah, you are right. One thing you could try is to comment out the 'addOverlay()' call and measure your memory again. You won't see anything, but it will tell you if this is the problem. On Tue, Feb 24, 2009 at 11:39 AM, koalina koalin...@gmail.com wrote: but i call the clerOverlays each time i run the timer.. at each loop the markers should be deallocated... aren't they? Michela On 24 Feb, 17:31, Eric Ayers zun...@google.com wrote: Think about what your code is doing here. You are allocating marker objects and adding them to the map every time your timer expires. The map will track these things for you until you call map.removeOverlay(). My guess is that you have hundreds of markers added to the map, all stacked on top of each other. http://gwt-google-apis.googlecode.com/svn/javadoc/maps/1.0/index.html On Tue, Feb 24, 2009 at 6:57 AM, koalina koalin...@gmail.com wrote: Hi all, I've found the cause of the memory leak isolating by some piece of code. It seems not to be caused by gwt-ext but when I make the map.addOverlay(createMarker(point, myObject)); where createMarker is: Icon icon = Icon.newInstance(baseIcon); icon.setImageURL(GWT.getModuleBaseURL()+images/+getColor (nave)+_ship.png); GWT.log(Carico immagine +icon.getImageURL(), null); LabeledMarkerOptions options = LabeledMarkerOptions.newInstance (); options.setTitle(nave.getNomeNave()); options.setIcon(icon); options.setLabelText(String.valueOf(nave.getIdNave())); options.setLabelClass(labeledMarker); //200209Miki: se l'id nave è lungo una solo cifra va bene così... if((Integer.toString(nave.getIdNave())).length()==1) options.setLabelOffset(Size.newInstance(1, -26)); //altrimenti devo shiftare la label di due posti a sinistra... else options.setLabelOffset(Size.newInstance(-2, -26)); // LabeledMarker marker = new LabeledMarker(point, options); ((Marker)marker).addMarkerClickHandler(new MarkerClickHandler () { public void onClick(MarkerClickEvent event) { //050209Miki: gestisco qui il popup informativo InfoWindow info = map.getInfoWindow(); info.open(event.getSender(), new InfoWindowContent( div style='width:150px;height:65px; font-size:12px' + class='info-window' + //pimg width='35px' src='+GWT.getModuleBaseURL() +'images/logonave.png' align='left'/p + Nome nave: b+nave.getNomeNave()+/bbr/ + Localita' Partenza: +nave.getLocalitaPartenza() +br/ + Localita' Arrivo: +nave.getLocalitaPartenza()+br/ //+ //Merci Pericolose a Bordo: + nave.getMerciPericolose()+br//div )); } }); return marker; It' squite strange but now I'm sure the issue is with this piece of code.. is map.clearOverlays(); sufficient to deallocate the previous markers? thx, Michela On 24 Feb, 10:56, Alexey_Tsiunchik alexey.tsiunc...@gmail.com wrote: Hello, We already have discussion about GWT memory management here:http://groups.google.com/group/Google-Web-Toolkit/browse_thread/threa... Tuesday, February 24, 2009, 11:31:44 AM, you wrote: I've tried reloading, I made a mistake some posts ago.. memory decreases only if the browser is closed and then opened again. Only reloading causes a bigger increment of memory usage. On 24 Feb, 10:20, koalina koalin...@gmail.com wrote: Hi alex, sorry but I can't see how fix the number of rows as I'm using a memoryProxy object. So, the timer is defined as follows: Timer t = new Timer() { public void run() { getShipInfo(); } }; where getShipInfo() is private void getShipInfo() { MainEntryPoint.getServiceWsNaviInMare().getInfoNaviInMare(new AsyncCallback() { public void onFailure(Throwable caught) { throw new UnsupportedOperationException(Not supported yet.); } public void onSuccess(Object result) { Vector listaNavi = (Vector) result; GWT.log(Lista Navi Ricevuta: +listaNavi.toString(), null); if (listaNavi.size()0) { Object[][] data = new Object[listaNavi.size()] [15]; Iterator i = listaNavi.iterator(); int index = 0; while (i.hasNext()) { Nave unaNave = (Nave) i.next(); data[index] = new Object[]{ unaNave.getIdNave(), unaNave.getNomeNave (), unaNave.getLocalita(), unaNave.getImbarco (),
Re: Memory Leak with IE7
it is present web mode running on dedicated tomcat (I don't know for hosted mode..). iexplorer.exe process exponential grows.. On 23 Feb, 13:03, Eric Ayers zun...@google.com wrote: Is this a problem in web mode, hosted mode, or both? On Mon, Feb 23, 2009 at 7:01 AM, koalina koalin...@gmail.com wrote: hi Mahavir , thx for your reply. I'm working with gwt 1.5.3 and ie7, is this issue valid also in this case? thx, Michela On 23 Feb, 12:57, Mahavir Jain vir.j...@gmail.com wrote: I am not sure whether this applies to you or not but there is memory leak issue in IE6 browser for all RPC call.. You can check the issue onhttp://code.google.com/p/google-web-toolkit/issues/detail?id=1610.. But this is not case for firefox.. Did you tried on firefox? Mahavir On Mon, Feb 23, 2009 at 5:13 PM, koalina koalin...@gmail.com wrote: Hi all, I've developed a gwt app using MapWidget. The markers showed on the map are periodically refreshed via rpc calls. The refresh time period is 10 seconds. The app correctly runs for about an hour, then the memory used increase exponentially... I've installed the js leaks inspector for ie7, but no leak is catched... What can i do to resolve this problem? I've reviewed all code..but everything seems to be correct... Thx for helping, have a nice day, Michela -- Eric Z. Ayers - GWT Team - Atlanta, GA USAhttp://code.google.com/webtoolkit/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
You should try googling out for memory-leaks for the packages you are using.. For eg:- If you are using Image bundles then try googling the memory leaks related to image bundles.. Hope this will help. Thanks. Mahavir On Mon, Feb 23, 2009 at 6:49 PM, koalina koalin...@gmail.com wrote: it is present web mode running on dedicated tomcat (I don't know for hosted mode..). iexplorer.exe process exponential grows.. On 23 Feb, 13:03, Eric Ayers zun...@google.com wrote: Is this a problem in web mode, hosted mode, or both? On Mon, Feb 23, 2009 at 7:01 AM, koalina koalin...@gmail.com wrote: hi Mahavir , thx for your reply. I'm working with gwt 1.5.3 and ie7, is this issue valid also in this case? thx, Michela On 23 Feb, 12:57, Mahavir Jain vir.j...@gmail.com wrote: I am not sure whether this applies to you or not but there is memory leak issue in IE6 browser for all RPC call.. You can check the issue onhttp://code.google.com/p/google-web-toolkit/issues/detail?id=1610.. But this is not case for firefox.. Did you tried on firefox? Mahavir On Mon, Feb 23, 2009 at 5:13 PM, koalina koalin...@gmail.com wrote: Hi all, I've developed a gwt app using MapWidget. The markers showed on the map are periodically refreshed via rpc calls. The refresh time period is 10 seconds. The app correctly runs for about an hour, then the memory used increase exponentially... I've installed the js leaks inspector for ie7, but no leak is catched... What can i do to resolve this problem? I've reviewed all code..but everything seems to be correct... Thx for helping, have a nice day, Michela -- Eric Z. Ayers - GWT Team - Atlanta, GA USAhttp:// code.google.com/webtoolkit/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
I'm using google maps api for gwt, no memory leak found gwt-ext, some leaks found, but it seems not to be my case... please note that with JScript leaks detect there's no leak found... could it be a problem with ajaxLoader?or perhaps something coming from timer.scheduleRepeating with rpc inside run body? Michela On 23 Feb, 14:29, Mahavir Jain vir.j...@gmail.com wrote: You should try googling out for memory-leaks for the packages you are using.. For eg:- If you are using Image bundles then try googling the memory leaks related to image bundles.. Hope this will help. Thanks. Mahavir On Mon, Feb 23, 2009 at 6:49 PM, koalina koalin...@gmail.com wrote: it is present web mode running on dedicated tomcat (I don't know for hosted mode..). iexplorer.exe process exponential grows.. On 23 Feb, 13:03, Eric Ayers zun...@google.com wrote: Is this a problem in web mode, hosted mode, or both? On Mon, Feb 23, 2009 at 7:01 AM, koalina koalin...@gmail.com wrote: hi Mahavir , thx for your reply. I'm working with gwt 1.5.3 and ie7, is this issue valid also in this case? thx, Michela On 23 Feb, 12:57, Mahavir Jain vir.j...@gmail.com wrote: I am not sure whether this applies to you or not but there is memory leak issue in IE6 browser for all RPC call.. You can check the issue onhttp://code.google.com/p/google-web-toolkit/issues/detail?id=1610.. But this is not case for firefox.. Did you tried on firefox? Mahavir On Mon, Feb 23, 2009 at 5:13 PM, koalina koalin...@gmail.com wrote: Hi all, I've developed a gwt app using MapWidget. The markers showed on the map are periodically refreshed via rpc calls. The refresh time period is 10 seconds. The app correctly runs for about an hour, then the memory used increase exponentially... I've installed the js leaks inspector for ie7, but no leak is catched... What can i do to resolve this problem? I've reviewed all code..but everything seems to be correct... Thx for helping, have a nice day, Michela -- Eric Z. Ayers - GWT Team - Atlanta, GA USAhttp:// code.google.com/webtoolkit/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
is there anyone who knows about memory leaks in this case?I've a tabPanel, but tab are not dinamically added, a MapWidget, periodically rpc to refresh marker on map I'm really getting crazy! thx, Michela On 23 Feb, 14:37, koalina koalin...@gmail.com wrote: I'm using google maps api for gwt, no memory leak found gwt-ext, some leaks found, but it seems not to be my case... please note that with JScript leaks detect there's no leak found... could it be a problem with ajaxLoader?or perhaps something coming from timer.scheduleRepeating with rpc inside run body? Michela On 23 Feb, 14:29, Mahavir Jain vir.j...@gmail.com wrote: You should try googling out for memory-leaks for the packages you are using.. For eg:- If you are using Image bundles then try googling the memory leaks related to image bundles.. Hope this will help. Thanks. Mahavir On Mon, Feb 23, 2009 at 6:49 PM, koalina koalin...@gmail.com wrote: it is present web mode running on dedicated tomcat (I don't know for hosted mode..). iexplorer.exe process exponential grows.. On 23 Feb, 13:03, Eric Ayers zun...@google.com wrote: Is this a problem in web mode, hosted mode, or both? On Mon, Feb 23, 2009 at 7:01 AM, koalina koalin...@gmail.com wrote: hi Mahavir , thx for your reply. I'm working with gwt 1.5.3 and ie7, is this issue valid also in this case? thx, Michela On 23 Feb, 12:57, Mahavir Jain vir.j...@gmail.com wrote: I am not sure whether this applies to you or not but there is memory leak issue in IE6 browser for all RPC call.. You can check the issue onhttp://code.google.com/p/google-web-toolkit/issues/detail?id=1610.. But this is not case for firefox.. Did you tried on firefox? Mahavir On Mon, Feb 23, 2009 at 5:13 PM, koalina koalin...@gmail.com wrote: Hi all, I've developed a gwt app using MapWidget. The markers showed on the map are periodically refreshed via rpc calls. The refresh time period is 10 seconds. The app correctly runs for about an hour, then the memory used increase exponentially... I've installed the js leaks inspector for ie7, but no leak is catched... What can i do to resolve this problem? I've reviewed all code..but everything seems to be correct... Thx for helping, have a nice day, Michela -- Eric Z. Ayers - GWT Team - Atlanta, GA USAhttp:// code.google.com/webtoolkit/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---
Re: Memory Leak with IE7
Well, I've read various articles claiming that IE leaks like a sieve (don't have any references for you right now, but I'm sure google could help). One thing to try is does IE's memory usage come down when you reload the page, or load a new page? -jason On Feb 23, 2009, at 8:44 AM, koalina wrote: is there anyone who knows about memory leaks in this case?I've a tabPanel, but tab are not dinamically added, a MapWidget, periodically rpc to refresh marker on map I'm really getting crazy! thx, Michela On 23 Feb, 14:37, koalina koalin...@gmail.com wrote: I'm using google maps api for gwt, no memory leak found gwt-ext, some leaks found, but it seems not to be my case... please note that with JScript leaks detect there's no leak found... could it be a problem with ajaxLoader?or perhaps something coming from timer.scheduleRepeating with rpc inside run body? Michela On 23 Feb, 14:29, Mahavir Jain vir.j...@gmail.com wrote: You should try googling out for memory-leaks for the packages you are using.. For eg:- If you are using Image bundles then try googling the memory leaks related to image bundles.. Hope this will help. Thanks. Mahavir On Mon, Feb 23, 2009 at 6:49 PM, koalina koalin...@gmail.com wrote: it is present web mode running on dedicated tomcat (I don't know for hosted mode..). iexplorer.exe process exponential grows.. On 23 Feb, 13:03, Eric Ayers zun...@google.com wrote: Is this a problem in web mode, hosted mode, or both? On Mon, Feb 23, 2009 at 7:01 AM, koalina koalin...@gmail.com wrote: hi Mahavir , thx for your reply. I'm working with gwt 1.5.3 and ie7, is this issue valid also in this case? thx, Michela On 23 Feb, 12:57, Mahavir Jain vir.j...@gmail.com wrote: I am not sure whether this applies to you or not but there is memory leak issue in IE6 browser for all RPC call.. You can check the issue onhttp://code.google.com/p/google-web-toolkit/issues/detail? id=1610.. But this is not case for firefox.. Did you tried on firefox? Mahavir On Mon, Feb 23, 2009 at 5:13 PM, koalina koalin...@gmail.com wrote: Hi all, I've developed a gwt app using MapWidget. The markers showed on the map are periodically refreshed via rpc calls. The refresh time period is 10 seconds. The app correctly runs for about an hour, then the memory used increase exponentially... I've installed the js leaks inspector for ie7, but no leak is catched... What can i do to resolve this problem? I've reviewed all code..but everything seems to be correct... Thx for helping, have a nice day, Michela -- Eric Z. Ayers - GWT Team - Atlanta, GA USAhttp:// code.google.com/webtoolkit/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~--~~~~--~~--~--~---