Repository navigation
[JENKINS-18879] Collecting finbugs analysis results randomly fails with exception #746
Description
It started some weeks ago that jobs with long running findbugs tasks started to fail while collecting the results. So every morning I have to restart a job or two to get everything back to blue.
This exception seems to be random. It only ever occurs while the findbugs plugin is running and not during any other static code analysis. Any plugin that runs afterwards fails with a similar message that the connection is closed.
Another strange thing is that afterwards I can't see the slave log anymore. All I get is the wait image on the page but no log ever loads again until a restart of the master. A simple restart of the slave node does not change anything although jobs are running fine.
ERROR: Publisher hudson.plugins.findbugs.FindBugsPublisher aborted due to exception
hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.io.IOException: Sorry, this connection is closed.
at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41)
at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34)
at hudson.remoting.Request.call(Request.java:174)
at hudson.remoting.Channel.call(Channel.java:713)
at hudson.FilePath.act(FilePath.java:895)
at hudson.FilePath.act(FilePath.java:879)
at hudson.plugins.findbugs.FindBugsPublisher.perform(FindBugsPublisher.java:161)
at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:144)
at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:334)
at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:27)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726)
at hudson.model.Run.execute(Run.java:1618)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:247)
Caused by: hudson.remoting.RequestAbortedException: java.io.IOException: Sorry, this connection is closed.
at hudson.remoting.Request.abort(Request.java:299)
at hudson.remoting.Channel.terminate(Channel.java:773)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69)
Caused by: java.io.IOException: Sorry, this connection is closed.
at com.trilead.ssh2.transport.TransportManager.sendMessage(TransportManager.java:642)
at com.trilead.ssh2.channel.Channel.freeupWindow(Channel.java:378)
at com.trilead.ssh2.channel.ChannelManager.getChannelData(ChannelManager.java:953)
at com.trilead.ssh2.channel.ChannelInputStream.read(ChannelInputStream.java:58)
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2308)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2321)
at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2804)
at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2862)
at java.io.ObjectInputStream.readString(ObjectInputStream.java:1636)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1339)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1704)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:499)
at java.lang.Throwable.readObject(Throwable.java:913)
at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1891)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at hudson.remoting.Command.readFrom(Command.java:92)
at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:72)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
Caused by: java.io.IOException: Assertion error: sendMessage may never be invoked by the receiver thread!
at com.trilead.ssh2.transport.TransportManager.sendMessage(TransportManager.java:634)
at com.trilead.ssh2.channel.Channel.freeupWindow(Channel.java:378)
at com.trilead.ssh2.channel.Channel$Output.write(Channel.java:97)
at com.trilead.ssh2.channel.ChannelManager.msgChannelExtendedData(ChannelManager.java:858)
at com.trilead.ssh2.channel.ChannelManager.handleMessage(ChannelManager.java:1517)
at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:780)
at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:475)
at java.lang.Thread.run(Thread.java:724)
Originally reported by
rbaradari, imported from: Collecting finbugs analysis results randomly fails with exception
- assignee:
kohsuke
- status: Resolved
- priority: Critical
- component(s): ssh-slaves-plugin
- label(s): 1.532.1-fixed, findbugs, remote, slave
- resolution: Fixed
- resolved: 2013-11-02T11:27:16+00:00
- votes: 2
- watchers: 7
- imported: 20251211-223321
Raw content of original issue
It started some weeks ago that jobs with long running findbugs tasks started to fail while collecting the results. So every morning I have to restart a job or two to get everything back to blue.
This exception seems to be random. It only ever occurs while the findbugs plugin is running and not during any other static code analysis. Any plugin that runs afterwards fails with a similar message that the connection is closed.
Another strange thing is that afterwards I can't see the slave log anymore. All I get is the wait image on the page but no log ever loads again until a restart of the master. A simple restart of the slave node does not change anything although jobs are running fine.
ERROR: Publisher hudson.plugins.findbugs.FindBugsPublisher aborted due to exception hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.io.IOException: Sorry, this connection is closed. at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41) at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34) at hudson.remoting.Request.call(Request.java:174) at hudson.remoting.Channel.call(Channel.java:713) at hudson.FilePath.act(FilePath.java:895) at hudson.FilePath.act(FilePath.java:879) at hudson.plugins.findbugs.FindBugsPublisher.perform(FindBugsPublisher.java:161) at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:144) at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:334) at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:27) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:726) at hudson.model.Run.execute(Run.java:1618) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:247) Caused by: hudson.remoting.RequestAbortedException: java.io.IOException: Sorry, this connection is closed. at hudson.remoting.Request.abort(Request.java:299) at hudson.remoting.Channel.terminate(Channel.java:773) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69) Caused by: java.io.IOException: Sorry, this connection is closed. at com.trilead.ssh2.transport.TransportManager.sendMessage(TransportManager.java:642) at com.trilead.ssh2.channel.Channel.freeupWindow(Channel.java:378) at com.trilead.ssh2.channel.ChannelManager.getChannelData(ChannelManager.java:953) at com.trilead.ssh2.channel.ChannelInputStream.read(ChannelInputStream.java:58) at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2308) at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2321) at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(ObjectInputStream.java:2804) at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2862) at java.io.ObjectInputStream.readString(ObjectInputStream.java:1636) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1339) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1704) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:499) at java.lang.Throwable.readObject(Throwable.java:913) at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1891) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1913) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) at hudson.remoting.Command.readFrom(Command.java:92) at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:72) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48) Caused by: java.io.IOException: Assertion error: sendMessage may never be invoked by the receiver thread! at com.trilead.ssh2.transport.TransportManager.sendMessage(TransportManager.java:634) at com.trilead.ssh2.channel.Channel.freeupWindow(Channel.java:378) at com.trilead.ssh2.channel.Channel$Output.write(Channel.java:97) at com.trilead.ssh2.channel.ChannelManager.msgChannelExtendedData(ChannelManager.java:858) at com.trilead.ssh2.channel.ChannelManager.handleMessage(ChannelManager.java:1517) at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:780) at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:475) at java.lang.Thread.run(Thread.java:724)
- environment:
Master/Slave on Linux x64 with Java 1.7.0_21 and Jenkins ver. 1.524-SNAPSHOT (rc-07/16/2013 13:36 GMT-kohsuke)
Activity
jenkins-infra-bot commentedon Jul 23, 2013
Raw content of original comment:
An alternative stack trace from a different slave. This time the slave was offline for a very short time after the build.
jenkins-infra-bot commentedon Jul 26, 2013
Raw content of original comment:
I downgraded our installation to Jenkins ver. 1.521 but the problem still occurred over night.
Jenkins SSH Slaves plugin is at 0.27
Static Analysis Utilities is at 1.50
FindBugs Plug-in is at 4.49
jenkins-infra-bot commentedon Aug 1, 2013
Raw content of original comment:
I'm not sure if this is related but directly after a restart of Jenkins I see this in the log:
Any chance that such an interruption might go stray and hit a transport channel thread?
jenkins-infra-bot commentedon Aug 2, 2013
Raw content of original comment:
Upgraded to Jenkins ver. 1.525
Still the same problem. Every morning I have to restart jobs that failed over night.
jenkins-infra-bot commentedon Aug 2, 2013
Raw content of original comment:
Can you please check if this happens with the LTS Jenkins version, too?
jenkins-infra-bot commentedon Aug 2, 2013
Raw content of original comment:
I'll try to downgrade to the LTS monday morning as I can't change it during the day.
jenkins-infra-bot commentedon Aug 6, 2013
Raw content of original comment:
We are on 1.509.2 now. And all was well last night. I'll see what happens tonight and then I can upgrade again to another candidate so we can figure out when this started to break. Do you have a good guess?
If there is no error the next night I guess this is not a problem with findbugs-plugin as that version is still the same but instead with core or remote.
Also here is the complete list of the plugins:
jenkins-infra-bot commentedon Aug 6, 2013
Raw content of original comment:
Ok, thanks for checking. Maybe the new remote class loader has some timeout problems?
jenkins-infra-bot commentedon Aug 9, 2013
Raw content of original comment:
Can you please check if updating to the latest ssh-slaves plugin helps?
jenkins-infra-bot commentedon Aug 12, 2013
Raw content of original comment:
Ok I'll upgrade the ssh-slaves plugin and go to 1.526.
On a side note I upgraded to 1.518 and everything was fine for last few days. So the problem is most likely caused by the remote changes in 1.519.
Is there any way I can create useful logging for this problem?
jenkins-infra-bot commentedon Aug 12, 2013
Raw content of original comment:
Updating the plugins did not help.
Jobs randomly fail on Jenkins ver. 1.526
with the updated plugins:
ssh-slaves 1.2
ssh-credentials 1.3
credentials 1.6
jenkins-infra-bot commentedon Sep 13, 2013
Raw content of original comment:
same thing happening for me: Latest version of Jenkins (1.530) and latest version of all plugins
jenkins-infra-bot commentedon Sep 13, 2013
Raw content of original comment:
Geoff, this is a different stacktrace, not related to ssh-slaves. Or did you paste only a part of the stack trace?
jenkins-infra-bot commentedon Sep 17, 2013
Raw content of original comment:
Ulli, I have created a new ticket to capture the information for the issue I am seeing - JENKINS-19619">
JENKINS-19619It seems to be related to Findbugs and ssh slaves.
jenkins-infra-bot commentedon Sep 25, 2013
Raw content of original comment:
Can you please check if your slave log has a lot of findbugs messages? Please see JENKINS-19619">
JENKINS-19619for details.8 remaining items
jenkins-infra-bot commentedon Oct 22, 2013
Raw content of original comment:
I upgraded our installation to Jenkins ver. 1.536. I will report back in a few days if it is fixed.
jenkins-infra-bot commentedon Oct 28, 2013
Raw content of original comment:
The builds have been stable during the last week.
jenkins-infra-bot commentedon Nov 2, 2013
Raw content of original comment:
Code changed in jenkins
User: Stephen Connolly
Path:
core/pom.xml
http://jenkins-ci.org/commit/jenkins/1bb06ada301496ebed6d212188d1b7c9d006317b
Log:
[FIXED JENKINS-18836][FIXED JENKINS-18879][FIXED JENKINS-19619] Upgrade trilead-ssh to version with the fix
(cherry picked from commit bb265c5e95b0fe39128720b903914236962db41b)
Conflicts:
changelog.html
jenkins-infra-bot commentedon May 19, 2014
Raw content of original comment:
Code changed in jenkins
User: Stephen Connolly
Path:
src/com/trilead/ssh2/channel/Channel.java
http://jenkins-ci.org/commit/trilead-ssh2/5811ddd7ae15670a4f9ad345352613b3f2f2db97
Log:
JENKINS-22938">
JENKINS-22938SSH slave connections die after the slave outputs 4MB of stderr, usually during findbugs analysisThe fix for JENKINS-18836">
JENKINS-18836, JENKINS-18879">JENKINS-18879, JENKINS-19619">JENKINS-19619was incorrect in its analysis.jenkins-infra-bot commentedon Dec 12, 2025
[Original
is_duplicated_byfrom Jira: JENKINS-19619]jenkins-infra-bot commentedon Dec 12, 2025
[Original
relates_tofrom Jira: JENKINS-18836]