onc-healthit / inferno-community

Archived source code for the Inferno Testing Tool and the Community Edition set of tests. No longer maintained.
https://inferno.healthit.gov/
Apache License 2.0
92 stars 35 forks source link

docker-compose up does not work #567

Open nathanloyer opened 3 years ago

nathanloyer commented 3 years ago

Subject of the issue

I just downloaded the inferno repo on a new laptop for the first time to try to reproduce another issue I just created a ticket for in github. I decided to use your documented path of simply running docker-compose up, and I'm getting an error from the validator service. It says that it cannot connect to the terminology server.

Your environment

Steps to reproduce

Download github repo, run docker-compose up

Expected behavior

All the services should start up without errors.

Actual behavior

validator_service_1  | 2021-05-24 20:25:44 ERROR App:39 - There was an error initializing the validator:
validator_service_1  | org.hl7.fhir.exceptions.FHIRException: Unable to connect to terminology server. Use parameter '-tx n/a' to run without using terminology services to validate LOINC, SNOMED, ICD-X etc. Error = An error fetching the server's capability statement: timeout
validator_service_1  |  at org.hl7.fhir.r5.context.SimpleWorkerContext.connectToTSServer(SimpleWorkerContext.java:302)
validator_service_1  |  at org.hl7.fhir.validation.ValidationEngine.connectToTSServer(ValidationEngine.java:987)
validator_service_1  |  at org.mitre.inferno.Validator.<init>(Validator.java:66)
validator_service_1  |  at org.mitre.inferno.App.initializeValidator(App.java:37)
validator_service_1  |  at org.mitre.inferno.App.startApp(App.java:64)
validator_service_1  |  at org.mitre.inferno.App.main(App.java:27)
validator_service_1  | Caused by: org.hl7.fhir.r5.utils.client.EFhirClientException: An error fetching the server's capability statement: timeout
validator_service_1  |  at org.hl7.fhir.r5.utils.client.FHIRToolingClient.handleException(FHIRToolingClient.java:325)
validator_service_1  |  at org.hl7.fhir.r5.utils.client.FHIRToolingClient.getCapabilitiesStatementQuick(FHIRToolingClient.java:157)
validator_service_1  |  at org.hl7.fhir.convertors.txClient.TerminologyClientR5.getCapabilitiesStatementQuick(TerminologyClientR5.java:99)
validator_service_1  |  at org.hl7.fhir.r5.context.SimpleWorkerContext.connectToTSServer(SimpleWorkerContext.java:298)
validator_service_1  |  ... 5 more
validator_service_1  | Caused by: java.net.SocketTimeoutException: timeout
validator_service_1  |  at okio.SocketAsyncTimeout.newTimeoutException(JvmOkio.kt:143)
validator_service_1  |  at okio.AsyncTimeout.access$newTimeoutException(AsyncTimeout.kt:162)
validator_service_1  |  at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:335)
validator_service_1  |  at okio.RealBufferedSource.indexOf(RealBufferedSource.kt:427)
validator_service_1  |  at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.kt:320)
validator_service_1  |  at okhttp3.internal.http1.HeadersReader.readLine(HeadersReader.kt:29)
validator_service_1  |  at okhttp3.internal.http1.Http1ExchangeCodec.readResponseHeaders(Http1ExchangeCodec.kt:178)
validator_service_1  |  at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:106)
validator_service_1  |  at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:79)
validator_service_1  |  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
validator_service_1  |  at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34)
validator_service_1  |  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
validator_service_1  |  at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
validator_service_1  |  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
validator_service_1  |  at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
validator_service_1  |  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
validator_service_1  |  at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
validator_service_1  |  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
validator_service_1  |  at org.hl7.fhir.r5.utils.client.network.RetryInterceptor.intercept(RetryInterceptor.java:60)
validator_service_1  |  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
validator_service_1  |  at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
validator_service_1  |  at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
validator_service_1  |  at org.hl7.fhir.r5.utils.client.network.FhirRequestBuilder.execute(FhirRequestBuilder.java:207)
validator_service_1  |  at org.hl7.fhir.r5.utils.client.network.Client.executeFhirRequest(Client.java:213)
validator_service_1  |  at org.hl7.fhir.r5.utils.client.network.Client.issueGetResourceRequest(Client.java:92)
validator_service_1  |  at org.hl7.fhir.r5.utils.client.FHIRToolingClient.getCapabilitiesStatementQuick(FHIRToolingClient.java:154)
validator_service_1  |  ... 7 more
validator_service_1  | Caused by: java.net.SocketException: Socket closed
validator_service_1  |  at java.net.SocketInputStream.read(SocketInputStream.java:204)
validator_service_1  |  at java.net.SocketInputStream.read(SocketInputStream.java:141)
validator_service_1  |  at okio.InputStreamSource.read(JvmOkio.kt:90)
validator_service_1  |  at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:129)
validator_service_1  |  ... 30 more
inferno_validator_service_1 exited with code 1
nathanloyer commented 3 years ago

I just wanted to note that I am aware of a workaround where you set resource_validator and fhirpath_evaluator to internal in ./config.yml. However the commands documented in your readme to start everything up should work without any intervention by the user.