commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niall Pemberton <niall.pember...@gmail.com>
Subject Re: [VOTE] Release BeanUtils 1.8.1 based on RC1
Date Thu, 08 Oct 2009 22:03:21 GMT
Hi Jörg,

Thanks for testing, comments inline...

Niall

On Thu, Oct 8, 2009 at 7:16 PM, Jörg Schaible <joerg.schaible@gmx.de> wrote:
> Hi Niall,
>
> Niall Pemberton wrote:
>
>> We have fixed a number of bugs since BeanUtils 1.8.0 was released a
>> year ago and I'd like to release BeanUtils 1.8.1
>>
>> [ ] +1 Yes go ahead an release based on RC1
>> [ ] -1 No, because...
>>
>> BeanUtils 1.8.1 RC1 is available for review here:
>>     http://people.apache.org/~niallp/beanutils-1.8.1-rc1/
>>
>> Details of changes since 1.8.0 are in the release notes:
>>     http://people.apache.org/~niallp/beanutils-1.8.1-rc1/RELEASE-NOTES.txt
>>
> http://people.apache.org/~niallp/beanutils-1.8.1-rc1/site/changes-report.html
>>
>> I have tested this with JDK 1.3 & 1.4 using ant and JDK 1.5 & 1.6 using
>> maven2.
>>
>> The tag is here:
>>
> http://svn.apache.org/viewvc/commons/proper/beanutils/tags/BEANUTILS_1_8_1_RC1/
>>
>> Site:
>>     http://people.apache.org/~niallp/beanutils-1.8.1-rc1/site/
>> (note some *relative* links are broken and the 1.8.1 directories are
>> not yet created - these will be OK once the site is deployed)
>>
>> Clirr Report (compared to 1.8.0):
>>
> http://people.apache.org/~niallp/beanutils-1.8.1-rc1/site/clirr-report.html
>>
>> RAT Report:
>>
> http://people.apache.org/~niallp/beanutils-1.8.1-rc1/site/rat-report.html
>
> I'm building the package from the source tarball under Gentoo Linux x86 with
> following combinations:
>
> Maven 2.2.1/Sun JDK 1.7.0.0_alpha69: fine
> Maven 2.2.1/Sun JDK 1.6.0.16: fine
> Maven 2.2.1/Sun JDK 1.5.0.20: fine
> Maven 2.1.0/Sun JDK 1.4.2.19: fine
> Ant 1.6.5/Sun JDK 1.3.1.20: issues
> Maven 2.2.1/IcedTea6 1.4.1: fine
> Maven 2.1.0/Blackdown JDK 1.4.2.03: fine
> Maven 2.2.1/IBM JDK 1.6.0.5: issues
> Maven 1.1(*)/IBM JDK 1.5.0.10: issues
> Maven 1.1(*)/IBM JDK 1.4.2.13: issues
> Maven 2.2.1/JRockit JDK 1.5.0.16: fine
> Maven 2.1.0/JRockit JDK 1.4.2.14: fine
>
> *) Maven 2.x fails to run with IBM JDK 1.5 and 1.4.2
>
>
>
> Issues with Sun JDK 1.3.1:
> ==========================
>
> Source compilable, but a lot of tests fail.

All the tests pass for me - I was using Ant 1.7.1 and Sun's JDK
1.3.1_18 on Windows XP - but I tried Ant 1.6.5 and JDK 1.3.1_20 (again
on WinXP) and also had no problems. Are the tests actually failing or
are you just seeing alot of exceptions in  the output? Because
BeanUtils uses reflection to intialise the "cause" when re-throwing
exceptions for JDK 1.4+, but for JDK 1.3 it logs the stack trace of
the original exception. For example:

http://commons.apache.org/beanutils/xref/org/apache/commons/beanutils/PropertyUtilsBean.html#2194
http://commons.apache.org/beanutils/xref/org/apache/commons/beanutils/BeanUtilsBean.html#1041


> Issues with IBM JDK 1.4.2 and 1.5:
> ==================================
>
> 1/ strange warnings on console for one test:

The class thats being tested logs those warnings for null values:

http://commons.apache.org/beanutils/xref/org/apache/commons/beanutils/BeanPropertyValueChangeClosure.html#170

> ================ %< ====================
>    [junit] Running
> org.apache.commons.beanutils.BeanPropertyValueChangeClosureTestCase
> WARNING: Unable to execute Closure. Null value encountered in property
> path...org.apache.commons.beanutils.NestedNullException: Null property
> value for 'anotherNested.stringProperty' on bean class 'class
> org.apache.commons.beanutils.TestBean'
>    [junit] Tests run: 26, Failures: 0, Errors: 0, Time elapsed: 0.147 sec
>    [junit] Running
> org.apache.commons.beanutils.BeanPropertyValueEqualsPredicateTestCase
> WARNING: Problem during evaluation. Null value encountered in property
> path...org.apache.commons.beanutils.NestedNullException: Null property
> value for 'anotherNested.stringProperty' on bean class 'class
> org.apache.commons.beanutils.TestBean'
>    [junit] Tests run: 17, Failures: 0, Errors: 0, Time elapsed: 0.12 sec
>    [junit] Running
> org.apache.commons.beanutils.BeanToPropertyValueTransformerTestCase
> WARNING: Problem during transformation. Null value encountered in property
> path...org.apache.commons.beanutils.NestedNullException: Null property
> value for 'anotherNested.stringProperty' on bean class 'class
> org.apache.commons.beanutils.TestBean'
>    [junit] Tests run: 17, Failures: 0, Errors: 0, Time elapsed: 0.114 sec
> ================ %< ====================
>
> 2/ org.apache.commons.beanutils.bugs.Jira347TestCase: 1 Error

