dkpro / dkpro-core

Collection of software components for natural language processing (NLP) based on the Apache UIMA framework.
https://dkpro.github.io/dkpro-core
Other
195 stars 67 forks source link

Strange Exception Under Linux (ubuntu) de.tudarmstadt.ukp.dkpro.core.nlp4j.internal.EmoryNlpUtils.extractFeatures( EmoryNlpUtils.java:110) #1481

Closed ggiavelli closed 4 years ago

ggiavelli commented 4 years ago

tried running my codebase on linux which I've done on other servers. But seems to be getting a null pointer exception this time. If anyone has any insights please let me know. Running Oracle Java8u261

Here is my relevant code: I try to make sure the jCas is reset before use. I added a jCase.reset() at the beginning just in case that was the issue but didn't help.

public synchronized String processString (String strQuery)  
{
    String strResult = "";

    //protect for null input
    if (strQuery == null)
        return "";

    try
    {
        mJCas.reset();//added this one to try to fix the problem
        mJCas.setDocumentText (strQuery);
        mJCas.setDocumentLanguage ("en");

        SimplePipeline.runPipeline (mJCas, mAnalysisEngineSEG, mAnalysisEnginePOS, mAnalysisEngineLEM, mAnalysisEngineDEP, mAnalysisEngineNER);

        strResult = SentenceGrammar.processQuestion (mJCas);
        mJCas.reset();
    }
    catch (Exception e)
    {
        System.out.println ("Exception in QueryStringProcessor:ProcessString");
        e.printStackTrace();
    }

    return strResult;
}

