[Bug 3905] Deadlock when channel window adjust is stuck behind sftp read requests

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Mon Jul 13 22:02:04 AEST 2026


https://bugzilla.mindrot.org/show_bug.cgi?id=3905

Matt Johnston <matt at ucc.asn.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--- Comment #3 from Matt Johnston <matt at ucc.asn.au> ---
Belated thanks for your analysis Damien.

My implementation here didn't have a separate queue for channel data,
which explains the deadlock. It took a while to be confident what's
going on.

I've resolved it at my end by adding a queue between the SFTP subsystem
and the SSH channel subsystem. At least for the test case here with
current program versions, adding a queue sized as 3x SSH_FXP_READ
packets is sufficient (30 bytes each for a 5 byte handle), since
current OpenSSH sends a window adjust every ~ 3*32768 bytes. Of course
that might be a bit brittle with different implementations.

-- 
You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.


More information about the openssh-bugs mailing list