On 10/16/05, Brett Porter <[EMAIL PROTECTED]> wrote:
> On 10/16/05, John Fallows <[EMAIL PROTECTED]> wrote:
> > What do you mean by "reinstalled"?  Is that related to m2 install?
>
> Yes, m2 install on a plugin that is already loaded will mean the next
> time it is used, it will be reloaded (by checking the file timestamp).
>
> >
> > I noticed that there is never any OutOfMemoryError in a local module
> > project build, even when the top level project reactor build does
> > throw an OutOfMemoryError.
> >
> >
> > Not that big - only 4 modules, and no additional "sub-modules".  There
> > are 5 custom plugins too, giving a total of 22 custom goal executions
> > during the reactor build.
>
> That seems unusual - m2 itself has a much bigger build. Is it possible
> that your unit tests leak memory? Currently they are not forked, so
> leaky tests will cause problems in a big reactor.
>
> I believe Cocoon had similar problems and we are going to look into it
> in the next couple of weeks, but the tests would be the first thing to
> check - is it all ok if -Dmaven.test.skip=true is used?

Thanks for the tip, Brett.  Disabling the tests did allow the build to
succeed, and leaving the tests in place still causes the
OutOfMemoryError, even on the 2.0-RC.

I would like to better understand how (not) to write a leaky test. :-)

My understanding is that each JUnit test is a separate instance of the
test class, with independent setup and teardown.  Suppose that some
Object created during setup is not nulled out in teardown, then that
would be a leak of private instance state inside the test class
instance.

I am wondering how this could lead to a real leak unless the test
execution framework (surefire) is holding onto all the test instances
even after testing has completed.  If that is the case, wouldn't it
also be a leak in surefire?

In the meantime, I'll investigate to discover the leaks in our unit tests. :-)

Kind Regards,
John Fallows.

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

Reply via email to