-
Bug
-
Resolution: Fixed
-
Minor
The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost.
Plan of action:
Remoting
Threads | Expected Behavior |
---|---|
SynchronousCommandTransport.ReaderThread | Log, terminate channel (see current generic error handling here) |
PortForwarder | Log, call close() |
CopyThread | Log |
Engine | Log, kill remoting |
PingThread | Log, call onDead(Throwable) |
Core
Threads | Expected Behavior |
---|---|
PlainCLIProtocol.EitherSide.Reader | |
TaskThread | |
ViewJob.ReloadThread | |
Executor | |
Proc.LocalProc.StdinCopyThread | |
AbstractNodeMonitorDescriptor.Record | |
TcpSlaveAgentListener | Log, call shutdown() |
TcpSlaveAgentListener.ConnectionHandler | Log, close socket |
UDPBroadcastThread | |
StreamCopyThread | |
AsynchronousAdministrativeMonitor.FixThread |
- relates to
-
JENKINS-33395 Jenkins should install a default UncaughtExceptionHander
-
- Resolved
-
-
JENKINS-28499 tcpSlaveAgentListener not found
-
- Reopened
-
-
JENKINS-49415 Install additional UncaughtExceptionHandler in Engine
-
- Resolved
-
- links to
(1 links to)
[JENKINS-38711] slave.jar should install UncaughtExceptionHandler
Link |
New:
This issue relates to |
Description | New: The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. |
Assignee | New: Oleg Nenashev [ oleg_nenashev ] |
Epic Link | New: JENKINS-38833 [ 175240 ] |
Assignee | Original: Oleg Nenashev [ oleg_nenashev ] | New: Rebecca Ysteboe [ rysteboe ] |
Status | Original: Open [ 1 ] | New: In Progress [ 3 ] |
Description | Original: The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. |
New:
The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. Plan of action (not started yet): *Remoting* ||Threads ||Expected Behavior|| |SynchronousCommandTransport.ReaderThread| | |PortForwarder| | |CopyThread| | |Engine| | |PingThread| | |Copier| | *Core* ||Threads ||Expected Behavior|| |PlainCLIProtocol.EitherSide.Reader| | |TaskThread| | |ReloadThread| | |Executor| | |Proc.LocalProc.StdinCopyThread| | |AbstractNodeMonitorDescriptor.Record| | |TcpSlaveAgentListener| | |TcpSlaveAgentListener.ConnectionHandler| | |UDPBroadcastThread| | |StreamCopyThread| | |AsynchronousAdministrativeMonitor.FixThread| | |
Description |
Original:
The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. Plan of action (not started yet): *Remoting* ||Threads ||Expected Behavior|| |SynchronousCommandTransport.ReaderThread| | |PortForwarder| | |CopyThread| | |Engine| | |PingThread| | |Copier| | *Core* ||Threads ||Expected Behavior|| |PlainCLIProtocol.EitherSide.Reader| | |TaskThread| | |ReloadThread| | |Executor| | |Proc.LocalProc.StdinCopyThread| | |AbstractNodeMonitorDescriptor.Record| | |TcpSlaveAgentListener| | |TcpSlaveAgentListener.ConnectionHandler| | |UDPBroadcastThread| | |StreamCopyThread| | |AsynchronousAdministrativeMonitor.FixThread| | |
New:
The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. Plan of action (not started yet): *Remoting* ||Threads ||Expected Behavior|| |SynchronousCommandTransport.ReaderThread| Log, terminate channel (see current generic error handling [here|https://github.com/jenkinsci/remoting/blob/94e90bbdf656d9b2695aa27282d5ad86deda342e/src/main/java/hudson/remoting/SynchronousCommandTransport.java#L97-L100]) | |PortForwarder| Log, call close()| |CopyThread| Log| |Engine| Log, kill remoting| |PingThread| Log, call onDead(Throwable)| *Core* ||Threads ||Expected Behavior|| |PlainCLIProtocol.EitherSide.Reader| | |TaskThread| | |ViewJob.ReloadThread| | |Executor| | |Proc.LocalProc.StdinCopyThread| | |AbstractNodeMonitorDescriptor.Record| | |TcpSlaveAgentListener| Log, call shutdown()| |TcpSlaveAgentListener.ConnectionHandler| Log, close socket| |UDPBroadcastThread| | |StreamCopyThread| | |AsynchronousAdministrativeMonitor.FixThread| | |
Description |
Original:
The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. Plan of action (not started yet): *Remoting* ||Threads ||Expected Behavior|| |SynchronousCommandTransport.ReaderThread| Log, terminate channel (see current generic error handling [here|https://github.com/jenkinsci/remoting/blob/94e90bbdf656d9b2695aa27282d5ad86deda342e/src/main/java/hudson/remoting/SynchronousCommandTransport.java#L97-L100]) | |PortForwarder| Log, call close()| |CopyThread| Log| |Engine| Log, kill remoting| |PingThread| Log, call onDead(Throwable)| *Core* ||Threads ||Expected Behavior|| |PlainCLIProtocol.EitherSide.Reader| | |TaskThread| | |ViewJob.ReloadThread| | |Executor| | |Proc.LocalProc.StdinCopyThread| | |AbstractNodeMonitorDescriptor.Record| | |TcpSlaveAgentListener| Log, call shutdown()| |TcpSlaveAgentListener.ConnectionHandler| Log, close socket| |UDPBroadcastThread| | |StreamCopyThread| | |AsynchronousAdministrativeMonitor.FixThread| | |
New:
The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. Plan of action (not started yet): *Remoting* ||Threads ||Expected Behavior|| |[SynchronousCommandTransport.ReaderThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/SynchronousCommandTransport.java#L42]| Log, terminate channel (see current generic error handling [here|https://github.com/jenkinsci/remoting/blob/94e90bbdf656d9b2695aa27282d5ad86deda342e/src/main/java/hudson/remoting/SynchronousCommandTransport.java#L97-L100]) | |[PortForwarder|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/forward/PortForwarder.java]| Log, call close()| |[CopyThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/forward/CopyThread.java#L14]| Log| |[Engine|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/Engine.java]| Log, kill remoting| |[PingThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/PingThread.java#L51]| Log, call onDead(Throwable)| *Core* ||Threads ||Expected Behavior|| |PlainCLIProtocol.EitherSide.Reader| | |TaskThread| | |ViewJob.ReloadThread| | |Executor| | |Proc.LocalProc.StdinCopyThread| | |AbstractNodeMonitorDescriptor.Record| | |[TcpSlaveAgentListener|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/TcpSlaveAgentListener.java#L81]| Log, call shutdown()| |[TcpSlaveAgentListener.ConnectionHandler|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/TcpSlaveAgentListener.java#L190]| Log, close socket| |UDPBroadcastThread| | |StreamCopyThread| | |AsynchronousAdministrativeMonitor.FixThread| | |
Description |
Original:
The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. Plan of action (not started yet): *Remoting* ||Threads ||Expected Behavior|| |[SynchronousCommandTransport.ReaderThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/SynchronousCommandTransport.java#L42]| Log, terminate channel (see current generic error handling [here|https://github.com/jenkinsci/remoting/blob/94e90bbdf656d9b2695aa27282d5ad86deda342e/src/main/java/hudson/remoting/SynchronousCommandTransport.java#L97-L100]) | |[PortForwarder|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/forward/PortForwarder.java]| Log, call close()| |[CopyThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/forward/CopyThread.java#L14]| Log| |[Engine|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/Engine.java]| Log, kill remoting| |[PingThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/PingThread.java#L51]| Log, call onDead(Throwable)| *Core* ||Threads ||Expected Behavior|| |PlainCLIProtocol.EitherSide.Reader| | |TaskThread| | |ViewJob.ReloadThread| | |Executor| | |Proc.LocalProc.StdinCopyThread| | |AbstractNodeMonitorDescriptor.Record| | |[TcpSlaveAgentListener|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/TcpSlaveAgentListener.java#L81]| Log, call shutdown()| |[TcpSlaveAgentListener.ConnectionHandler|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/TcpSlaveAgentListener.java#L190]| Log, close socket| |UDPBroadcastThread| | |StreamCopyThread| | |AsynchronousAdministrativeMonitor.FixThread| | |
New:
The slave.jar should setup an UncaughtExceptionHandler to make it easier to diagnose things like NoClassDefFoundErrors which are impossible to debug once the original stack trace is lost. Plan of action: *Remoting* ||Threads ||Expected Behavior|| |[SynchronousCommandTransport.ReaderThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/SynchronousCommandTransport.java#L42]| Log, terminate channel (see current generic error handling [here|https://github.com/jenkinsci/remoting/blob/94e90bbdf656d9b2695aa27282d5ad86deda342e/src/main/java/hudson/remoting/SynchronousCommandTransport.java#L97-L100]) | |[PortForwarder|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/forward/PortForwarder.java]| Log, call close()| |[CopyThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/forward/CopyThread.java#L14]| Log| |[Engine|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/Engine.java]| Log, kill remoting| |[PingThread|https://github.com/jenkinsci/remoting/blob/master/src/main/java/hudson/remoting/PingThread.java#L51]| Log, call onDead(Throwable)| *Core* ||Threads ||Expected Behavior|| |PlainCLIProtocol.EitherSide.Reader| | |TaskThread| | |ViewJob.ReloadThread| | |Executor| | |Proc.LocalProc.StdinCopyThread| | |AbstractNodeMonitorDescriptor.Record| | |[TcpSlaveAgentListener|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/TcpSlaveAgentListener.java#L81]| Log, call shutdown()| |[TcpSlaveAgentListener.ConnectionHandler|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/TcpSlaveAgentListener.java#L190]| Log, close socket| |UDPBroadcastThread| | |StreamCopyThread| | |AsynchronousAdministrativeMonitor.FixThread| | |