-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36409/
-----------------------------------------------------------

Review request for geode.


Bugs: GEODE-97
    https://issues.apache.org/jira/browse/GEODE-97


Repository: geode


Description
-------

The cglib-nodep jar contains an "asm" package while the cglib jar does not. 
This causes the build to use asm 5.0.3 as defined in the dependencies.

When the unit tests are executed under JDK 8, tests using jmock fail with this 
stack trace due to finding wrong version of asm in the cglib-nodep jar:
{{{
com.gemstone.gemfire.internal.cache.DiskInitFileJUnitTest > testCanonicalIds 
FAILED
    java.lang.IllegalArgumentException
        at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
        at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
        at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
        at 
net.sf.cglib.proxy.BridgeMethodResolver.resolveAll(BridgeMethodResolver.java:61)
        at net.sf.cglib.proxy.Enhancer.emitMethods(Enhancer.java:911)
        at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:498)
        at 
net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
        at 
net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
        at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
        at net.sf.cglib.proxy.Enhancer.createClass(Enhancer.java:317)
        at 
org.jmock.lib.legacy.ClassImposteriser.proxyClass(ClassImposteriser.java:121)
        at 
org.jmock.lib.legacy.ClassImposteriser.imposterise(ClassImposteriser.java:66)
        at 
org.jmock.internal.ReturnDefaultValueAction.invoke(ReturnDefaultValueAction.java:82)
        at 
org.jmock.internal.InvocationExpectation.invoke(InvocationExpectation.java:165)
        at 
org.jmock.internal.InvocationDispatcher.dispatch(InvocationDispatcher.java:81)
        at org.jmock.Mockery.dispatch(Mockery.java:244)
        at org.jmock.Mockery.access$100(Mockery.java:29)
        at org.jmock.Mockery$MockObject.invoke(Mockery.java:284)
        at 
org.jmock.internal.InvocationDiverter.invoke(InvocationDiverter.java:27)
        at 
org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38)
        at 
org.jmock.internal.SingleThreadedPolicy$1.invoke(SingleThreadedPolicy.java:21)
        at 
org.jmock.lib.legacy.ClassImposteriser$4.invoke(ClassImposteriser.java:136)
        at 
com.gemstone.gemfire.internal.cache.persistence.DiskRegionView$$EnhancerByCGLIB$$dc027cdd.getFlags(<generated>)
        at 
com.gemstone.gemfire.internal.cache.DiskInitFile.writeRegionConfig(DiskInitFile.java:1796)
        at 
com.gemstone.gemfire.internal.cache.DiskInitFile.createRegion(DiskInitFile.java:2081)
        at 
com.gemstone.gemfire.internal.cache.DiskInitFileJUnitTest.testCanonicalIds(DiskInitFileJUnitTest.java:81)
}}}        
The fix uses the cglib jar which does not contain the old version of asm. The 
newer version of asm is already specified in the gradle dependencies.


Diffs
-----

  build.gradle 3bad39c 

Diff: https://reviews.apache.org/r/36409/diff/


Testing
-------

build and test targets on linux and windows


Thanks,

Kirk Lund

Reply via email to