google / gwtmockito

Better GWT unit testing
https://google.github.io/gwtmockito
Apache License 2.0
157 stars 51 forks source link

javassist 3.22.0-GA breaks gwtmockito ("class is frozen") #76

Closed jschmied closed 5 years ago

jschmied commented 5 years ago

After upgrading to spring boot 2.0.x/hibernate 5.2.x javassist 3.22.0-GA is imported.

Running any test causes

java.lang.NoClassDefFoundError: org/mockito/internal/stubbing/defaultanswers/ReturnsDeepStubs$ReturnsDeepStubsSerializationFallback at org.mockito.Answers.(Answers.java:63) ... at com.google.gwtmockito.GwtMockitoTestRunner.(GwtMockitoTestRunner.java:160) ... Caused by: java.lang.ClassNotFoundException: caught an exception while obtaining a class file for org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs$ReturnsDeepStubsSerializationFallback at javassist.Loader.findClass(Loader.java:357) at com.google.gwtmockito.GwtMockitoTestRunner$GwtMockitoClassLoader.findClass(GwtMockitoTestRunner.java:420) at javassist.Loader.loadClass(Loader.java:309) at java.lang.ClassLoader.loadClass(Unknown Source) ... 42 more Caused by: java.lang.RuntimeException: org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs class is frozen at javassist.CtClassType.checkModify(CtClassType.java:309) at javassist.CtClassType.updateInnerEntry(CtClassType.java:475) at javassist.CtClassType.updateInnerEntry(CtClassType.java:481) at javassist.CtClassType.setModifiers(CtClassType.java:457) at com.google.gwtmockito.GwtMockitoTestRunner$GwtMockitoClassLoader.onLoad(GwtMockitoTestRunner.java:429) at javassist.Loader.findClass(Loader.java:338) ... 45 more

This is caused by commit https://github.com/jboss-javassist/javassist/commit/dfd0733e1f73853453ff76086481ebec2e88a624

we are trying to remove final modifier from inner class, javassist tries to modify the frozen outher class.

I think the bug is in javassist library, I just put the ticket here to document the defect.

jschmied commented 5 years ago

Already fixed, sorry

wilkko commented 4 years ago

Which version got the fix?

jschmied commented 4 years ago

1.1.8