[Webtest] Memory and Potential Handle Leak with Build 454

Lisa Crispin webtest@lists.canoo.com
Mon, 26 Jul 2004 14:41:40 +0000


Hi Marc,
Thanks for the explanation.  This will help us.  The solution sounds good.
-- Lisa


-------------- Original message from Marc Guillemot : -------------- 
> Hi Lisa, 
> 
> I was waiting for Siegried's answer to confirm what I have seen for my tests. I 
> guess indeed that the 
> showhtmlparseroutput="true" is currently the cause of OutOfMemoryError when 
> running a lot of test. 
> 
> I will first commit a quick and dirty workaround allowing to continue using 
> showhtmlparseroutput="true" before 
> performing bigger changes on the architecture to allow webtests suites to better 
> scale. 
> 
> What I see as the cause of the problem is that following occurs: 
> - ant instantiates the steps of a testSpec 
> - the steps are runned, some of the steps generate html errors and/or warnings 
> and hold these messages to make them 
> available for reporting 
> - when all steps of a testspec are finisched, the informations of the steps are 
> used to generate a report 
> - next testSpec is runned (if any) 
> - when ant has finished, the steps are released. This is a feature of ant: as a 
> target may be called more than 1 time in 
> a run, the target and all tasks it contains are only released at the very end. 
> 
> Therefore ALL html errors and warnings (as well as other data, but these are the 
> ones that may really be numerous) are 
> hold in memory until ant finishes. 
> 
> The clean refactoring will consist to make each step generating a "result" 
> containing the data needed for the reports. 
> These results will be used at the end of a testSpec to generate the reports and 
> won't live after the end of the 
> execution of a testSpec. 
> 
> Marc. 
> 
> Lisa Crispin wrote: 
> > Hi Marc, 
> > Are you saying that showhtmlparseroutput should be set to false if you have a 
> lot of tests and don't want to run out of memory? If you do that, how do you 
> debug if a test fails? 
> > thanks, 
> > Lisa 
> > 
> > 
> > -------------- Original message from Marc Guillemot : -------------- 
> > 
> >>Hi Siegfried, 
> >>> 
> >>> 
> >>>_______________________________________________ 
> >>>WebTest mailing list 
> >>>WebTest@lists.canoo.com 
> >>>http://lists.canoo.com/mailman/listinfo/webtest 
> >>> 
> >> 
> >> 
> >>_______________________________________________ 
> >>WebTest mailing list 
> >>WebTest@lists.canoo.com 
> >>http://lists.canoo.com/mailman/listinfo/webtest 
> > 
> > _______________________________________________ 
> > WebTest mailing list 
> > WebTest@lists.canoo.com 
> > http://lists.canoo.com/mailman/listinfo/webtest 
> > 
> >> 
> >>2nd question: do you have the showhtmlparseroutput config option on true? 
> >> 
> >>I think that this is the cause of the problem. It's a consequence of task 
> >>lifecycle and current webtest architecture. 
> >> 
> >>Marc. 
> >> 
> >>PS: what about my first question? ;-) 
> >> 
> >>Göschl,Siegfried wrote: 
> >> 
> >>>Hi folks, 
> >>> 
> >>>Running my regression test suite with build 454 fails with a 
> >> 
> >>OutOfMemoryException - it seems that there is no memory released. 
> >> 
> >>>My 19 test cases consume more 160 MB RAM and 1300 handles (to set the right 
> >> 
> >>perspective my BEA WebLogic 8.1 server consumes 120 MB Ram and 2600 handles). 
> I 
> >>increased the maximum heap size but this might not work for a really large 
> >>regression test suite ... :-) 
> >> 
> >>>Environment 
> >>>================================== 
> >>> 
> >>>+) Windows XP 
> >>>+) Java 1.4.2_03b02 
> >>>+) Maven 1.0 rc1 & Ant 1.5.2 
> >>> 
> >>> 
> >>>Thanks in advance 
> >>> 
> >>>Siegfried Goeschl 
> >>> 
> 
> _______________________________________________ 
> WebTest mailing list 
> WebTest@lists.canoo.com 
> http://lists.canoo.com/mailman/listinfo/webtest