Bug 1096296

Summary: man page inaccuracy about --sig-proxy and --tty
Product: Red Hat Enterprise Linux 7 Reporter: Lukáš Doktor <ldoktor>
Component: dockerAssignee: Michal Minar <miminar>
Status: CLOSED CURRENTRELEASE QA Contact: atomic-bugs <atomic-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.0CC: admiller, cevich, dwalsh, golang-updates, jkeck, mattdm, mgoldman, ohadlevy, vbatts, whenry
Target Milestone: rcKeywords: Extras
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1087697 Environment:
Last Closed: 2016-01-07 21:39:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1087697    
Bug Blocks:    

Description Lukáš Doktor 2014-05-09 15:23:11 UTC
+++ This bug was initially created as a clone of Bug #1087697 +++

Description of problem:
Hi guys,

the man page states:
            --sig-proxy=true: Proxify all received signal to the process (even in non-tty mode)

But the real behavior is, that sig-proxy doesn't work when --tty=true. It should be mentioned in there, taht --sig-proxy is incompatible with --tty.

Version-Release number of selected component (if applicable):
docker-io-0.9.1-1.fc21.x86_64


How reproducible:
always

Steps to Reproduce:
1. man docker


Actual results:
man page says it works even in non-tty


Expected results:
man page warns that --tty can't be used with --sig-proxy

How to verify:
1. docker run --tty=true -i --rm fedora bash -c 'for NUM in `seq 1 64`; do trap "echo Received $NUM, ignoring..." $NUM; done; while :; do sleep 1; done'
2. ps -ax | grep docker
3. kill -SIGUSR1 $PID
4. (with --tty=true no signals are received, when you try the same with --tty=false, signals are proxified and messages are displayed)

--- Additional comment from Lokesh Mandvekar on 2014-04-15 02:11:48 EDT ---

Copying William (he recently got per subcommand manpages merged upstream).

this seems to be the case even in the latest manpage (I'm guessing this was inherited from the original manpage).

William, was there any discussion about this in your PR?

--- Additional comment from Lokesh Mandvekar on 2014-04-15 02:15:31 EDT ---

btw, the 0.10 rpm includes the latest manpages (should be in yum soon)

--- Additional comment from Lukas Doktor on 2014-04-15 04:45:55 EDT ---

Thanks for a quick reply. I tried the docker-io-0.10.0-2.fc20.x86_64 which says:
       --sig-proxy=true|false:
              When set to true, proxify all received signals  to  the  process
              (even in non-tty mode). The default is true.

I'd really like to change it to "only in non-tty" with possible warning that --tty=true is incompatible with --sig-proxy.

--- Additional comment from William Henry on 2014-04-30 15:54:25 EDT ---

I go this text from upstream. I'll check.

--- Additional comment from William Henry on 2014-04-30 16:02:22 EDT ---

Lukas,according to the folks upstream, this is a bug in docker run and attach. It should be as the text suggests.

Can you file a bug upstream with docker? Here:
https://github.com/dotcloud/docker/issues

Please just take the information you posted above and post it there. 

Thanks. Well spotted.

Best,
William

--- Additional comment from Lukas Doktor on 2014-05-02 04:02:01 EDT ---

Upstream tracer:

https://github.com/dotcloud/docker/issues/5547

Comment 2 Daniel Walsh 2014-05-27 18:19:57 UTC
This turns out to be a bug in docker and not in the man page.

I believe the conclusion was the  --sig-proxy
 should work with --tty

Comment 3 Chris Evich 2014-05-27 20:28:30 UTC
Neat!  Glad we could do our part to help find it :D

Comment 4 Daniel Walsh 2014-07-15 17:08:47 UTC
Matt has this bug been fixed upstream? Is it fixed in docker-1.0.0-10.el7.x86_64

Comment 5 Matthew Heon 2014-07-15 17:17:27 UTC
Upstream is looking at the pull request. It still needs some work before I would say it is done and ready for inclusion in RHEL builds - need comments on how to proceed with a potentially significant change.

Comment 6 Daniel Walsh 2014-09-09 14:08:33 UTC
Any update on this?

Comment 7 Daniel Walsh 2014-11-06 11:18:53 UTC
Lukas upstream closed this issue as being fixed in current docker-1.3.

Could you verify it, or comment on the github issue.

https://github.com/docker/docker/pull/7567

Comment 8 Lukáš Doktor 2014-11-11 16:45:35 UTC
Hi Daniel, if I understand the PR it was rejected. I tested it on docker-1.3.0-5.el7.HTB.x86_64 with the same results as before; tty version doesn't proxify, non-tty version does. Man pages still claim it should work even in non-TTY mode:

              --sig-proxy=true|false
                 Proxy received signals to the process (even in non-TTY mode).
              SIGCHLD,  SIGSTOP,  and  SIGKILL are not proxied. The default is
              true.

which is true, it does work even in non-TTY mode, but it does not work in TTY mode. So it's let's say confusing. Given the fact that upstream doesn't like to change this how about changing the sentence to `(only non-TTY mode)`?

Comment 9 Daniel Walsh 2014-11-11 18:43:57 UTC
That works for me.  Michal can you make the PR?

Comment 10 Michal Minar 2014-11-13 09:21:19 UTC
Sure, will do. I've easily reproduced this. And the patch from Matthew fixes this correctly. It's pity they've dismissed it.

Comment 11 Michal Minar 2014-11-13 10:25:07 UTC
PR: https://github.com/docker/docker/pull/9144

Comment 12 Daniel Walsh 2014-11-20 19:27:47 UTC
Fixed in docker-1.3.2