[Webtest] Re: Memory and Potential Handle Leak with Build 454

Marc Guillemot webtest@lists.canoo.com
Mon, 26 Jul 2004 17:43:16 +0200


Hi Lisa,

quick fix is now integrate and available for download.

Marc.

Lisa Crispin wrote:
> 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