I am running XNAT 1.6.5 and for for security reasons I have disabled TLSv1.0. On the NGINX proxy that serves my XNAT Application.
A downside to this is that the pipeline engine no longer seems to work. For instance after uploading an image the 'Autorun' action will remain queued indefinitely. If I allow TLSv1.0 connections then the pipeline starts working again.
I have added the following option (-Dhttps.protocols=TLSv1.1,TLSv1.2) to the tomcat.conf file to force TLSv1.1 TLSv1.2 but it makes no difference. If anybody has any suggestions it would be greatly appreciated.
Looking at the pipeline log I receive various 'java.net.SocketException: Connection reset errors. See below for logfile.
If anybody has any suggestions it would be greatly appreciated.
DEBUG main org.nrg.pipeline.client.CommandLineArguments - Pipeline executed with command line: -config /home/xnat/pipeline/pipeline.config -log /home/xnat/pipeline/log4j.properties -catalogPath /home/xnat/pipeline/catalog -pipeline xnat_tools/AutoRun.xml -id xxxx_xxxxxxxx_E00034 -host https://xxxx.xxxxxxxxxx.ac.uk -u b499e6ab-c527-4179-b7d2-d0943b98f7ee -pwd XXXXXXXXX -dataType xnat:mrSessionData -label 0001_MR7 -supressNotification -project UoM_test -notify Chris...@xxxxxxxx.ac.uk -notify xxxx...@xxxxxxxx.ac.uk -parameter xnat_project=UoM_test -parameter userfullname=C.xxxxx -parameter supressEmail=false -parameter useremail=Chris...@xxxxxxxx.ac.uk -parameter session=xxxx_xxxxxxxx_E00034 -parameter xnatserver=xxxx-xxxxxxxx -parameter mailhost=localhost -parameter sessionType=xnat:mrSessionData -parameter adminemail=xxxx...@xxxxxxxx.ac.uk -parameter sessionLabel=0001_MR7 -workFlowPrimaryKey 248 DEBUG main org.nrg.pipeline.utils.PipelineProperties - Initializing the pipeline properties from the specified properties object
DEBUG main org.nrg.pipeline.utils.PipelineProperties - Setting SMTP host to: localhost
FATAL main org.nrg.pipeline.client.XNATPipelineLauncher - Couldn't search for queued workflows
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.read(InputRecord.java:480)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:533)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:401)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.nrg.xnattools.SessionManager.createJSESSION(SessionManager.java:84)
at org.nrg.xnattools.SessionManager.getJSESSION(SessionManager.java:136)
at org.nrg.xnattools.service.WebServiceClient.connect(WebServiceClient.java:84)
at org.nrg.pipeline.client.XNATPipelineLauncher.isPipelineQueuedOrAwaitingOrOnHold(XNATPipelineLauncher.java:368)
at org.nrg.pipeline.client.XNATPipelineLauncher.isPipelineQueuedOrAwaitingOrOnHold(XNATPipelineLauncher.java:352)
at org.nrg.pipeline.client.XNATPipelineLauncher.launch(XNATPipelineLauncher.java:61)
at org.nrg.pipeline.client.XNATPipelineLauncher.run(XNATPipelineLauncher.java:298)
at org.nrg.pipeline.client.XNATPipelineLauncher.main(XNATPipelineLauncher.java:260)
DEBUG main org.nrg.pipeline.xpath.XPathResolverSaxon - Expre ^if (boolean(/Pipeline/parameters/parameter[name='aliasHost']/values/unique)) then /Pipeline/parameters/parameter[name='aliasHost']/values/unique/text() else /Pipeline/parameters/parameter[name='host']/values/unique/text()^ [https://xxxx.xxxxxxxxxx.ac.uk/] DEBUG main org.nrg.pipeline.xpath.XPathResolverSaxon - Expre ^fileUtils:GetCachePath(/Pipeline/parameters/parameter[name='resolvedHost']/values/unique/text(), /Pipeline/parameters/parameter[name='user']/values/unique/text(), /Pipeline/parameters/parameter[name='pwd']/values/unique/text(),/Pipeline/parameters/parameter[name='project']/values/unique/text())^ []
ERROR main org.nrg.pipeline.client.XNATPipelineLauncher - Unable to launch pipeline /home/xnat/pipeline/catalog/xnat_tools/AutoRun.xml
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
at java.util.ArrayList.get(ArrayList.java:411)
at org.nrg.pipeline.utils.ParameterUtils.resolveParameterValues(ParameterUtils.java:187)
at org.nrg.pipeline.utils.ParameterUtils.setParameterValues(ParameterUtils.java:171)
at org.nrg.pipeline.utils.PipelineEngineUtils.resolveXPath(PipelineEngineUtils.java:87)
at org.nrg.pipeline.manager.PipelineManager.launchPipeline(PipelineManager.java:210)
at org.nrg.pipeline.manager.PipelineManager.launchPipeline(PipelineManager.java:193)
at org.nrg.pipeline.client.XNATPipelineLauncher.launch(XNATPipelineLauncher.java:63)
at org.nrg.pipeline.client.XNATPipelineLauncher.run(XNATPipelineLauncher.java:298)
at org.nrg.pipeline.client.XNATPipelineLauncher.main(XNATPipelineLauncher.java:260)
DEBUG main org.nrg.pipeline.utils.MailUtils - Sending message with subject: XNAT update: Processing failed for 0001_MR7
DEBUG main org.springframework.web.client.RestTemplate - Setting request Accept header to [text/plain, */*]
The processing request you submitted for 0001_MR7 could not be completed at this time.
The XNAT technical team is aware of the issue and will notify you when it has been resolved.
The stdout and the error log files are available as attachments for your perusal.
We appreciate your patience. Please contact chris...@xxxxxxxxxx.ac.uk with questions or concerns. ], html=[<html>The following problems were encountered by the user(s) <br> Chris...@xxxxxxxx.ac.uk xxxx...@xxxxxxxx.ac.uk <br>The processing request you submitted for 0001_MR7 could not be completed at this time. <br><br><br> The XNAT technical team is aware of the issue and will notify you when it has been resolved.<br><br><br> The stdout and the error log files are available as attachments for your perusal.<br><br><br> We appreciate your patience. Please contact chris...@xxxxxxxx.ac.uk with questions or concerns. </html>]}] using [org.springframework.http.converter.FormHttpMessageConverter@743be8a9] DEBUG main httpclient.wire.header - >> "POST /data/services/mail/send HTTP/1.1[\r][\n]"
DEBUG main httpclient.wire.header - >> "Accept: text/plain, */*[\r][\n]"
DEBUG main httpclient.wire.header - >> "Content-Type: application/x-www-form-urlencoded[\r][\n]"
DEBUG main httpclient.wire.header - >> "Content-Length: 1285[\r][\n]"
DEBUG main httpclient.wire.header - >> "Authorization: Basic YjQ5OWU2YWItYzUyNy00MTc5LWI3ZDItZDA5NDNiOThmN2VlOjE0OTY5MTI1NDMxNTI=[\r][\n]"
DEBUG main httpclient.wire.header - >> "User-Agent: Jakarta Commons-HttpClient/3.1[\r][\n]"
DEBUG main httpclient.wire.header - >> "[\r][\n]"
DEBUG main httpclient.wire.content - >> "from=chris.xxxxx%40xxxxxxxxxx.ac.uk&to=Chris.xxxxx%40xxxxxxxx.ac.uk&to=xxxx.XNAT%40xxxxxxxx.ac.uk&subject=XNAT+update%3A+Processing+failed+for+0001_MR7&text=The+following+problems+were+encountered+by+the+user%28s%29+%0A+Chris.xxxxx%40xxxxxxxx.ac.uk+xxxx.XNAT%40xxxxxxxx.ac.uk+%0AThe+processing+request+you+submitted+for+0001_MR7+could+not+be+completed+at+this+time.+%0A%0A%0A+The+XNAT+technical+team+is+aware+of+the+issue+and+will+notify+you+when+it+has+been+resolved.%0A%0A%0A+The+stdout+and+the+error+log+files+are+available+as+attachments+for+your+perusal.%0A%0A%0A+We+appreciate+your+patience.++Please+contact+chris.xxxxx%40xxxxxxxx.ac.uk+with+questions+or+concerns.+&html=%3Chtml%3EThe+following+problems+were+encountered+by+the+user%28s%29+%3Cbr%3E+Chris.xxxxx%40xxxxxxxx.ac.uk+xxxx.XNAT%40xxxxxxxx.ac.uk+%3Cbr%3EThe+processing+request+you+submitted+for+0001_MR7+could+not+be+completed+at+this+time.+%3Cbr%3E%3Cbr%3E%3Cbr%3E+The+XNAT+technical+team+is+aware+of+the+issue+and+will+notify+you+when+it+has+been+resolved.%3Cbr%3E%3Cbr%3E%3Cbr%3E+The+stdout+and+the+error+log+files+are+available+as+attachments+for+your+perusal.%3Cbr%3E%3Cbr%3E%3Cbr%3E+We+appreciate+your+patience.++Please+contact+chris.xxxxx%40xxxxxxxx.ac.uk+with+questions+or+concerns.+%3C%2Fhtml%3E" DEBUG main httpclient.wire.header - >> "POST /data/services/mail/send HTTP/1.1[\r][\n]"
DEBUG main httpclient.wire.header - >> "Accept: text/plain, */*[\r][\n]"
DEBUG main httpclient.wire.header - >> "Content-Type: application/x-www-form-urlencoded[\r][\n]"
DEBUG main httpclient.wire.header - >> "Content-Length: 1285[\r][\n]"
DEBUG main httpclient.wire.header - >> "Authorization: Basic YjQ5OWU2YWItYzUyNy00MTc5LWI3ZDItZDA5NDNiOThmN2VlOjE0OTY5MTI1NDMxNTI=[\r][\n]"
DEBUG main httpclient.wire.header - >> "User-Agent: Jakarta Commons-HttpClient/3.1[\r][\n]"
DEBUG main httpclient.wire.header - >> "[\r][\n]"
DEBUG main httpclient.wire.content - >> "from=chris.xxxxx%40xxxxxxxxxx.ac.uk&to=Chris.xxxxx%40xxxxxxxx.ac.uk&to=xxxx.XNAT%40xxxxxxxx.ac.uk&subject=XNAT+update%3A+Processing+failed+for+0001_MR7&text=The+following+problems+were+encountered+by+the+user%28s%29+%0A+Chris.xxxxx%40xxxxxxxx.ac.uk+xxxx.XNAT%40xxxxxxxx.ac.uk+%0AThe+processing+request+you+submitted+for+0001_MR7+could+not+be+completed+at+this+time.+%0A%0A%0A+The+XNAT+technical+team+is+aware+of+the+issue+and+will+notify+you+when+it+has+been+resolved.%0A%0A%0A+The+stdout+and+the+error+log+files+are+available+as+attachments+for+your+perusal.%0A%0A%0A+We+appreciate+your+patience.++Please+contact+chris.xxxxx%40xxxxxxxx.ac.uk+with+questions+or+concerns.+&html=%3Chtml%3EThe+following+problems+were+encountered+by+the+user%28s%29+%3Cbr%3E+Chris.xxxxx%40xxxxxxxx.ac.uk+xxxx.XNAT%40xxxxxxxx.ac.uk+%3Cbr%3EThe+processing+request+you+submitted+for+0001_MR7+could+not+be+completed+at+this+time.+%3Cbr%3E%3Cbr%3E%3Cbr%3E+The+XNAT+technical+team+is+aware+of+the+issue+and+will+notify+you+when+it+has+been+resolved.%3Cbr%3E%3Cbr%3E%3Cbr%3E+The+stdout+and+the+error+log+files+are+available+as+attachments+for+your+perusal.%3Cbr%3E%3Cbr%3E%3Cbr%3E+We+appreciate+your+patience.++Please+contact+chris.xxxxx%40xxxxxxxx.ac.uk+with+questions+or+concerns.+%3C%2Fhtml%3E" DEBUG main httpclient.wire.header - >> "POST /data/services/mail/send HTTP/1.1[\r][\n]"
DEBUG main httpclient.wire.header - >> "Accept: text/plain, */*[\r][\n]"
DEBUG main httpclient.wire.header - >> "Content-Type: application/x-www-form-urlencoded[\r][\n]"
DEBUG main httpclient.wire.header - >> "Content-Length: 1285[\r][\n]"
DEBUG main httpclient.wire.header - >> "Authorization: Basic YjQ5OWU2YWItYzUyNy00MTc5LWI3ZDItZDA5NDNiOThmN2VlOjE0OTY5MTI1NDMxNTI=[\r][\n]"
DEBUG main httpclient.wire.header - >> "User-Agent: Jakarta Commons-HttpClient/3.1[\r][\n]"
DEBUG main httpclient.wire.header - >> "[\r][\n]"
DEBUG main httpclient.wire.content - >> "from=chris.xxxxx%40xxxxxxxxxx.ac.uk&to=Chris.xxxxx%40xxxxxxxx.ac.uk&to=xxxx.XNAT%40xxxxxxxx.ac.uk&subject=XNAT+update%3A+Processing+failed+for+0001_MR7&text=The+following+problems+were+encountered+by+the+user%28s%29+%0A+Chris.xxxxx%40xxxxxxxx.ac.uk+xxxx.XNAT%40xxxxxxxx.ac.uk+%0AThe+processing+request+you+submitted+for+0001_MR7+could+not+be+completed+at+this+time.+%0A%0A%0A+The+XNAT+technical+team+is+aware+of+the+issue+and+will+notify+you+when+it+has+been+resolved.%0A%0A%0A+The+stdout+and+the+error+log+files+are+available+as+attachments+for+your+perusal.%0A%0A%0A+We+appreciate+your+patience.++Please+contact+chris.xxxxx%40xxxxxxxx.ac.uk+with+questions+or+concerns.+&html=%3Chtml%3EThe+following+problems+were+encountered+by+the+user%28s%29+%3Cbr%3E+Chris.xxxxx%40xxxxxxxx.ac.uk+xxxx.XNAT%40xxxxxxxx.ac.uk+%3Cbr%3EThe+processing+request+you+submitted+for+0001_MR7+could+not+be+completed+at+this+time.+%3Cbr%3E%3Cbr%3E%3Cbr%3E+The+XNAT+technical+team+is+aware+of+the+issue+and+will+notify+you+when+it+has+been+resolved.%3Cbr%3E%3Cbr%3E%3Cbr%3E+The+stdout+and+the+error+log+files+are+available+as+attachments+for+your+perusal.%3Cbr%3E%3Cbr%3E%3Cbr%3E+We+appreciate+your+patience.++Please+contact+chris.xxxxx%40xxxxxxxx.ac.uk+with+questions+or+concerns.+%3C%2Fhtml%3E" DEBUG main httpclient.wire.header - >> "POST /data/services/mail/send HTTP/1.1[\r][\n]"
DEBUG main httpclient.wire.header - >> "Accept: text/plain, */*[\r][\n]"
DEBUG main httpclient.wire.header - >> "Content-Type: application/x-www-form-urlencoded[\r][\n]"
DEBUG main httpclient.wire.header - >> "Content-Length: 1285[\r][\n]"
DEBUG main httpclient.wire.header - >> "Authorization: Basic YjQ5OWU2YWItYzUyNy00MTc5LWI3ZDItZDA5NDNiOThmN2VlOjE0OTY5MTI1NDMxNTI=[\r][\n]"
DEBUG main httpclient.wire.header - >> "User-Agent: Jakarta Commons-HttpClient/3.1[\r][\n]"
DEBUG main httpclient.wire.header - >> "[\r][\n]"
DEBUG main httpclient.wire.content - >> "from=chris.xxxxx%40xxxxxxxxxx.ac.uk&to=Chris.xxxxx%40xxxxxxxx.ac.uk&to=xxxx.XNAT%40xxxxxxxx.ac.uk&subject=XNAT+update%3A+Processing+failed+for+0001_MR7&text=The+following+problems+were+encountered+by+the+user%28s%29+%0A+Chris.xxxxx%40xxxxxxxx.ac.uk+xxxx.XNAT%40xxxxxxxx.ac.uk+%0AThe+processing+request+you+submitted+for+0001_MR7+could+not+be+completed+at+this+time.+%0A%0A%0A+The+XNAT+technical+team+is+aware+of+the+issue+and+will+notify+you+when+it+has+been+resolved.%0A%0A%0A+The+stdout+and+the+error+log+files+are+available+as+attachments+for+your+perusal.%0A%0A%0A+We+appreciate+your+patience.++Please+contact+chris.xxxxx%40xxxxxxxx.ac.uk+with+questions+or+concerns.+&html=%3Chtml%3EThe+following+problems+were+encountered+by+the+user%28s%29+%3Cbr%3E+Chris.xxxxx%40xxxxxxxx.ac.uk+xxxx.XNAT%40xxxxxxxx.ac.uk+%3Cbr%3EThe+processing+request+you+submitted+for+0001_MR7+could+not+be+completed+at+this+time.+%3Cbr%3E%3Cbr%3E%3Cbr%3E+The+XNAT+technical+team+is+aware+of+the+issue+and+will+notify+you+when+it+has+been+resolved.%3Cbr%3E%3Cbr%3E%3Cbr%3E+The+stdout+and+the+error+log+files+are+available+as+attachments+for+your+perusal.%3Cbr%3E%3Cbr%3E%3Cbr%3E+We+appreciate+your+patience.++Please+contact+chris.xxxxx%40xxxxxxxx.ac.uk+with+questions+or+concerns.+%3C%2Fhtml%3E" ERROR main org.nrg.pipeline.utils.MailUtils - Message failed to send through REST service, retrying with direct SMTP.
org.springframework.web.client.ResourceAccessException: I/O error: Connection reset; nested exception is java.net.SocketException: Connection reset
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:453)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:415)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:320)
at org.nrg.mail.services.impl.RestBasedMailServiceImpl.sendMessage(RestBasedMailServiceImpl.java:169)
at org.nrg.pipeline.utils.MailUtils.send(MailUtils.java:96)
at org.nrg.pipeline.utils.MailUtils.send(MailUtils.java:73)
at org.nrg.pipeline.client.XNATPipelineLauncher.composeFailureMessage(XNATPipelineLauncher.java:245)
at org.nrg.pipeline.client.XNATPipelineLauncher.fail(XNATPipelineLauncher.java:316)
at org.nrg.pipeline.client.XNATPipelineLauncher.run(XNATPipelineLauncher.java:302)
at org.nrg.pipeline.client.XNATPipelineLauncher.main(XNATPipelineLauncher.java:260)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.read(InputRecord.java:480)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:709)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at java.io.FilterOutputStream.flush(FilterOutputStream.java:140)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at org.springframework.http.client.CommonsClientHttpRequest.executeInternal(CommonsClientHttpRequest.java:83)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:56)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:438)
... 9 more
ERROR main org.nrg.pipeline.client.XNATPipelineLauncher - Couldn't send email message
java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(ArrayList.java:390)
at org.apache.commons.mail.Email.toInternetAddressArray(Email.java:1378)
at org.apache.commons.mail.Email.buildMimeMessage(Email.java:1154)
at org.apache.commons.mail.MultiPartEmail.buildMimeMessage(MultiPartEmail.java:254)
at org.apache.commons.mail.HtmlEmail.buildMimeMessage(HtmlEmail.java:513)
at org.apache.commons.mail.Email.send(Email.java:1266)
at org.nrg.pipeline.utils.MailUtils.send(MailUtils.java:106)
at org.nrg.pipeline.utils.MailUtils.send(MailUtils.java:73)
at org.nrg.pipeline.client.XNATPipelineLauncher.composeFailureMessage(XNATPipelineLauncher.java:245)
at org.nrg.pipeline.client.XNATPipelineLauncher.fail(XNATPipelineLauncher.java:316)
at org.nrg.pipeline.client.XNATPipelineLauncher.run(XNATPipelineLauncher.java:302)
at org.nrg.pipeline.client.XNATPipelineLauncher.main(XNATPipelineLauncher.java:260)