diff options
-rw-r--r-- | open_issues/screen.mdwn | 6 | ||||
-rw-r--r-- | open_issues/screen_dead_session.mdwn | 45 |
2 files changed, 50 insertions, 1 deletions
diff --git a/open_issues/screen.mdwn b/open_issues/screen.mdwn index 6ece5c40..e0394f0d 100644 --- a/open_issues/screen.mdwn +++ b/open_issues/screen.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -114,3 +114,7 @@ TODO: check. # endif TODO: check. + +--- + + * [[screen_dead_session]] diff --git a/open_issues/screen_dead_session.mdwn b/open_issues/screen_dead_session.mdwn new file mode 100644 index 00000000..cdd3f322 --- /dev/null +++ b/open_issues/screen_dead_session.mdwn @@ -0,0 +1,45 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_porting]] + +Comparing to GNU/Linux, on GNU/Hurd it happens much more often and easily for +*screen* sessions to become *dead*. This is annoying, as it defeats one of +*screen*'s main purposes. + +One reproducible scenario goes like this: + + * `ssh [somewhere]`, + + * start a *screen* session, and some long-running process *P* in there, + + * at some point the link is forcefully terminated (also known as disconnect + after 24 hours with consumer DSL), + + * *P* will continue to execute, + + * at some point, *P* will terminate / hang (after having received some kind + of signal?), and the *screen* session will be reported as *dead*. + +Another one, not as often reproduced: + + * `ssh [somewhere]`, + + * start a *screen* session, and some long-running process *P* in there, + + * at some point the link is forcefully terminated (also known as disconnect + after 24 hours with consumer DSL), + + * `ssh [somewhere]`, + + * `screen -x`, and notice that *P* will *immediatelly* terminate / hang + (after having received some kind of signal?), and the *screen* session will + *immediatelly* be reported as *dead*. (Perhaps the other way round: upon + re-attaching, the *screen* session goes bonkers and takes *P* with it?) |