Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-38344

Catch and log any uncaught exceptions

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • remoting
    • None

      Found following stack traces when preparing for my Jenkins World talk:

      Sep 09, 2016 2:17:07 PM hudson.util.ExceptionCatchingThreadFactory uncaughtException
      WARNING: Thread Computer.threadPoolForRemoting [#3] terminated unexpectedly
      java.lang.RuntimeException: Delegated task threw Exception/Error
      	at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1429)
      	at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535)
      	at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:813)
      	at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)
      	at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
      	at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processRead(SSLEngineFilterLayer.java:336)
      	at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecv(SSLEngineFilterLayer.java:116)
      	at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:669)
      	at org.jenkinsci.remoting.protocol.NetworkLayer.onRead(NetworkLayer.java:138)
      	at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:148)
      	at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:697)
      	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NullPointerException
      	at sun.security.ssl.SunX509KeyManagerImpl.getAliases(SunX509KeyManagerImpl.java:359)
      	at sun.security.ssl.SunX509KeyManagerImpl.getClientAliases(SunX509KeyManagerImpl.java:308)
      	at sun.security.ssl.SunX509KeyManagerImpl.chooseClientAlias(SunX509KeyManagerImpl.java:218)
      	at sun.security.ssl.SunX509KeyManagerImpl.chooseEngineClientAlias(SunX509KeyManagerImpl.java:241)
      	at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:806)
      	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:348)
      	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
      	at sun.security.ssl.Handshaker$1.run(Handshaker.java:919)
      	at sun.security.ssl.Handshaker$1.run(Handshaker.java:916)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1369)
      	at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processRead(SSLEngineFilterLayer.java:371)
      	... 9 more
      

      In some cases this can lead to a stuck thread, so better option is to catch, log and close the connection

            stephenconnolly Stephen Connolly
            stephenconnolly Stephen Connolly
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: