bugzilla-daemon at mindrot.org
2022-Jun-29 18:01 UTC
[Bug 3454] New: client dies with exit code 141 (SIGPIPE) when ControlMaster times out during mux_client_hello_exchange()
https://bugzilla.mindrot.org/show_bug.cgi?id=3454
Bug ID: 3454
Summary: client dies with exit code 141 (SIGPIPE) when
ControlMaster times out during
mux_client_hello_exchange()
Product: Portable OpenSSH
Version: 8.9p1
Hardware: amd64
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: ssh
Assignee: unassigned-bugs at mindrot.org
Reporter: noamlewis+openssh-bugzilla at google.com
If the client tries to start talking to a ControlMaster just as it's
exiting (due to ControlPersist timeout), it will fail with exit code
141 (SIGPIPE).
To reproduce:
( while true; do \
sleep 0.5 ; \
gdb -ex r -ex q --args \
ssh -o ControlMaster=auto \
-o ControlPath=~/.ssh/elsa-ctrl-%C \
-o ControlPersist=1 127.0.0.1 -- touch /tmp/thingy ; \
done )
(You might need to fiddle with the sleep time)
Program received signal SIGPIPE, Broken pipe.
0x00007ffff7b38f33 in __GI___libc_write (fd=fd at entry=3,
buf=buf at entry=0x55555565e060, nbytes=nbytes at entry=12) at
../sysdeps/unix/sysv/linux/write.c:26
(gdb) bt
#0 0x00007ffff7b38f33 in __GI___libc_write (fd=fd at entry=3,
buf=buf at entry=0x55555565e060, nbytes=nbytes at entry=12) at
../sysdeps/unix/sysv/linux/write.c:26
#1 0x0000555555583380 in mux_client_write_packet (fd=fd at entry=3,
m=m at entry=0x55555565deb0) at ../../mux.c:1513
#2 0x0000555555585944 in mux_client_hello_exchange (fd=3) at
../../mux.c:1589
#3 muxclient (path=0x55555565ba60
"/home/noamlewis/.ssh/elsa-ctrl-cfbf228b3cff12162e33cbe54c12340af8f78155")
at ../../mux.c:2297
#4 0x0000555555561882 in main (ac=<optimized out>, av=<optimized
out>)
at ../../ssh.c:1526
Reproduces also with older clients (8.4)
--
You are receiving this mail because:
You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2022-Jun-30 04:51 UTC
[Bug 3454] client dies with exit code 141 (SIGPIPE) when ControlMaster times out during mux_client_hello_exchange()
https://bugzilla.mindrot.org/show_bug.cgi?id=3454
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned-bugs at mindrot.org |djm at mindrot.org
CC| |djm at mindrot.org,
| |dtucker at dtucker.net
Status|NEW |ASSIGNED
Attachment #3600| |ok?(dtucker at dtucker.net)
Flags| |
--- Comment #1 from Damien Miller <djm at mindrot.org> ---
Created attachment 3600
--> https://bugzilla.mindrot.org/attachment.cgi?id=3600&action=edit
ignore SIGPIPE earlier
ssh.c:main() already ignores SIGPIPE, just not early enough :(
--
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 mindrot.org
2022-Jun-30 07:31 UTC
[Bug 3454] client dies with exit code 141 (SIGPIPE) when ControlMaster times out during mux_client_hello_exchange()
https://bugzilla.mindrot.org/show_bug.cgi?id=3454
Darren Tucker <dtucker at dtucker.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #3600|ok?(dtucker at dtucker.net) |ok+
Flags| |
--
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 mindrot.org
2022-Jul-01 00:37 UTC
[Bug 3454] client dies with exit code 141 (SIGPIPE) when ControlMaster times out during mux_client_hello_exchange()
https://bugzilla.mindrot.org/show_bug.cgi?id=3454
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Blocks| |3418
Status|ASSIGNED |RESOLVED
--- Comment #2 from Damien Miller <djm at mindrot.org> ---
Patch applied and will be in OpenSSH 9.1 - thanks.
Referenced Bugs:
https://bugzilla.mindrot.org/show_bug.cgi?id=3418
[Bug 3418] tracking bug for openssh-9.1
--
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 mindrot.org
2022-Jul-04 14:32 UTC
[Bug 3454] client dies with exit code 141 (SIGPIPE) when ControlMaster times out during mux_client_hello_exchange()
https://bugzilla.mindrot.org/show_bug.cgi?id=3454 --- Comment #3 from noamlewis+openssh-bugzilla at google.com --- Thanks for the very fast fix! -- 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 mindrot.org
2022-Oct-04 10:58 UTC
[Bug 3454] client dies with exit code 141 (SIGPIPE) when ControlMaster times out during mux_client_hello_exchange()
https://bugzilla.mindrot.org/show_bug.cgi?id=3454
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
--- Comment #4 from Damien Miller <djm at mindrot.org> ---
Closing bugs from OpenSSH 9.1 release cycle
--
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.