05-Aug-2020 16:54:31.190 INFO [http-nio-8080-exec-1] de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JPosTagger$Nlp4JPosTaggerModelProvider.produceResource(208) Model uses these features: [ambiguity_classes, positional, word_form_simplified, prefix, orthographic, word_shape, word_clusters, part_of_speech_tag, suffix, word_form_simplified_lowercase] 05-Aug-2020 16:54:31.407 INFO [http-nio-8080-exec-1] de.tudarmstadt.ukp.dkpro.core.languagetool.LanguageToolLemmatizer.process(114) Using default variant [en-US] for language [en] java.lang.IllegalStateException: unread block data at java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode(ObjectInputStream.java:2861) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1681) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2365) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2289) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2147) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:482) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:440) at edu.emory.mathcs.nlp.common.util.NLPUtils.getComponent(NLPUtils.java:118) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser$Nlp4JDependencyParserModelProvider.produceResource(Nlp4JDependencyParser.java:192) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser$Nlp4JDependencyParserModelProvider.produceResource(Nlp4JDependencyParser.java:170) at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableStreamProviderBase.produceResource(CasConfigurableStreamProviderBase.java:38) at de.tudarmstadt.ukp.dkpro.core.api.resources.ResourceObjectProviderBase.loadResource(ResourceObjectProviderBase.java:760) at de.tudarmstadt.ukp.dkpro.core.api.resources.ResourceObjectProviderBase.configure(ResourceObjectProviderBase.java:619) at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableProviderBase.configure(CasConfigurableProviderBase.java:36) at de.tudarmstadt.ukp.dkpro.core.api.resources.ModelProviderBase.configure(ModelProviderBase.java:87) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser.process(Nlp4JDependencyParser.java:156) at org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(JCasAnnotator_ImplBase.java:48) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:401) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:318) at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:269) at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:284) at org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:317) at com.noonean.nlp.nlpindexer.QueryStringProcessor.processString(QueryStringProcessor.java:121) at com.noonean.nlp.rest.QueryConvertServlet.doGet(QueryConvertServlet.java:81) at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) 05-Aug-2020 16:54:49.741 SEVERE [http-nio-8080-exec-1] org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(434) Exception occurred org.apache.uima.analysis_engine.AnalysisEngineProcessException at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableProviderBase.configure(CasConfigurableProviderBase.java:39) at de.tudarmstadt.ukp.dkpro.core.api.resources.ModelProviderBase.configure(ModelProviderBase.java:87) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser.process(Nlp4JDependencyParser.java:156) at org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(JCasAnnotator_ImplBase.java:48) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:401) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:318) at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:269) at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:284) at org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:317) at com.noonean.nlp.nlpindexer.QueryStringProcessor.processString(QueryStringProcessor.java:121) at com.noonean.nlp.rest.QueryConvertServlet.doGet(QueryConvertServlet.java:81) at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: java.lang.NullPointerException at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableStreamProviderBase.produceResource(CasConfigurableStreamProviderBase.java:44) at de.tudarmstadt.ukp.dkpro.core.api.resources.ResourceObjectProviderBase.loadResource(ResourceObjectProviderBase.java:760) at de.tudarmstadt.ukp.dkpro.core.api.resources.ResourceObjectProviderBase.configure(ResourceObjectProviderBase.java:619) at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableProviderBase.configure(CasConfigurableProviderBase.java:36) ... 34 more Caused by: java.lang.NullPointerException at de.tudarmstadt.ukp.dkpro.core.nlp4j.internal.EmoryNlpUtils.extractFeatures(EmoryNlpUtils.java:110) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser$Nlp4JDependencyParserModelProvider.produceResource(Nlp4JDependencyParser.java:221) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser$Nlp4JDependencyParserModelProvider.produceResource(Nlp4JDependencyParser.java:170) at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableStreamProviderBase.produceResource(CasConfigurableStreamProviderBase.java:38) ... 37 more Exception in QueryStringProcessor:ProcessString org.apache.uima.analysis_engine.AnalysisEngineProcessException at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableProviderBase.configure(CasConfigurableProviderBase.java:39) at de.tudarmstadt.ukp.dkpro.core.api.resources.ModelProviderBase.configure(ModelProviderBase.java:87) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser.process(Nlp4JDependencyParser.java:156) at org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(JCasAnnotator_ImplBase.java:48) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java:401) at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:318) at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:269) at org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.process(AnalysisEngineImplBase.java:284) at org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:317) at com.noonean.nlp.nlpindexer.QueryStringProcessor.processString(QueryStringProcessor.java:121) at com.noonean.nlp.rest.QueryConvertServlet.doGet(QueryConvertServlet.java:81) at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: java.lang.NullPointerException at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableStreamProviderBase.produceResource(CasConfigurableStreamProviderBase.java:44) at de.tudarmstadt.ukp.dkpro.core.api.resources.ResourceObjectProviderBase.loadResource(ResourceObjectProviderBase.java:760) at de.tudarmstadt.ukp.dkpro.core.api.resources.ResourceObjectProviderBase.configure(ResourceObjectProviderBase.java:619) at de.tudarmstadt.ukp.dkpro.core.api.resources.CasConfigurableProviderBase.configure(CasConfigurableProviderBase.java:36) ... 34 more Caused by: java.lang.NullPointerException at de.tudarmstadt.ukp.dkpro.core.nlp4j.internal.EmoryNlpUtils.extractFeatures(EmoryNlpUtils.java:110) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser$Nlp4JDependencyParserModelProvider.produceResource(Nlp4JDependencyParser.java:221) at de.tudarmstadt.ukp.dkpro.core.nlp4j.Nlp4JDependencyParser$Nlp4JDependencyParserModelProvider.produceResource(Nlp4JDependencyParser.java:170) at de.tudarmstadt.ukp.dkpro.core.api.resources.

reckart commented 4 years ago

Please try increasing memory for the JVM. The NPE during model loading for nlp4j tends to be an out of memory issue.

ggiavelli commented 4 years ago

yes it was the ol memory problem you were correct. thanks.

On Wed, Aug 5, 2020 at 12:19 PM Richard Eckart de Castilho < notifications@github.com> wrote:

Please try increasing memory for the JVM. The NPE during model loading for nlp4j tends to be an out of memory issue.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/dkpro/dkpro-core/issues/1481#issuecomment-669321082, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMIZW3FRCKNBRNDJLJ3WYTR7GIBHANCNFSM4PVWYDLA .

--

Gianna Giavelli, president www.Noonean.com