[
https://issues.apache.org/jira/browse/COMPRESS-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18065370#comment-18065370
]
Tim Allison commented on COMPRESS-721:
--------------------------------------
{noformat}
Caused by: java.lang.reflect.InaccessibleObjectException
at
java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at
java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at
java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at
org.apache.commons.lang3.reflect.FieldUtils.getField(FieldUtils.java:205)
at
org.apache.commons.lang3.reflect.FieldUtils.readField(FieldUtils.java:450)
at
org.apache.commons.compress.harmony.unpack200.Pack200UnpackerAdapter.readField(Pack200UnpackerAdapter.java:138)
at
org.apache.commons.compress.harmony.unpack200.Pack200UnpackerAdapter.unwrap(Pack200UnpackerAdapter.java:155)
at
org.apache.commons.compress.harmony.unpack200.Pack200UnpackerAdapter.newBoundedInputStream(Pack200UnpackerAdapter.java:75)
at
org.apache.commons.compress.harmony.unpack200.Archive.<init>(Archive.java:79)
at
org.apache.commons.compress.harmony.unpack200.Pack200UnpackerAdapter.unpack(Pack200UnpackerAdapter.java:193)
at
org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStream.<init>(Pack200CompressorInputStream.java:141)
at
org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStream.<init>(Pack200CompressorInputStream.java:175)
at
org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStream.<init>(Pack200CompressorInputStream.java:128)
at
org.apache.commons.compress.compressors.CompressorStreamFactory.createCompressorInputStream(CompressorStreamFactory.java:636)
at
org.apache.commons.compress.compressors.CompressorStreamFactory.createCompressorInputStream(CompressorStreamFactory.java:584)
at o.a.t.parser.pkg.CompressorParser.parse(CompressorParser.java:236)
at o.a.t.parser.CompositeParser.parse(CompositeParser.java:298)
... 27 more
{noformat}
> Pack200 and jdk > 16
> --------------------
>
> Key: COMPRESS-721
> URL: https://issues.apache.org/jira/browse/COMPRESS-721
> Project: Commons Compress
> Issue Type: Task
> Reporter: Tim Allison
> Priority: Minor
>
> On regression tests on Apache Tika comparing 4.x (jdk 17) against 3.x (jdk
> 11), we noticed new exceptions on pack200 files:
> {noformat}
> Caused by: java.lang.reflect.InaccessibleObjectException
> at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> at
> java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> at
> org.apache.commons.lang3.reflect.FieldUtils.getField(FieldUtils.java:205)
> at
> org.apache.commons.lang3.reflect.FieldUtils.readField(FieldUtils.java:450)
> at
> org.apache.commons.compress.harmony.unpack200.Pack200UnpackerAdapter.readField(Pack200UnpackerAdapter.java:138)
> {noformat}
> We can use {{--add-opens java.base/java.io=ALL-UNNAMED}}, but a cleaner fix
> would be to refactor the reflection unpack200.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)