[ 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: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org