apertium / apertium/apertium-dixtools

java.lang.IllegalAccessError on JRE 9+

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1
Forks
2
PR merge metrics
No merged PRs in 30d

Description

This looks like some incompatibility with Java 9+ modules.

```
java -jar apertium-dixtools.jar dic-reader list-pairs apertium-fra-eng.fra-eng.dix
Exception in thread "main" java.lang.IllegalAccessError: superclass access check failed: class dictools.utils.KeepTrackOfLocationDOMParser (in unnamed module @0x52d455b8) cannot access class com.sun.org.apache.xerces.internal.parsers.DOMParser (in module java.xml) because module java.xml does not export com.sun.org.apache.xerces.internal.parsers to unnamed module @0x52d455b8
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1013)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at dictools.utils.XMLReader.analize(XMLReader.java:153)
at dictools.utils.DictionaryReader.readDic(DictionaryReader.java:76)
at dictools.DicList.setDic(DicList.java:254)
at dictools.ProcessDics.process_list(ProcessDics.java:625)
at dictools.ProcessDics.processArguments(ProcessDics.java:260)
at dictools.ProcessDics.main(ProcessDics.java:79)
at ProcessDics.main(ProcessDics.java:30)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the reported `java -jar apertium-dixtools.jar dic-reader list-pairs` failure on JRE 9+ and read `dictools.utils.XMLReader` around line 153. Trace the use of `KeepTrackOfLocationDOMParser` and the referenced internal Xerces parser. Done means the command no longer raises `IllegalAccessError` on supported JRE 9+ environments.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.