Okay, I did some debugging, traced through the UIMA source code, and found the
likely cause, that is, the VinciAnalysisEngineService_impl failed to be
started. This is most likely due to misconfiguration in my classpath[*], so I
started the service manually from the command line, and it was looking good for
a second, but then it suddenly stopped due to a shutdown request. Here are the
log messages printed out in the console:
VinciAnalysisEngineService_impl: Starting Server with Socket Timeout:300000
[12/4/09 1:26 PM] Service JodAndTika starting on port 10001
[12/4/09 1:26 PM] Pooledcount: 1 busyCount: 0
[12/4/09 1:26 PM](VinciServer.shutdown()) Accepted shutdown request: Shutting
Down the Vinci Analysis Engine Service
04/12/2009 1:26:12 PM
org.apache.uima.adapter.vinci.VinciAnalysisEngineService_impl stop(315)
INFO: Shutting Down the Vinci Analysis Engine Service
[12/4/09 1:26 PM](VinciServer.shutdown()) Accepted shutdown request: Shutting
Down the Vinci Analysis Engine Service
[*] An exception should have been thrown in this case in my opinion, but instead
UIMA seems to silently ignore this. See
org.apache.uima.collection.impl.cpm.container.deployer.vinci.VinciCasProcessorDe
ployer
line 551, where the Process object returned should have been used to check the
status of the spawned process.
--
The CPE seemed to indicate that there was an error when converting CAS container
to CAS data, as shown below:
04/12/2009 1:26:09 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS initialize
INFO: The CPM is about to test its VNS port 9005 for availability. (Thread
Name: BaseCPMImpl-Thread)
04/12/2009 1:26:09 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS initialize
INFO: The service port 9005 is available on localhost. (Thread Name:
BaseCPMImpl-Thread)
04/12/2009 1:26:09 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS initialize
INFO: The CPM VNS activity started on port 9005. (Thread Name: BaseCPMImpl-
Thread)
04/12/2009 1:26:09 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS process
INFO: The CPM VNS thread started. (Thread Name: VNS-Thread) VNS Port: 9005
04/12/2009 1:26:09 PM
org.apache.uima.collection.impl.cpm.container.deployer.vinci.VinciCasProcessorDe
ployer initialize
INFO: The next port was retrieved from the service port queue. (Thread Name:
BaseCPMImpl-Thread)
04/12/2009 1:26:09 PM
org.apache.uima.collection.impl.cpm.container.deployer.vinci.VinciCasProcessorDe
ployer initialize
INFO: The service port is not available yet. There are 5000 retries left to
acquire the port. (Thread Name: BaseCPMImpl-Thread)
<snipped>
04/12/2009 1:26:11 PM
org.apache.uima.collection.impl.cpm.container.deployer.vinci.VinciCasProcessorDe
ployer initialize
INFO: The service port is not available yet. There are 4984 retries left to
acquire the port. (Thread Name: BaseCPMImpl-Thread)
[12/4/09 1:26 PM] Pooledcount: 1 busyCount: 0
04/12/2009 1:26:11 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS initialize
INFO: The service port 10001 is available on localhost. (Thread Name:
PooledThread#0)
04/12/2009 1:26:11 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS initialize
INFO: The service port 10001 is available on localhost. (Thread Name:
PooledThread#0)
04/12/2009 1:26:11 PM
org.apache.uima.collection.impl.cpm.container.deployer.vinci.VinciCasProcessorDe
ployer initialize
INFO: The next port 10001 was retrieved from the service port queue. (Thread
Name: BaseCPMImpl-Thread)
04/12/2009 1:26:11 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS initialize
INFO: The service port 10002 is available on localhost. (Thread Name:
BaseCPMImpl-Thread)
04/12/2009 1:26:11 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS initialize
INFO: The service port 10002 is available on localhost. (Thread Name:
BaseCPMImpl-Thread)
** initializationComplete
org.apache.uima.UIMARuntimeException
at
org.apache.uima.collection.impl.CasConverter.casContainerToCasData(CasConverter.
java:146)
at
org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.processNext(Processing
Unit.java:795)
at
org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.run(ProcessingUnit.jav
a:577)
Caused by: XCASParsingException: Error parsing XCAS from source <unknown> at
line <unknown>, column <unknown>: expected text but found element: <i>.
at
org.apache.uima.cas_data.impl.XCasToCasDataSaxHandler.createException(XCasToCasD
ataSaxHandler.java:451)
at
org.apache.uima.cas_data.impl.XCasToCasDataSaxHandler.createException(XCasToCasD
ataSaxHandler.java:473)
at
org.apache.uima.cas_data.impl.XCasToCasDataSaxHandler.startElement(XCasToCasData
SaxHandler.java:161)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.startElement(XCASSeria
lizer.java:327)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.encodePrimitiveTypeArr
ayFS(XCASSerializer.java:542)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.encodeFS(XCASSerialize
r.java:505)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.encodeQueued(XCASSeria
lizer.java:407)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.serialize(XCASSerializ
er.java:272)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.access$500(XCASSeriali
zer.java:62)
at
org.apache.uima.cas.impl.XCASSerializer.serialize(XCASSerializer.java:919)
at
org.apache.uima.cas.impl.XCASSerializer.serialize(XCASSerializer.java:896)
at
org.apache.uima.cas.impl.XCASSerializer.serialize(XCASSerializer.java:878)
at
org.apache.uima.collection.impl.CasConverter.casContainerToCasData(CasConverter.
java:142)
... 2 more
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.ProcessingUnit
process
SEVERE: The container JodAndTika returned the following error message: null
(Thread Name: [Procesing Pipeline#1 Thread]::)
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.ProcessingUnit
maybeLogSevereException(2499)
SEVERE: Thread: [Procesing Pipeline#1 Thread]::, message: null
org.apache.uima.UIMARuntimeException
at
org.apache.uima.collection.impl.CasConverter.casContainerToCasData(CasConverter.
java:146)
at
org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.processNext(Processing
Unit.java:795)
at
org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.run(ProcessingUnit.jav
a:577)
Caused by: XCASParsingException: Error parsing XCAS from source <unknown> at
line <unknown>, column <unknown>: expected text but found element: <i>.
at
org.apache.uima.cas_data.impl.XCasToCasDataSaxHandler.createException(XCasToCasD
ataSaxHandler.java:451)
at
org.apache.uima.cas_data.impl.XCasToCasDataSaxHandler.createException(XCasToCasD
ataSaxHandler.java:473)
at
org.apache.uima.cas_data.impl.XCasToCasDataSaxHandler.startElement(XCasToCasData
SaxHandler.java:161)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.startElement(XCASSeria
lizer.java:327)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.encodePrimitiveTypeArr
ayFS(XCASSerializer.java:542)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.encodeFS(XCASSerialize
r.java:505)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.encodeQueued(XCASSeria
lizer.java:407)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.serialize(XCASSerializ
er.java:272)
at
org.apache.uima.cas.impl.XCASSerializer$XCASDocSerializer.access$500(XCASSeriali
zer.java:62)
at
org.apache.uima.cas.impl.XCASSerializer.serialize(XCASSerializer.java:919)
at
org.apache.uima.cas.impl.XCASSerializer.serialize(XCASSerializer.java:896)
at
org.apache.uima.cas.impl.XCASSerializer.serialize(XCASSerializer.java:878)
at
org.apache.uima.collection.impl.CasConverter.casContainerToCasData(CasConverter.
java:142)
... 2 more
** entityProcessComplete
04/12/2009 1:26:12 PM
org.apache.uima.collection.impl.cpm.container.ProcessingContainer_Impl process
SEVERE: The CPM stopped because the configured error threshold 0 was exceeded.
(Thread Name: [Procesing Pipeline#1 Thread]::) Component Name: JodAndTika
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.ProcessingUnit
process
SEVERE: The CPM is terminating. The current component is JodAndTika. (Thread
Name: [Procesing Pipeline#1 Thread]::)
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.ProcessingUnit
process
WARNING: The CPM cannot be stopped by force. The current container is
JodAndTika. (Thread Name: [Procesing Pipeline#1 Thread]::) Reason: The CAS
processor JodAndTika is configured to stop the CPM when excessive errors are
encountered. (Thread Name: [Procesing Pipeline#1 Thread]::)
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.ProcessingUnit
maybeLogSevereException(2499)
SEVERE: Thread: [Procesing Pipeline#1 Thread]::, message:
org.apache.uima.collection.base_cpm.AbortCPMException:
at
org.apache.uima.collection.impl.cpm.container.ProcessingContainer_Impl.increment
CasProcessorErrors(ProcessingContainer_Impl.java:802)
at
org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.processNext(Processing
Unit.java:1038)
at
org.apache.uima.collection.impl.cpm.engine.ProcessingUnit.run(ProcessingUnit.jav
a:577)
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.CPMEngine
process
INFO: The collection reader thread state is: 1004 (Thread Name: [Procesing
Pipeline#1 Thread]::)
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.CPMEngine
process
INFO: The CPM processing unit is 0 and processing state 2003. (Thread Name:
[Procesing Pipeline#1 Thread]::)
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.CPMEngine
process
INFO: The application stopped the CPM. (Thread Name: [Procesing Pipeline#1
Thread]::)
04/12/2009 1:26:12 PM org.apache.uima.collection.impl.cpm.engine.CPMEngine
process
INFO: The CPM engine is stopping. An end-of-file token is added to the worker
queue. (Thread Name: [Procesing Pipeline#1 Thread]::) Forced stop: true
04/12/2009 1:26:12 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS process
INFO: The CPM VNS received a request to stop. (Thread Name: CPMEngine Thread)
[12/4/09 1:26 PM] Interrupting pooled thread: 0
[12/4/09 1:26 PM] interrupted
[12/4/09 1:26 PM] pooled thread exit
04/12/2009 1:26:12 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS process
INFO: The CPM VNS activity stopped. (Thread Name: CPMEngine Thread)
04/12/2009 1:26:12 PM
org.apache.uima.collection.impl.cpm.container.deployer.VinciTAP
collectionProcessComplete(1199)
INFO: Sending COLLECTION PROCESS COMPLETE TO Service
<vinci:FRAME xmlns:vinci="http://uima.apache.org/vinci/FrameSpec/">
<vinci:COMMAND>CollectionProcessComplete</vinci:COMMAND>
</vinci:FRAME>
04/12/2009 1:26:12 PM
org.apache.uima.collection.impl.cpm.container.deployer.VinciTAP process
INFO: The service application stopped. (Thread Name: CPMEngine Thread) Service
Host: 127.0.0.1 Service Port: 10001 CMD: <vinci:FRAME
xmlns:vinci="http://uima.apache.org/vinci/FrameSpec/">
<vinci:COMMAND>Shutdown</vinci:COMMAND>
</vinci:FRAME>
04/12/2009 1:26:14 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS process
INFO: The CPM VNS received a request to stop. (Thread Name: BaseCPMImpl-Thread)
** aborted
04/12/2009 1:26:14 PM
org.apache.uima.collection.impl.cpm.container.deployer.vns.LocalVNS process
INFO: The CPM VNS activity stopped. (Thread Name: BaseCPMImpl-Thread)
--
Thanks,
Hansen
PS. Is there anyway to bypass the 80 line characters limit? It makes it really
hard to post stack traces of exceptions.