[
https://issues.apache.org/jira/browse/QPID-7623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Keith Wall updated QPID-7623:
-----------------------------
Assignee: Alex Rudyy (was: Keith Wall)
> "SEVERE: RuntimeException while executing runnable" reported by Guava to
> stderr if a state transition method throws exception
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-7623
> URL: https://issues.apache.org/jira/browse/QPID-7623
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: qpid-java-6.0, qpid-java-6.1
> Reporter: Keith Wall
> Assignee: Alex Rudyy
> Priority: Minor
> Fix For: qpid-java-7.0
>
>
> As reported in QPID-7311, a state change that throws an exception, may cause
> a warning like the following to be reported to stderr:
> {noformat}
> SEVERE: RuntimeException while executing runnable
> com.google.common.util.concurrent.Futures$6@5b83d60e with executor
> org.apache.qpid.server.configuration.updater.TaskExecutorImpl@2
> c5a6012
> org.apache.qpid.server.configuration.IllegalConfigurationException: Unable to
> get certificate for 'test' from 'https://google.com'
> at
> org.apache.qpid.server.security.SiteSpecificTrustStoreImpl$2.call(SiteSpecificTrustStoreImpl.java:339)
> at
> org.apache.qpid.server.security.SiteSpecificTrustStoreImpl$2.call(SiteSpecificTrustStoreImpl.java:302)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.net.ConnectException: Connection timed out: connect
> at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
> at
> java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
> at
> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
> at
> java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
> at
> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
> at java.net.Socket.connect(Socket.java:579)
> at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
> at
> org.apache.qpid.server.security.SiteSpecificTrustStoreImpl$2.call(SiteSpecificTrustStoreImpl.java:316)
> ... 5 more
> {noformat}
> The problem is a general one rather than being specific to SSTS.
> The create exception handler involved code at lines
> AbstractConfiguredObject.java:1083 unconditional re-raises the exception.
> The exception then goes uncaught and is logged by Guava at line
> ExecutionList.java:160. Guava's behaviour here is documented in
> ListenableFuture.java:103.
> Whilst ugly, this actually causes no functional harm. The child creation
> error is still reported to the end user, and the child is still deregistered
> from the parent. However, the appearance of the stack on stderr will cause
> alarm to end-users.
> The cause of the problem is AbstractConfiguredObject.java:1083. The
> {{FutureCallback#onFailure}} impl should not be rethrowing the exception.
> Setting returnValue's exception is sufficient.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]