UTHealth-CCB / clamp-support

Clinical Language Annotation Modeling and Processing toolkit
http://clamp.uth.edu/
16 stars 2 forks source link

[ClampCmd_1.6.0] 'illegal access' Error #32

Closed MenggeZhao closed 4 years ago

MenggeZhao commented 4 years ago

Hi CLAMP team,

I installed 'ClampCmd_1.6.0' but met an 'illegal access' error when running 'run_comprehensive_pipeline.sh' and 'run_fast_pipeline.sh'.

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.lucene.store.MMapDirectory$2$1 (file:/mnt/isilon/wang_lab/shared/apps/ClampCmd_1.6.0/bin/clamp-nlp-1.6.0-jar-with-dependencies.jar) to method java.nio.DirectByteBuffer.cleaner()
WARNING: Please consider reporting this to the maintainers of org.apache.lucene.store.MMapDirectory$2$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Dec 10, 2019 1:53:20 PM edu.uth.clamp.nlp.main.ClampLauncher parseArgs
SEVERE: Unable to unmap the mapped buffer: MMapIndexInput(path="/mnt/isilon/wang_lab/shared/apps/ClampCmd_1.6.0/resource/umls_index/_d.si")
Error occured during opening the pipeline.
Unable to unmap the mapped buffer: MMapIndexInput(path="/mnt/isilon/wang_lab/shared/apps/ClampCmd_1.6.0/resource/umls_index/_d.si")
java.io.IOException: Unable to unmap the mapped buffer: MMapIndexInput(path="/mnt/isilon/wang_lab/shared/apps/ClampCmd_1.6.0/resource/umls_index/_d.si")
        at org.apache.lucene.store.MMapDirectory$2.freeBuffer(MMapDirectory.java:301)
        at org.apache.lucene.store.ByteBufferIndexInput.freeBuffer(ByteBufferIndexInput.java:378)
        at org.apache.lucene.store.ByteBufferIndexInput.close(ByteBufferIndexInput.java:357)
        at org.apache.lucene.store.BufferedChecksumIndexInput.close(BufferedChecksumIndexInput.java:60)
        at org.apache.lucene.codecs.lucene50.Lucene50SegmentInfoFormat.read(Lucene50SegmentInfoFormat.java:120)
        at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:326)
        at org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:53)
        at org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:50)
        at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:660)
        at org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:50)
        at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:63)
        at edu.uth.clamp.nlp.encoding.UmlsEncoder.setIndexDir(UmlsEncoder.java:94)
        at edu.uth.clamp.nlp.uima.UmlsEncoderUIMA.setIndexDir(UmlsEncoderUIMA.java:122)
        at edu.uth.clamp.nlp.main.ClampLauncher.parseArgs(ClampLauncher.java:162)
        at edu.uth.clamp.nlp.main.PipelineMain.main(PipelineMain.java:69)
        Suppressed: java.io.IOException: Unable to unmap the mapped buffer: MMapIndexInput(path="/mnt/isilon/wang_lab/shared/apps/ClampCmd_1.6.0/resource/umls_index/segments_1")
                at org.apache.lucene.store.MMapDirectory$2.freeBuffer(MMapDirectory.java:301)
                at org.apache.lucene.store.ByteBufferIndexInput.freeBuffer(ByteBufferIndexInput.java:378)
                at org.apache.lucene.store.ByteBufferIndexInput.close(ByteBufferIndexInput.java:357)
                at org.apache.lucene.store.BufferedChecksumIndexInput.close(BufferedChecksumIndexInput.java:60)
                at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:413)
                ... 9 more
        Caused by: java.lang.IllegalAccessException: class org.apache.lucene.store.MMapDirectory$2$1 cannot access class jdk.internal.ref.Cleaner (in module java.base) because module java.base does not export jdk.internal.ref to unnamed module @4501b7af
                at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:355)
                at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:639)
                at java.base/java.lang.reflect.Method.invoke(Method.java:559)
                at org.apache.lucene.store.MMapDirectory$2$1.run(MMapDirectory.java:294)
                at org.apache.lucene.store.MMapDirectory$2$1.run(MMapDirectory.java:286)
                at java.base/java.security.AccessController.doPrivileged(AccessController.java:551)
                at org.apache.lucene.store.MMapDirectory$2.freeBuffer(MMapDirectory.java:286)
                ... 13 more
Caused by: java.lang.IllegalAccessException: class org.apache.lucene.store.MMapDirectory$2$1 cannot access class jdk.internal.ref.Cleaner (in module java.base) because module java.base does not export jdk.internal.ref to unnamed module @4501b7af
        at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:355)
        at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:639)
        at java.base/java.lang.reflect.Method.invoke(Method.java:559)
        at org.apache.lucene.store.MMapDirectory$2$1.run(MMapDirectory.java:294)
        at org.apache.lucene.store.MMapDirectory$2$1.run(MMapDirectory.java:286)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:551)
        at org.apache.lucene.store.MMapDirectory$2.freeBuffer(MMapDirectory.java:286)
        ... 14 more

One point may help is that I did successfully run 'run_deep_learning_pipeline.sh'. Another point may help is that I have an UMLS account but it seemed I could not successfully used some UMLS files inside CLAMP when running 'run_comprehensive_pipeline.sh' and 'run_fast_pipeline.sh'.

Is this error related to UMLS access? Thanks

ftiryaki commented 4 years ago

Hi, you may be using a java version higher than 8, can you please check that? And If so, can you please try it with version 8?

Thanks

MenggeZhao commented 4 years ago

I figured out how to run it. Thanks!