|
||||||||
|
This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators. For more information on JIRA, see: http://www.atlassian.com/software/jira |
||||||||
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Actually now that I think about it more afterDisconnect is synchronized that means they are all likely blocking because a single one is blocking somewhere else in that method. I find this thread to be the only one in afterDisconnect not BLOCKING on line 1187:
"Channel reader thread: bare-trusty-rax-iad-1330909" prio=5 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:503)
com.trilead.ssh2.channel.FifoBuffer.read(FifoBuffer.java:212)
com.trilead.ssh2.channel.Channel$Output.read(Channel.java:127)
com.trilead.ssh2.channel.ChannelManager.getChannelData(ChannelManager.java:946)
com.trilead.ssh2.channel.ChannelInputStream.read(ChannelInputStream.java:58)
com.trilead.ssh2.SFTPv3Client.readBytes(SFTPv3Client.java:215)
com.trilead.ssh2.SFTPv3Client.receiveMessage(SFTPv3Client.java:240)
com.trilead.ssh2.SFTPv3Client.init(SFTPv3Client.java:864)
com.trilead.ssh2.SFTPv3Client.<init>(SFTPv3Client.java:108)
com.trilead.ssh2.SFTPv3Client.<init>(SFTPv3Client.java:119)
hudson.plugins.sshslaves.SSHLauncher.afterDisconnect(SSHLauncher.java:1213)
hudson.slaves.SlaveComputer$2.onClosed(SlaveComputer.java:443)
hudson.remoting.Channel.terminate(Channel.java:822)
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69)
Which leads me to two questions. 1. Why would the above hang indefinitely? and 2 does this method really need to be synchronized? could we synchronize around access to data that actually needs to be synchronized instead?