Lucene java.lang.IllegalAccessError

36 views
Skip to first unread message

Tobias Horsmann

unread,
Dec 17, 2015, 8:16:29 AM12/17/15
to dkpro-tc-dev
Hi,

when using a TC self-trained model I get a Lucene IllegalAccessError when using one of the Ngram-based feature extractors. (The Stacktrace is attached below) 
The code did work before and I didn't change anything in my code either which gives me a hard time to track possible reasons for this exception.

I attempted to track this error by including this particular LuceneFeature into the save-load-model-test case we have in TC. The error does not occur there. This confirms that the FE seems to work basically, but makes it even harder to track the error in my particular case.

Anyone an idea what could cause this error?

The code of the feature (I use only one Lucene-Index Feature) looks like this. I personally see nothing here that would cause a problem?:

public class LuceneCharacterNGramPerUnitUFE extends LuceneCharacterNGramUFE

{

    @Override

    public List<Class<? extends MetaCollector>> getMetaCollectorClasses()

    {

        List<Class<? extends MetaCollector>> metaCollectorClasses = new ArrayList<Class<? extends MetaCollector>>();

        metaCollectorClasses.add(LuceneCharacterNGramUnitMetaCollector.class);

        

        return metaCollectorClasses;

    }

    

    @Override

    protected void logSelectionProcess(long N) {

    getLogger().log(Level.INFO, "+++ SELECTING THE " + N + " MOST FREQUENT CHARACTER NGRAMS");

}

}



Exception in thread "main" org.apache.uima.resource.ResourceInitializationException: Initialization of annotator class "de.tudarmstadt.ukp.dkpro.core.flextag.FlexTag" failed.  (Descriptor: <unknown>)

at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:264)

at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:169)

at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)

at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)

at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:407)

at org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:256)

at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:429)

at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:373)

at org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:186)

at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)

at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:331)

at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:448)

at org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine(AnalysisEngineFactory.java:205)

at org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:85)

at de.unidue.langtech.runPosTagger.Run.main(Run.java:25)

Caused by: org.apache.uima.resource.ResourceInitializationException: Initialization of annotator class "de.tudarmstadt.ukp.dkpro.tc.ml.uima.TcAnnotatorSequence" failed.  (Descriptor: <unknown>)

at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:264)

at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:169)

at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)

at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:331)

at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:448)

at org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine(AnalysisEngineFactory.java:205)

at org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine(AnalysisEngineFactory.java:281)

at de.tudarmstadt.ukp.dkpro.core.flextag.FlexTag.initialize(FlexTag.java:82)

at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:262)

... 17 more

Caused by: org.apache.uima.resource.ResourceInitializationException: Unexpected Throwable or Error thrown when initializing Custom Resource "de.unidue.langtech.feature.LuceneCharacterNGramPerUnitUFE" from descriptor "<unknown>".

at de.tudarmstadt.ukp.dkpro.tc.ml.uima.TcAnnotatorSequence.initialize(TcAnnotatorSequence.java:94)

at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:262)

... 27 more

Caused by: org.apache.uima.resource.ResourceInitializationException: Unexpected Throwable or Error thrown when initializing Custom Resource "de.unidue.langtech.feature.LuceneCharacterNGramPerUnitUFE" from descriptor "<unknown>".

at org.apache.uima.impl.CustomResourceFactory_impl.produceResource(CustomResourceFactory_impl.java:99)

at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:248)

at org.apache.uima.resource.impl.ResourceManager_impl.registerResource(ResourceManager_impl.java:583)

at org.apache.uima.resource.impl.ResourceManager_impl.initializeExternalResources(ResourceManager_impl.java:457)

at org.apache.uima.resource.Resource_ImplBase.initialize(Resource_ImplBase.java:193)

at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.initialize(AnalysisEngineImplBase.java:157)

at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:130)

at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)

at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)

at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:331)

at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:448)

at de.tudarmstadt.ukp.dkpro.tc.ml.uima.TcAnnotatorSequence.initialize(TcAnnotatorSequence.java:90)

... 28 more

Caused by: java.lang.IllegalAccessError: tried to access class org.apache.lucene.index.DirectoryReader from class de.tudarmstadt.ukp.dkpro.tc.features.ngram.base.LuceneFeatureExtractorBase

at de.tudarmstadt.ukp.dkpro.tc.features.ngram.base.LuceneFeatureExtractorBase.getTopNgrams(LuceneFeatureExtractorBase.java:60)

at de.tudarmstadt.ukp.dkpro.tc.features.ngram.base.NGramFeatureExtractorBase.initialize(NGramFeatureExtractorBase.java:108)

at org.apache.uima.impl.CustomResourceFactory_impl.produceResource(CustomResourceFactory_impl.java:92)

... 42 more

Johannes Daxenberger

unread,
Dec 17, 2015, 9:21:38 AM12/17/15
to Tobias Horsmann, dkpro-tc-dev

Hi Tobias,

 

how old is the self-trained model? Have you retrained it with the latest DKPro TC snapshot (assuming that you are on the snapshot version) and then reproduce the error?

 

Best,

Johannes

--
You received this message because you are subscribed to the Google Groups "dkpro-tc-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dkpro-tc-dev...@googlegroups.com.
To post to this group, send email to dkpro-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Richard Eckart de Castilho

unread,
Dec 17, 2015, 12:53:30 PM12/17/15
to Tobias Horsmann, dkpro-tc-dev
On 17.12.2015, at 11:16, Tobias Horsmann <tobias....@gmail.com> wrote:
>
> when using a TC self-trained model I get a Lucene IllegalAccessError when using one of the Ngram-based feature extractors. (The Stacktrace is attached below)
> The code did work before and I didn't change anything in my code either which gives me a hard time to track possible reasons for this exception.

Sounds odd to get one of these. Maybe you are accessing some class or API from Lucene that was public in a past version but has been changed to package private or private in the Lucene version that is actually on your classpath?

Cheers,

-- Richard

Tobias Horsmann

unread,
Dec 19, 2015, 7:28:28 AM12/19/15
to dkpro-tc-dev, tobias....@gmail.com
Argh, damit it. I found the problem. I think I had this issue before. 

The project that runs the model must use lucene-core 4.4 and override the 3.0.3 that is used by default. 

        <dependency>

            <groupId>org.apache.lucene</groupId>

            <artifactId>lucene-core</artifactId>

            <version>4.4.0</version>

        </dependency>

Reply all
Reply to author
Forward
0 new messages