Please enter a bugzilla bug report for this. It would be nice if the entry contained a tar.gz/or/zip file containing a example jepp usage - with the relevant/needed jar files in a lib directory, and better a use of an ant-contrib <for> loop to cause the problem to happen. and even nicer an simple webtest usage to ensure that any fix not not impact on projects that extend ant's java classes. - these are the kind of things that are done when something like this is fixed - and it is time consuming.
Peter On Fri, Mar 28, 2008 at 3:23 AM, <[EMAIL PROTECTED]> wrote: > Do I need to do anything to follow up on this? How to ensure this fix > gets into a future release? > > thanks > > paul > > > > > >-----Original Message----- > >From: ext Peter Reilly [mailto:[EMAIL PROTECTED] > >Sent: Tuesday, March 25, 2008 3:52 PM > >To: Ant Developers List > >Subject: Re: Should ScriptRunner call terminate() on the BSFManager? > > > >On Tue, Mar 25, 2008 at 8:59 PM, Paul King <[EMAIL PROTECTED]> wrote: > >> > >> [EMAIL PROTECTED] wrote: > >> > Hi, > >> > > >> > We've recently integrated Jepp > >(http://jepp.sourceforge.net/) into > >> our > use of Ant via the BSF engine. This is very useful because we > >> use Python > for scripting quite a lot and it allows Python code to > >> be used in full > while also allowing access to Java objects. > >> > > >> > This has resulted in a Java OOM error, which I suspect is due to > >> this > integration change. There is a comment in the Jepp usage > >> instructions > that close() must be called on the Jep objects. This > >> is done inside the > terminate() method of the > >BSFJepEngine, which is > >> called by the > BSFManager on all engines. However I cannot see > >> anywhere where > BSFManager.terminate() is called inside > >ScriptRunner > >> or elsewhere inside > Ant. Should terminate() be called by > >> ScriptRunner(), perhaps in the > finally section in the > >executeScript method? > > > >Just had a quick look, > > we should call the terminate method - it is part of the life > >cycle that > > we missed. > > > >Looking at some of the languages: > > beanshell does not use the terminate method > > jruby does > > rhino does not > > groovy does not > > jython does not > > netrexx does not > > jacl does not > > > >so it is not surprising that we missed this. > > > >The odd thing is that javax.scripting does not seem to have a > >corresponding method and the jruby javax.script engine calls > >the terminate for each invoke method. > > > > > >> > >> Others will be more familiar with the ScriptRunnerXXX > >classes than me > >> but in WebTest, its Script task has a keep flag. This might be a > >> useful concept to have here. Basically the flag allows you to > >> distinguish between scenarios where you want the binding retained > >> across tasks (and hence in the scenario above I suspect you don't > >> want terminate() called) and the case where you want a fresh > >> manager/runner for each run. Again, I haven't done a complete > >> analysis of what gets called where in Ant at the moment. > >Just noting > >> an important use case for WebTest which I know is in use in > >the field in many places. > > > >It should be possible to modify the scripting code in such a > >way that will not affect people that use the code. > > > > > >Peter > >> > >> Paul. > >> P.S. For those that aren't aware, WebTest is an Ant extension for > >> testing web applications. > >> > >> > >--------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] For > >> additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] For > >additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]