Hi,
This exception is being thrown from CTakes, I think. UIMA is "wrapping" this
exception, and even CTakes is wrapping it.
Can you post the full stack trace? I'm looking for the lines that would follow
something like:
"Caused by: java.lang.NullPointerException" which would indicate the actual
cause, I hope.
Also, this is just a wild guess, but could you check to be sure you've set up
the CAS for CTakes to process according to what it requires (I'm not familiar
with CTakes requirements)?
-Marshall
On 2/10/2017 11:09 AM, shahid ashraf wrote:
> Anything on the previous mail and
>
> *Also i tried the setting up Cas Pool based on descriptor file using below
> code... when i increase the number of threads from 1 i get following errors*
>
> public class MyApplication {
> private CasPool mCasPool;
>
> private AnalysisEngine mAnalysisEngine;
>
> public MyApplication()
> {
> //get Resource Specifier from XML file
> XMLInputSource in = new XMLInputSource("MyDescriptor.xml");
> ResourceSpecifier specifier =
> UIMAFramework.getXMLParser().parseResourceSpecifier(in);
>
> //Create multithreadable AE that will
> //Accept 3 simultaneous requests
> //The 3rd parameter specifies a timeout.
> //When the number of simultaneous requests exceeds 3,
> // additional requests will wait for other requests to finish.
> // This parameter determines the maximum number of milliseconds
> // that a new request should wait before throwing an
> // - a value of 0 will cause them to wait forever.
> mAnalysisEngine = UIMAFramework.produceAnalysisEngine(specifier,3,0);
>
> //create CAS pool with 3 CAS instances
> mCasPool = new CasPool(3, mAnalysisEngine);
> }
>
> // Notice this is no longer "synchronized"
> public void analyzeDocument(String aDoc) {
> //check out a CAS instance (argument 0 means no timeout)
> CAS cas = mCasPool.getCas(0);
> try {
> //analyze a document
> cas.setDocumentText(aDoc);
> mAnalysisEngine.process(cas);
> doSomethingWithResults(cas);
> } finally {
> //MAKE SURE we release the CAS instance
> mCasPool.releaseCas(cas);
> }
> }
> ...
> }
>
> eb 10, 2017 8:44:06 PM
> org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl
> callAnalysisComponentProcess(430)
>
> SEVERE: Exception occurred
>
> org.apache.uima.analysis_engine.AnalysisEngineProcessException
>
> at org.apache.ctakes.lvg.ae.LvgAnnotator.process(LvgAnnotator.java:310)
>
> 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:396)
>
> at
> org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:314)
>
> at
> org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:570)
>
> at
> org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:412)
>
> at
> org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:344)
> at
> org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:265)aused
> by: org.apache.uima.analysis_engine.AnalysisEngineProcessException
>
> at
> org.apache.ctakes.lvg.ae.LvgAnnotator.setCanonicalForm(LvgAnnotator.java:372)
>
> at
> org.apache.ctakes.lvg.ae.LvgAnnotator.annotateRange(LvgAnnotator.java:342)
>
> at org.apache.ctakes.lvg.ae.LvgAnnotator.process(LvgAnnotator.java:307)
>
> ... 35 more
> Caused by: java.lang.NullPointerException
>
> Feb 10, 2017 8:44:06 PM
> org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl
> processAndOutputNewCASes(273)
>
> SEVERE: Exception occurred
>
> org.apache.uima.analysis_engine.AnalysisEngineProcessException
>
> at org.apache.ctakes.lvg.ae.LvgAnnotator.process(LvgAnnotator.java:310)
>
> 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:396)
>
> at
> org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:314)
>
> at
> org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.processUntilNextOutputCas(ASB_impl.java:570)
>
> at
> org.apache.uima.analysis_engine.asb.impl.ASB_impl$AggregateCasIterator.<init>(ASB_impl.java:412)
>
> at
> org.apache.uima.analysis_engine.asb.impl.ASB_impl.process(ASB_impl.java:344)
>
> at
> org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:265)
> at
>
>
>
> On Fri, Feb 10, 2017 at 12:12 AM, shahid ashraf <[email protected]> wrote:
>
>> Hi Folks
>>
>> This is my first mail to the mailing list. I have just started looking
>> into the uima architecture. Currently i am trying few things in ctakes. I
>> need to use the JCAS pool for multithreading. https://uima.
>> apache.org/d/uimaj-current/tutorials_and_users_guides.
>> html#ugr.tug.applications.multi_threaded
>> I need to know the equivalent of the following while using programmable
>> bluider AE(org.apache.uima.fit.factory.AggregateBuilder;)
>>
>> mAnalysisEngine = UIMAFramework.produceAnalysisEngine(specifier,3,0);
>>
>> Currently i am building aggregate AE like this ... in which i need to set
>> the property/field to 3 like in above.
>>
>> *In other words the questions is how to use the cas object pool for
>> multiprocessing iusing programmable interface(AggregrateBuilder) instead of
>> descriptor file approach.*
>>
>> --
>> with Regards
>> Shahid Ashraf
>>
>
>