I tried out the new patch as provided by dIon on the list, and it completely toasted Maven. Sorry.

I don't have much time to investigate this presently - it will show up during bootstrap if you want to try that, though the error is cryptic (goals are not found, so its really affecting the deep internals of Maven's Jelly/Werkz integration).

- Brett

Hans Gilde wrote:

FYI, this is definitely a different problem. It very well could be solved by
my new patch, if not I'll check it out.

-----Original Message-----
From: Brett Porter [mailto:[EMAIL PROTECTED] Sent: Thursday, January 27, 2005 6:36 AM
To: Jakarta Commons Developers List
Subject: Re: [jelly] Maven JSL memory leak and Jelly


The good news: nailed it in xdoc. If you run multiproject:goal -Dgoal=xdoc, you only need about 13mb of memory for any number of projects.

Tha bad news: multiproject:goal -Dgoal=site still leaks another 4-6mb per project with the default set of reports. With no reports, none is leaked, but it is no individual report that is causing it - just a cumulative effect.

As all that is processed in Jelly, there's a strong possiblity that this is in Jelly somewhere else again, however I've not got any conclusive proof at this point.

I'll try your new patch and let you know if it makes any difference, and possibly do some more investigations later after I've got dom4j/jaxen working on Maven's trunk again.

I'd say this is "good enough" for RC2, as it has at least halved the consumption of building a site. Nice work!

- Brett

Hans Gilde wrote:



It was just a little issue, it should be fixed now.

-----Original Message-----
From: Brett Porter [mailto:[EMAIL PROTECTED] Sent: Monday, January 24, 2005 10:09 PM
To: Jakarta Commons Developers List
Subject: RE: [jelly] Maven JSL memory leak and Jelly


Thanks Hans!

That's what I was thinking of doing, so I'm glad you've got it under
control.

When I was testing, the size of the included JSL affected the amount of
memory
leaked, so I guess it is tag caching again?

I tried a context.clear[Thread]ScriptData after the execution of runScript
in
include, but that didn't help. Unfortunately that's all I had time for this
morning before work.

Good luck...

Cheers,
Brett

Quoting Hans Gilde <[EMAIL PROTECTED]>:





I just added a super-simple test case for the include tag to the core test
suite. Include is a special kind of tag, so hopefully it's the only one
leaking. Once we fix this problem, a retest will definitely be in order.

-----Original Message-----
From: Brett Porter [mailto:[EMAIL PROTECTED] Sent: Monday, January 24, 2005 9:47 PM
To: Jakarta Commons Developers List
Subject: RE: [jelly] Maven JSL memory leak and Jelly


Yup. AFAICT, it's been there since it's creation.

Do you need some additional info from me? I'm happy to try to make a




smaller




test case and/or test with Maven later if required.

- Brett

Quoting Hans Gilde <[EMAIL PROTECTED]>:





There's definitely a leak in the include tag.

Brett, I'm guessing that this leak also exists pre-RC2, right?

-----Original Message-----
From: Brett Porter [mailto:[EMAIL PROTECTED] Sent: Monday, January 24, 2005 7:30 AM
To: Jakarta Commons Developers List
Subject: Re: [jelly] Maven JSL memory leak and Jelly


Paul Libbrecht wrote:





Ideally, a test-case would be awesome, even if it refers to some far-away stylesheet...




I'll try and narrow it down first by cutting down site.jsl to the minimum that leaks.





Can you try calling .clear() on the result of this
context.runScript(uri, output, isExport(),




isInherit())




(and the other call).




so try with context.clear() inside IncludeTag? Ok, will try tomorrow.





Maybe that'll help.
In all cases, this context is gc-ed shortly after, I believe... so I see no reasons for big leaks at the tag-cache level.




It leaks 200k every time site.jsl is run, so should be easy to find, right? :)





Also, maybe it would help to give more details where to go... I think








this was reported about very long ago so maybe a distribution maven-1.0.2 or such should have this bug ?




easiest to run it against Maven's trunk really as it is compatible with Jelly RC2 (RC1 was broken, so it currently uses beta-4 until RC2 is released). RC2 won't work with Maven 1.0.x.

If you want to give it a go:
- check out Maven from SVN and build:
svn co http://svn.apache.org/repos/asf/maven/maven-1/core/trunk maven-1/core/trunk
svn co http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk maven-1/plugins/trunk
- build maven inside maven-1/core/trunk (see






http://www.apache.org/~brett/maven-stage-site/developers/building-from-sour


c






e.html, make sure you reassign a new MAVEN_HOME!)
- run "maven xdoc" and watch memory go...
- twiddle xdoc plugin and run "maven plugin:install" to test. Use the memory tag lib I just added to jelly to test. <memory:gc/> and <memory:showFree />.


Hopefully I'll have more information tomorrow, I'm going to bed now. I'm








keen to kill this before Jelly 1.0 if possible.

Thanks,
Brett


--------------------------------------------------------------------- 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]







---------------------------------------------------------------------
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]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to