I'm running into an error when running the CVD. This issue seems similar to the one brought up in https://github.com/tmills/ctakes-docker/issues/29, with similar symptoms, but the traceback is different. I'm also not able to run the collection reader, maybe for similar reasons. I'm running this locally on Ubuntu 18.04.
I was able to determine my IP through hostname -I. Note that I was originally trying this on my work network with a 172... IP address, but after noticing your comment in the linked issue, I also tried this at home with a 192... IP address, however this yielded the same result.
I set up the docker containers without deid, and verified that both were running.
~/ctakes-docker$ ./bin/runBrokerContainer.sh
2739bb4746935aec0ffc08404ac1354e84367125486349abff6ba63bc81a612d
~/ctakes-docker$ docker container logs 2739bb4746935aec0ffc08404ac1354e84367125486349abff6ba63bc81a612d
Setting public ip based on broker_host environment variable of 192...
public_ip set to 192...
Certificate stored in file </certificate/broker_cert>
INFO: Loading '/apache-activemq-5.15.2/bin/env'
INFO: Using java '/usr/lib/jvm/java-1.8-openjdk/bin/java'
INFO: Starting in foreground, this is just for debugging purposes (stop process by pressing CTRL+C)
INFO: Creating pidfile /apache-activemq-5.15.2/data/activemq.pid
Java Runtime: IcedTea 1.8.0_212 /usr/lib/jvm/java-1.8-openjdk/jre
Heap sizes: current=62976k free=58697k max=5592576k
JVM args: -Xms64M -Xmx6G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/apache-activemq-5.15.2/conf/login.config -Dcom.sun.management.jmxremote -Djavax.net.ssl.keyStore=/certificate/broker.ks -Djavax.net.ssl.keyStorePassword=ZjhiYWUwND -Djava.awt.headless=true -Djava.io.tmpdir=/apache-activemq-5.15.2/tmp -Dactivemq.classpath=/apache-activemq-5.15.2/conf:/apache-activemq-5.15.2/../lib/: -Dactivemq.home=/apache-activemq-5.15.2 -Dactivemq.base=/apache-activemq-5.15.2 -Dactivemq.conf=/apache-activemq-5.15.2/conf -Dactivemq.data=/apache-activemq-5.15.2/data
Extensions classpath:
[/apache-activemq-5.15.2/lib,/apache-activemq-5.15.2/lib/camel,/apache-activemq-5.15.2/lib/optional,/apache-activemq-5.15.2/lib/web,/apache-activemq-5.15.2/lib/extra]
ACTIVEMQ_HOME: /apache-activemq-5.15.2
ACTIVEMQ_BASE: /apache-activemq-5.15.2
ACTIVEMQ_CONF: /apache-activemq-5.15.2/conf
ACTIVEMQ_DATA: /apache-activemq-5.15.2/data
Loading message broker from: xbean:file:/apache-activemq-5.15.2/conf/activemq-nojournal.xml
INFO | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@5442a311: startup date [Wed Sep 04 21:16:20 GMT 2019]; root of context hierarchy
INFO | Using Persistence Adapter: MemoryPersistenceAdapter
INFO | JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
INFO | Apache ActiveMQ 5.15.2 (localhost, ID:2739bb474693-46193-1567631781453-0:1) is starting
INFO | Listening for connections at: tcp://2739bb474693:61616
INFO | Connector openwire started
WARN | ServletContext@o.e.j.s.ServletContextHandler@6babf3bf{/,null,STARTING} has uncovered http methods for path: /
INFO | Connector https started
INFO | Apache ActiveMQ 5.15.2 (localhost, ID:2739bb474693-46193-1567631781453-0:1) started
INFO | For help or more information please see: http://activemq.apache.org
~/ctakes-docker$ ./bin/runPipelineContainer.sh
174df79811b7fb19a246f57728fa7b1c1991b5a335996c1262f4e2994f72f61e
~/ctakes-docker$ docker container logs 174df79811b7fb19a246f57728fa7b1c1991b5a335996c1262f4e2994f72f61e
Certificate was added to keystore
>>> Setting defaultBrokerURL to:https://192...
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/apache-ctakes-4.0.0/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/apache-uima-as-2.10.3/apache-activemq/lib/slf4j-log4j12-1.7.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
Service:AggregatePlaintextFastUMLSProcessor using default view Initialized. Ready To Process Messages From Queue:myQueueName
Press 'q'+'Enter' to quiesce and stop the service or 's'+'Enter' to stop it now.
Note: selected option is not echoed on the console.
So it appears to me the docker containers are running fine. Although one concerning thing I noticed was in the AMQ logs where it says Listening for connections at: tcp://2739bb474693:61616, which appears to be using the container ID as the TCP address.
When I launch the CVD and attempt to load the remoteNoDeid.xml AE, I get the following popup:
And in the CVD logs, this is the full error in Java:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/apache-ctakes-4.0.0/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/apache-uima-as-2.9.0/apache-activemq/lib/slf4j-log4j12-1.7.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
javax.jms.JMSException: java.io.EOFException
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54)
at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1949)
at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1968)
at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126)
at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:173)
at org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:344)
at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96)
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:219)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:392)
at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:268)
at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240)
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232)
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
... 1 more
No logs appear in either the AMQ or Pipeline containers after this exception.
I also tried running the collection reader example (just running it on an unmodified desc/FilesInDirectoryCollectionReader.xml to use the sample dir). Here is the output of that command before it hangs indefinitely:
~/ctakes-docker$ ./bin/runRemoteAsyncAE.sh tcp://192...:61616 mainQueue -d desc/localDeploymentDescriptorNoDeid.xml -c desc/FilesInDirectoryCollectionReader.xml -o xmis/
Attempting to deploy desc/localDeploymentDescriptorNoDeid.xml ...
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/apache-ctakes-4.0.0/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/apache-uima-as-2.9.0/apache-activemq/lib/slf4j-log4j12-1.7.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
Could not refresh JMS Connection for destination '' - silently retrying in 5 ms. Cause: Cannot send, channel has already failed: tcp://192...:61616
I'm not familiar with AMQ, so possibly it's a setup issue there (i.e. the weird TCP listening address). When I go to the AMQ address that the Pipeline is pointed to (https://192...:61616/), I do get a response, I believe indicating that AMQ is up. Do you have any advice here?
Hi @tmills
I'm running into an error when running the CVD. This issue seems similar to the one brought up in https://github.com/tmills/ctakes-docker/issues/29, with similar symptoms, but the traceback is different. I'm also not able to run the collection reader, maybe for similar reasons. I'm running this locally on Ubuntu 18.04.
I was able to determine my IP through
hostname -I
. Note that I was originally trying this on my work network with a 172... IP address, but after noticing your comment in the linked issue, I also tried this at home with a 192... IP address, however this yielded the same result.I set up the docker containers without deid, and verified that both were running.
So it appears to me the docker containers are running fine. Although one concerning thing I noticed was in the AMQ logs where it says
Listening for connections at: tcp://2739bb474693:61616
, which appears to be using the container ID as the TCP address.When I launch the CVD and attempt to load the remoteNoDeid.xml AE, I get the following popup:
And in the CVD logs, this is the full error in Java:
No logs appear in either the AMQ or Pipeline containers after this exception.
I also tried running the collection reader example (just running it on an unmodified
desc/FilesInDirectoryCollectionReader.xml
to use the sample dir). Here is the output of that command before it hangs indefinitely:I'm not familiar with AMQ, so possibly it's a setup issue there (i.e. the weird TCP listening address). When I go to the AMQ address that the Pipeline is pointed to (https://192...:61616/), I do get a response, I believe indicating that AMQ is up. Do you have any advice here?