You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@johnzon.apache.org by GitBox <gi...@apache.org> on 2021/01/18 01:36:50 UTC

[GitHub] [johnzon] reta commented on a change in pull request #73: Fix InaccessibleObjectException on JDK16+

reta commented on a change in pull request #73:
URL: https://github.com/apache/johnzon/pull/73#discussion_r559274808



##########
File path: johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbWriteTest.java
##########
@@ -92,6 +94,14 @@ public void list() {
         assertEquals("[\"a\",\"b\"]", JsonbProvider.provider().create().build().toJson(map));
     }
 
+    @Test
+    public void listOfSimple() {

Review comment:
       @rmannibucau Here is the test, consistently fails (for me) on the master (unpatched) on JDK16-ea+28 and above:
   ```
   [INFO] -------------------------------------------------------
   [INFO]  T E S T S
   [INFO] -------------------------------------------------------
   [INFO] Running org.apache.johnzon.jsonb.JsonbWriteTest
   [ERROR] Tests run: 12, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.27 s <<< FAILURE! - in org.apache.johnzon.jsonb.JsonbWriteTest
   [ERROR] listOfSimple(org.apache.johnzon.jsonb.JsonbWriteTest)  Time elapsed: 0.016 s  <<< ERROR!
   java.lang.reflect.InaccessibleObjectException: Unable to make field private int java.util.ArrayList.size accessible: module java.base does not "opens java.util" to unnamed module @6b71769e
           at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
           at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
           at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
           at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
           at org.apache.johnzon.mapper.access.FieldAccessMode$FieldDecoratedType.<init>(FieldAccessMode.java:105)
           at org.apache.johnzon.mapper.access.FieldAccessMode$FieldReader.<init>(FieldAccessMode.java:169)
           at org.apache.johnzon.mapper.access.FieldAccessMode.doFindReaders(FieldAccessMode.java:49)
           at org.apache.johnzon.mapper.access.BaseAccessMode.findReaders(BaseAccessMode.java:82)
           at org.apache.johnzon.mapper.access.FieldAndMethodAccessMode.doFindReaders(FieldAndMethodAccessMode.java:68)
           at org.apache.johnzon.mapper.access.BaseAccessMode.findReaders(BaseAccessMode.java:82)
           at org.apache.johnzon.jsonb.JsonbAccessMode.findReaders(JsonbAccessMode.java:468)
           at org.apache.johnzon.mapper.Mappings.createClassMapping(Mappings.java:475)
           at org.apache.johnzon.mapper.Mappings.doFindOrCreateClassMapping(Mappings.java:437)
           at org.apache.johnzon.mapper.Mappings.findOrCreateClassMapping(Mappings.java:411)
           at org.apache.johnzon.mapper.Mapper.isDeduplicateObjects(Mapper.java:215)
           at org.apache.johnzon.mapper.Mapper.writeObjectWithGenerator(Mapper.java:209)
           at org.apache.johnzon.mapper.Mapper.writeObject(Mapper.java:203)
           at org.apache.johnzon.mapper.Mapper.writeObjectAsString(Mapper.java:252)
           at org.apache.johnzon.jsonb.JohnzonJsonb.toJson(JohnzonJsonb.java:342)
           at org.apache.johnzon.jsonb.JsonbWriteTest.listOfSimple(JsonbWriteTest.java:102)
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org