On Tue, Aug 26, 2008 at 1:29 PM, Jörg Schaible <[EMAIL PROTECTED]> wrote: > Hi Niall, > > Niall Pemberton wrote: > >> BeanUtils 1.8.0 RC2 is available for review here: >> http://people.apache.org/~niallp/beanutils-1.8.0-rc2/ >> >> I have tested this with JDK 1.3, 1.4, 1.5 and 1.6. This RC is built with >> JDK 1.5 (Ibuilding with JDK 1.4, has the following problem: >> http://commons.markmail.org/message/wqqs67eyi6hq3mcq ) >> >> The tag is here: >> > http://svn.apache.org/viewvc/commons/proper/beanutils/tags/BEANUTILS_1_8_0_RC2/ >> >> Release Notes: >> http://people.apache.org/~niallp/beanutils-1.8.0-rc2/RELEASE-NOTES.txt >> >> Site: >> http://people.apache.org/~niallp/beanutils-1.8.0-rc2/site/ >> (note some links are broken since the 1.8.0 directories are not yet >> created) >> >> Clirr Report (compared to 1.8.0 Beta) >> > http://people.apache.org/~niallp/beanutils-1.8.0-rc2/site/clirr-report.html >> (note breaking compatibility with 1.8.0 Beta was discussed here: >> http://commons.markmail.org/message/xpeify7dioksg7xg ) >> >> I'm going to be away (and offline) from Thursday for a week - so >> there'll be a delay in me responding to any feedback. > > I've run Maven using the source distribution with several JDKs on Gentoo > Linux. As usual Maven 2 fails itself if run with an IBM JDK. Packaging > works well with Sun JDKs and Blackdown JDK However, the MemoryLeakTestCase > fails with the JRockit JDKs (1.4.2 and 5):
Thanks for testing this Jörg, comments inline below. > ============= %< ============== > ------------------------------------------------------------------------------- > Test set: org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase > ------------------------------------------------------------------------------- > Tests run: 7, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 11.187 sec > <<< FAILURE! > testMappedPropertyDescriptor_MappedMethodReference(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase) > Time elapsed: 1.535 sec <<< ERROR! > java.lang.RuntimeException: Method getMappedProperty for > org.apache.commons.beanutils.memoryleaktests.pojotests.SomeMappedPojo could > not be reconstructed - class reference has gone > at > org.apache.commons.beanutils.MappedPropertyDescriptor$MappedMethodReference.get(MappedPropertyDescriptor.java:455) > at > org.apache.commons.beanutils.MappedPropertyDescriptor$MappedMethodReference.access$00 > (MappedPropertyDescriptor.java:429) > at > org.apache.commons.beanutils.MappedPropertyDescriptor.getMappedReadMethod(MappedPropertyDescriptor.java:242) > at > org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase.testMappedPropertyDescriptor_MappedMethodReference(MemoryLeakTestCase.java:189) > ============= %< ============== It appears that with the JRockit JDK the (weak) reference to the class is being lost, even though in that test there is still a strong reference to the class (and class loader). I couldn't find a valid link to download the JRockit JDK, but I can re-create the same exception by adding a test that removes all strong references to the class. I didn't really expect this exception to ever get thrown, but since this has occured I've added code to try and re-create the class reference (and a test for it): http://svn.apache.org/viewvc?view=rev&revision=689831 > Using Maven 1 the build fails also at the same test (all JDKs incl. the ones > of IBM): > > ============= %< ============== > Testsuite: org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase > Tests run: 3, Failures: 0, Errors: 1, Time elapsed: 0.131 sec > > Testcase: > testMappedPropertyDescriptor_MappedMethodReference(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase): > Caused an ERROR > org.apache.commons.beanutils.memoryleaktests.pojotests.SomeMappedPojo > java.lang.ClassNotFoundException: > org.apache.commons.beanutils.memoryleaktests.pojotests.SomeMappedPojo > at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled > Code)) > at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) > at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:889) > at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) > at > org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase.testMappedPropertyDescriptor_MappedMethodReference(MemoryLeakTestCase.java:165) > at org.apache.commons.jelly.tags.ant.AntTag.doTag(AntTag.java:195) > at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250) > at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) > at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186) > at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:42) > at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250) > at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) > at > org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:83) > at > org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:116) > at org.apache.maven.werkz.Goal.fire(Goal.java:691) > at org.apache.maven.werkz.Goal.attain(Goal.java:623) > at org.apache.maven.werkz.Goal.attainPrecursors(Goal.java:526) > at org.apache.maven.werkz.Goal.attain(Goal.java:621) > at > org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:712) > at org.apache.maven.MavenSession.attainGoals(MavenSession.java:265) > at org.apache.maven.cli.App.doMain(App.java:307) > at org.apache.maven.cli.App.main(App.java:217) > at com.werken.forehead.Forehead.run(Forehead.java:551) > at com.werken.forehead.Forehead.main(Forehead.java:581) > ============= %< ============== This is a strange exception since the other tests run also create a new class loader and load a class and they haven't failed. Since it seems strange, its m1 and it works OK for me I'm going to ignore this. Thanks to everyone for the feedback/reviews - I'm going to create a RC3 with the changes to fix the issue that Jörg found (and fix the site gen/clirr problem Luc hit) Niall > - Jörg --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]