bugzilla-daemon at bugzilla.mindrot.org
2017-Apr-07 16:25 UTC
[Bug 2707] New: mux_client_hello_exchange: write packet: Broken pipe when timeout is about to expire
https://bugzilla.mindrot.org/show_bug.cgi?id=2707
Bug ID: 2707
Summary: mux_client_hello_exchange: write packet: Broken pipe
when timeout is about to expire
Product: Portable OpenSSH
Version: 7.4p1
Hardware: Other
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: ssh
Assignee: unassigned-bugs at mindrot.org
Reporter: kustodian at gmail.com
When ControlMaster and ControlPersist are used the ssh client will
sometimes throw a 'mux_client_hello_exchange: write packet: Broken
pipe' error when it tries to connect to the socket which is just about
to expire.
This issue is very hard to reproduce, I noticed it while I was working
with Ansible with a lot of hosts. To reproduce it you have to:
1. Enable ControlMaster and set ControlPersist=60,
2. Then try to connect to a lot of hosts (100+ in my test case),
3. Wait about 55-58 seconds and then try to connect again.
Out of 100 hosts, on about 2-10 hosts (depending on the case) Ansible
will fail to connect over ssh with ssh returning the error mentioned
above. Here is the link to the issue in Ansible
https://github.com/ansible/ansible/issues/16731 which has a playbook
which can reproduce this bug. This issue should be resolved in Ansible
version 2.4 when it's released, but this is still an issue with the SSH
client, and not Ansible.
It's like there is some race condition with the ControlPersist socket
expiring and being reused by ssh.
--
You are receiving this mail because:
You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2017-Jun-02 05:11 UTC
[Bug 2707] mux_client_hello_exchange: write packet: Broken pipe when timeout is about to expire
https://bugzilla.mindrot.org/show_bug.cgi?id=2707
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |djm at mindrot.org,
| |dtucker at zip.com.au
Status|NEW |ASSIGNED
Assignee|unassigned-bugs at mindrot.org |djm at mindrot.org
Attachment #2987| |ok?(dtucker at zip.com.au)
Flags| |
--- Comment #1 from Damien Miller <djm at mindrot.org> ---
Created attachment 2987
--> https://bugzilla.mindrot.org/attachment.cgi?id=2987&action=edit
don't fatal on mux establishment errors
We already fall back from some errors in the mux setup path. This patch
extends this to falling back for errors while writing to the mux master
and protocol negotiation failures.
--
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.
bugzilla-daemon at bugzilla.mindrot.org
2017-Jun-02 05:11 UTC
[Bug 2707] mux_client_hello_exchange: write packet: Broken pipe when timeout is about to expire
https://bugzilla.mindrot.org/show_bug.cgi?id=2707
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |2698
Referenced Bugs:
https://bugzilla.mindrot.org/show_bug.cgi?id=2698
[Bug 2698] Tracking bug for OpenSSH 7.6 release
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2017-Jun-09 04:56 UTC
[Bug 2707] mux_client_hello_exchange: write packet: Broken pipe when timeout is about to expire
https://bugzilla.mindrot.org/show_bug.cgi?id=2707
Darren Tucker <dtucker at zip.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #2987|ok?(dtucker at zip.com.au) |ok+
Flags| |
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2017-Jun-09 06:47 UTC
[Bug 2707] mux_client_hello_exchange: write packet: Broken pipe when timeout is about to expire
https://bugzilla.mindrot.org/show_bug.cgi?id=2707
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #2 from Damien Miller <djm at mindrot.org> ---
Patch applied. This will be in OpenSSH 7.6
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2018-Apr-06 02:26 UTC
[Bug 2707] mux_client_hello_exchange: write packet: Broken pipe when timeout is about to expire
https://bugzilla.mindrot.org/show_bug.cgi?id=2707
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
--- Comment #3 from Damien Miller <djm at mindrot.org> ---
Close all resolved bugs after release of OpenSSH 7.7.
--
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.
Reasonably Related Threads
- [Bug 2420] New: Race condition regarding ControlPersist and ControlMaster=auto
- Does ssh need sendfd in pledge() call?
- [Bug 2356] New: inheritance of options not working as documented + HostName leads to recursive reparsing isn't documented
- [Bug 3220] New: Possible bug if ControlMaster + ControlPersist and `-t`
- Uniquely Identifying the Local TTY of an SSH Connection