[ 
https://issues.apache.org/jira/browse/SSHD-911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16829954#comment-16829954
 ] 

Goldstein Lyor commented on SSHD-911:
-------------------------------------

I am a bit confused - in the new deadlock you report it seems to revolve only 
around the {{encodeLock}} so I don't see how a deadlock can occur. On the other 
hand, you mention {{AbstractCloseable#lock}} as the participant in the 
deadlock. I am therefore not sure who is locking what and why is it causing a 
deadlock.

Nevertheless, I took a closer look at the  {{AbstractCloseable#lock}} and it 
seems that code rather "abuses" it. However, figuring out where is it really 
needed and where it isn't is quite an upheaval, so I have opened a *separate* 
issue for it (SSHD-912). 

That being said, the only way I can figure out a deadlock between the  
{{encodeLock}} and the {{AbstractCloseable#lock}}  is if thread A somehow lock 
{{AbstractCloseable#lock}} and tries to write a packet (which seems a possible 
scenario) while thread B tries to lock {{AbstractCloseable#lock}} while already 
holding {{encodeLock}} - which my current code analysis does not seem to 
indicate is possible (but I'll keep looking).

> Deadlock in Apache SshClient used for local port forwarding
> -----------------------------------------------------------
>
>                 Key: SSHD-911
>                 URL: https://issues.apache.org/jira/browse/SSHD-911
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 2.2.0
>            Reporter: Roberto Deandrea
>            Assignee: Goldstein Lyor
>            Priority: Major
>         Attachments: spxp.usrdump.20382...@aix72.dmz.20190417205240026.log, 
> spxp.usrdump.33095...@aix72.dmz.20190423123751496.log
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Hi Lyor,
> We have an Apache SSHD 2.2.0 client and server SSH pair used for local port 
> forwarding of different protocols.
> In our lab environment we found that sometimes when the SSH client for any 
> reason is disconnecting from the SSH server, a DEADLOCK happens on the 
> sshClient regarding the threads in the thread pool.
> We are using builtin nio2 implementation for our SshClient.
> The deadlock is regarding the ClientChannelPendingMessagesQueue class added 
> to fix routing problems for local port forwarding in the past.
> Attached you can find the thread dump taken after the deadlock happend.
>  
> Can you please troubleshoot this problem ?
> [^spxp.usrdump.20382...@aix72.dmz.20190417205240026.log]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to