This test was copied from MemoryLeakTestCase and the same problem
occurred for BeanUtils 1.8.0 when you tested with maven1 and IBM JDKs.
Would be nice to get these tests working (wonder if they work with IBM
JDK and ant, rather than maven1) but I can't seem to find anywhere to
download the IBM JDK for windows. So since its a problem in the test
rather than actual BeanUtils functionality I can only suggest that we
ignore this again, unless someone can come up with a fix for the test:

http://commons.markmail.org/message/6fhsjmrugz6c746y

> ================ %< ====================
> Testcase:
> testMappedPropertyDescriptor_AnyArgsProperty(org.apache.commons.beanutils.bugs.Jira347TestCase):
> Caused an ERROR
> org.apache.commons.beanutils.MappedPropertyTestBean
> java.lang.ClassNotFoundException:
> org.apache.commons.beanutils.MappedPropertyTestBean
>        at java.net.URLClassLoader.findClass(URLClassLoader.java:496)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:631)
>        at
> java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:1065)
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
>        at
> org.apache.commons.beanutils.bugs.Jira347TestCase.testMappedPropertyDescriptor_AnyArgsProperty(Jira347TestCase.java:55)
>        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.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)
> ================ %< ====================
>
>
>
> Issues with IBM JDK 1.6:
> ========================
>
> 1/ org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase
> ================ %< ====================

OK so the IBM JDK 1.6 got past the setup problems and fails the actual
test. This is disappointing because it means the fix we put in for the
memory leak that works on Sun's JDK doesn't seem to work for IBM JDK
1.6. I've created a bug report for this:

https://issues.apache.org/jira/browse/BEANUTILS-366

...but its going to need someone to fix this or for me to get the IBM
JDK. Anyway those same tests fail in Sun's JDK 1.3 & JDK 1.4 - so
theres a check so they don't run on pre-1.5 JDKs - can't find anything
in the archives as to why they fail or the results of any
investigation. Anyway I don't believe this is something new in this
release and the attitude we took with the memory leak fixes is that if
they work in some JDKs (i.e Suns) then thats progress even if they
don't resolve it for all JDKs. Anyway I've logged the bug but I'm
hoping this won't stop this release since none of the changes made
since 1.8.0 go anywhere near the caching that causes/caused the memory
leaks.

> Tests run: 8, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 16.575 sec
> <<< FAILURE!
> testPropertyUtilsBean_descriptorsCache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
> Time elapsed: 2.032 sec  <<< FAILURE!
> junit.framework.AssertionFailedError: PropertyUtilsBean is holding a
> reference to the classLoader
>        at junit.framework.Assert.fail(Assert.java:47)
>        at junit.framework.Assert.assertTrue(Assert.java:20)
>        at junit.framework.Assert.assertNull(Assert.java:233)
>        at
> org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase.testPropertyUtilsBean_descriptorsCache_memoryLeak(MemoryLeakTestCase.java:93)
>
> testPropertyUtilsBean_mappedDescriptorsCache_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
> Time elapsed: 1.711 sec  <<< FAILURE!
> junit.framework.AssertionFailedError: PropertyUtilsBean is holding a
> reference to the classLoader
>        at junit.framework.Assert.fail(Assert.java:47)
>        at junit.framework.Assert.assertTrue(Assert.java:20)
>        at junit.framework.Assert.assertNull(Assert.java:233)
>        at
> org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase.testPropertyUtilsBean_mappedDescriptorsCache_memoryLeak(MemoryLeakTestCase.java:148)
>
> testWrapDynaClass_dynaClasses_memoryLeak(org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase)
> Time elapsed: 1.991 sec  <<< FAILURE!
> junit.framework.AssertionFailedError: WrapDynaClass is holding a reference
> to the classLoader
>        at junit.framework.Assert.fail(Assert.java:47)
>        at junit.framework.Assert.assertTrue(Assert.java:20)
>        at junit.framework.Assert.assertNull(Assert.java:233)
>        at
> org.apache.commons.beanutils.memoryleaktests.MemoryLeakTestCase.testWrapDynaClass_dynaClasses_memoryLeak(MemoryLeakTestCase.java:342)
> ================ %< ====================
>
>
> Minor nits:
> ==========
> xdocs/changes.xml: BEANUTILS-354 is reported twice

Thanks I fixed this in trunk:

>
> Cheers,
> Jörg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message