* [Bug] Unexpected process suspension @ 2020-05-12 7:02 Rudi C 2020-05-12 11:48 ` Daniel Shahaf 2020-05-12 17:38 ` Bart Schaefer 0 siblings, 2 replies; 13+ messages in thread From: Rudi C @ 2020-05-12 7:02 UTC (permalink / raw) To: zsh-workers [-- Attachment #1: Type: text/plain, Size: 125 bytes --] mdoc-test () { sleep 0 | sleep 0 cat} echo start |VISUAL=vim command vipe|mdoc-test # zsh: suspended (tty output) ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bug] Unexpected process suspension 2020-05-12 7:02 [Bug] Unexpected process suspension Rudi C @ 2020-05-12 11:48 ` Daniel Shahaf 2020-05-12 11:53 ` Roman Perepelitsa 2020-05-12 17:38 ` Bart Schaefer 1 sibling, 1 reply; 13+ messages in thread From: Daniel Shahaf @ 2020-05-12 11:48 UTC (permalink / raw) To: Rudi C; +Cc: zsh-workers Rudi C wrote on Tue, 12 May 2020 11:32 +0430: > mdoc-test () { > > sleep 0 | sleep 0 > cat} > > echo start |VISUAL=vim command vipe|mdoc-test > > # zsh: suspended (tty output) Reproduced in master and reduced to: export EDITOR=ed </dev/null vipe | { :|:; cat } With EDITOR=cat it works. Furthermore, trying to get vipe(1) out of the picture, I ran into: % ed =(cat < /dev/null) | { :|:; cat } zsh: suspended (tty input) cat ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bug] Unexpected process suspension 2020-05-12 11:48 ` Daniel Shahaf @ 2020-05-12 11:53 ` Roman Perepelitsa 2020-05-12 11:57 ` Daniel Shahaf 2020-05-12 13:31 ` Stephane Chazelas 0 siblings, 2 replies; 13+ messages in thread From: Roman Perepelitsa @ 2020-05-12 11:53 UTC (permalink / raw) To: Daniel Shahaf; +Cc: Rudi C, Zsh hackers list On Tue, May 12, 2020 at 1:50 PM Daniel Shahaf <d.s@daniel.shahaf.name> wrote: > % ed =(cat < /dev/null) | { :|:; cat } > zsh: suspended (tty input) cat Might be related to workers/45647? Roman. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bug] Unexpected process suspension 2020-05-12 11:53 ` Roman Perepelitsa @ 2020-05-12 11:57 ` Daniel Shahaf 2020-05-12 12:05 ` Roman Perepelitsa 2020-05-12 13:31 ` Stephane Chazelas 1 sibling, 1 reply; 13+ messages in thread From: Daniel Shahaf @ 2020-05-12 11:57 UTC (permalink / raw) To: Roman Perepelitsa; +Cc: Rudi C, Zsh hackers list Roman Perepelitsa wrote on Tue, 12 May 2020 13:53 +0200: > On Tue, May 12, 2020 at 1:50 PM Daniel Shahaf <d.s@daniel.shahaf.name> wrote: > > % ed =(cat < /dev/null) | { :|:; cat } > > zsh: suspended (tty input) cat > > Might be related to workers/45647? Is either of these a regression? If so, we can bisect them. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bug] Unexpected process suspension 2020-05-12 11:57 ` Daniel Shahaf @ 2020-05-12 12:05 ` Roman Perepelitsa 0 siblings, 0 replies; 13+ messages in thread From: Roman Perepelitsa @ 2020-05-12 12:05 UTC (permalink / raw) To: Daniel Shahaf; +Cc: Rudi C, Zsh hackers list On Tue, May 12, 2020 at 1:57 PM Daniel Shahaf <d.s@daniel.shahaf.name> wrote: > > Is either of these a regression? If so, we can bisect them. workers/45647 fails at HEAD and on zsh-5.4.2. Haven't tried anything else. Roman. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bug] Unexpected process suspension 2020-05-12 11:53 ` Roman Perepelitsa 2020-05-12 11:57 ` Daniel Shahaf @ 2020-05-12 13:31 ` Stephane Chazelas 1 sibling, 0 replies; 13+ messages in thread From: Stephane Chazelas @ 2020-05-12 13:31 UTC (permalink / raw) To: Roman Perepelitsa; +Cc: Daniel Shahaf, Rudi C, Zsh hackers list 2020-05-12 13:53:53 +0200, Roman Perepelitsa: > On Tue, May 12, 2020 at 1:50 PM Daniel Shahaf <d.s@daniel.shahaf.name> wrote: > > % ed =(cat < /dev/null) | { :|:; cat } > > zsh: suspended (tty input) cat > > Might be related to workers/45647? [...] It looks very similar to workers/42512 (which had been investigated, but not fully resolved IIRC). -- Stephane ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bug] Unexpected process suspension 2020-05-12 7:02 [Bug] Unexpected process suspension Rudi C 2020-05-12 11:48 ` Daniel Shahaf @ 2020-05-12 17:38 ` Bart Schaefer 2020-05-13 6:29 ` Stephane Chazelas 1 sibling, 1 reply; 13+ messages in thread From: Bart Schaefer @ 2020-05-12 17:38 UTC (permalink / raw) To: Rudi C; +Cc: zsh-workers On Tue, May 12, 2020 at 12:03 AM Rudi C <rudiwillalwaysloveyou@gmail.com> wrote: > > mdoc-test () { > > sleep 0 | sleep 0 > cat} > > echo start |VISUAL=vim command vipe|mdoc-test > > # zsh: suspended (tty output) Putting an interactive command in the middle of a pipeline is generally not going to work. Vim in particular is pretty aggressive about trying to grab a terminal, which will result in processes getting SIGTT* because they don't have foreground control of the terminal they're trying to use. Following Daniel's response I tried: % </dev/null vim | { :|:; cat } Vim: Warning: Output is not to a terminal Vim: Warning: Input is not from a terminal and although vim did open, upon exiting from it and returning to the command line ZLE is very confused. Even a hard reset of the terminal emulator didn't fix it, the stty settings were hosed. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bug] Unexpected process suspension 2020-05-12 17:38 ` Bart Schaefer @ 2020-05-13 6:29 ` Stephane Chazelas 2020-05-20 22:32 ` Rudi C 0 siblings, 1 reply; 13+ messages in thread From: Stephane Chazelas @ 2020-05-13 6:29 UTC (permalink / raw) To: Bart Schaefer; +Cc: Rudi C, zsh-workers 2020-05-12 10:38:38 -0700, Bart Schaefer: > On Tue, May 12, 2020 at 12:03 AM Rudi C <rudiwillalwaysloveyou@gmail.com> wrote: > > > > mdoc-test () { > > > > sleep 0 | sleep 0 > > cat} > > > > echo start |VISUAL=vim command vipe|mdoc-test > > > > # zsh: suspended (tty output) > > Putting an interactive command in the middle of a pipeline is > generally not going to work. Vim in particular is pretty aggressive > about trying to grab a terminal, which will result in processes > getting SIGTT* because they don't have foreground control of the > terminal they're trying to use. [...] The thing is vim *should* be in the foreground, all the processes started in pipeline should be in the same process group which should be in foreground (so it gets SIGINT/SIGQUIT/SIGTSTP upon ^C/^\/^Z, so it can read the terminal, etc) but under some circumstances, zsh fails to put some processes in that group, which is a bug. $ </proc/self/stat awk '{print $5, $8}' >&2 127235 127235 $ </proc/self/stat awk '{print $5, $8; system("exec sleep 1")}' >&2 | ps -o pid,pgid,comm 131569 131569 PID PGID COMMAND 124948 124948 zsh 131569 131569 awk 131570 131569 ps 131571 131569 sleep $ </proc/self/stat awk '{print $5, $8}' >&2 | { :; } 127410 127410 $ </proc/self/stat awk '{print $5, $8}' >&2 | { : | :; } 127496 124948 In that latter case, awk is in a different process group (127496) from the terminal foreground process group (124948 which here is the process group of the main shell process!). -- Stephane ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bug] Unexpected process suspension 2020-05-13 6:29 ` Stephane Chazelas @ 2020-05-20 22:32 ` Rudi C 2020-05-21 3:33 ` A bug tracker (was: Re: [Bug] Unexpected process suspension) Daniel Shahaf 0 siblings, 1 reply; 13+ messages in thread From: Rudi C @ 2020-05-20 22:32 UTC (permalink / raw) To: Bart Schaefer, Rudi C, zsh-workers [-- Attachment #1: Type: text/plain, Size: 2247 bytes --] Considering this bug (or a very similar variant) was reported before and the issue just died a silent death, I think it's a good idea to create a Github repo for tracking zsh issues. Github issue tracker is a lot better than mailing lists, as things have a dichotomy of being open/closed, and can be labeled. It is harder for issues to die a silent death there. It is also easier to contribute to that, and easier to unsubscribe (I don't think one can unsubscribe from a mailing list post one participated in, as people (wisely) use reply-all.). On Wed, May 13, 2020 at 10:59 AM Stephane Chazelas <stephane@chazelas.org> wrote: > 2020-05-12 10:38:38 -0700, Bart Schaefer: > > On Tue, May 12, 2020 at 12:03 AM Rudi C <rudiwillalwaysloveyou@gmail.com> > wrote: > > > > > > mdoc-test () { > > > > > > sleep 0 | sleep 0 > > > cat} > > > > > > echo start |VISUAL=vim command vipe|mdoc-test > > > > > > # zsh: suspended (tty output) > > > > Putting an interactive command in the middle of a pipeline is > > generally not going to work. Vim in particular is pretty aggressive > > about trying to grab a terminal, which will result in processes > > getting SIGTT* because they don't have foreground control of the > > terminal they're trying to use. > [...] > > The thing is vim *should* be in the foreground, all the > processes started in pipeline should be in the same process > group which should be in foreground (so it gets > SIGINT/SIGQUIT/SIGTSTP upon ^C/^\/^Z, so it can read the > terminal, etc) but under some circumstances, zsh fails to put > some processes in that group, which is a bug. > > $ </proc/self/stat awk '{print $5, $8}' >&2 > 127235 127235 > $ </proc/self/stat awk '{print $5, $8; system("exec sleep 1")}' >&2 | ps > -o pid,pgid,comm > 131569 131569 > PID PGID COMMAND > 124948 124948 zsh > 131569 131569 awk > 131570 131569 ps > 131571 131569 sleep > $ </proc/self/stat awk '{print $5, $8}' >&2 | { :; } > 127410 127410 > $ </proc/self/stat awk '{print $5, $8}' >&2 | { : | :; } > 127496 124948 > > In that latter case, awk is in a different process group > (127496) from the terminal foreground process group (124948 > which here is the process group of the main shell process!). > > -- > Stephane > ^ permalink raw reply [flat|nested] 13+ messages in thread
* A bug tracker (was: Re: [Bug] Unexpected process suspension) 2020-05-20 22:32 ` Rudi C @ 2020-05-21 3:33 ` Daniel Shahaf 2020-05-21 4:44 ` Bart Schaefer 2020-05-21 13:39 ` Oliver Kiddle 0 siblings, 2 replies; 13+ messages in thread From: Daniel Shahaf @ 2020-05-21 3:33 UTC (permalink / raw) To: zsh-workers Rudi C wrote on Thu, 21 May 2020 03:02 +0430: > Considering this bug (or a very similar variant) was reported before and > the issue just died a silent death, I think it's a good idea to create a > Github repo for tracking zsh issues. Github issue tracker is a lot better > than mailing lists, as things have a dichotomy of being open/closed, and > can be labeled. It is harder for issues to die a silent death there. I'm not opposed to adding a proper issue tracker, but github is not the only fish in the sea; it is one option among many. IIRC, last time this was discussed, it was requested to have bidirectional integration with the mailing list. Do I recall correctly? If we opt for an issue tracker, there'll be the question of whether we'll use the issue tracker to receive/triage bug reports, or keep triage on the mailing lists like today and only use the tracker to record known defects and conclusions of discussions. The latter would be the smaller change compared to the status quo. Another way to solve this is to have a "bug reports manager", who would be a volunteer who'd scan the lists regularly — say, once a week — for any bug report threads that have petered out without a solution, and ping those. (The volunteer needn't be a developer.) I filled a similar role myself, years ago at $OTHERPROJECT. Compare https://producingoss.com/en/share-management.html#manager-is-not-owner (particularly its first subsection, read with s/patch/bug report/g). Finally, I have been using Etc/BUGS in git to track bugs. If someone'd like to add an entry there for this set of related bugs, please do. > It is also easier to contribute to that, and easier to unsubscribe > (I don't think one can unsubscribe from a mailing list post one > participated in, as people (wisely) use reply-all.). No, it's not possible to unsubscribe from being directly Cc'd, but the responses generally peter out after a few days, and there are plenty of ways to deduplicate or otherwise flag responses that were Cc'd both to oneself and to the list. Cheers, Daniel > On Wed, May 13, 2020 at 10:59 AM Stephane Chazelas <stephane@chazelas.org> > wrote: > > > 2020-05-12 10:38:38 -0700, Bart Schaefer: > > > On Tue, May 12, 2020 at 12:03 AM Rudi C <rudiwillalwaysloveyou@gmail.com> > > wrote: > > > > > > > > mdoc-test () { > > > > > > > > sleep 0 | sleep 0 > > > > cat} > > > > > > > > echo start |VISUAL=vim command vipe|mdoc-test > > > > > > > > # zsh: suspended (tty output) > > > > > > Putting an interactive command in the middle of a pipeline is > > > generally not going to work. Vim in particular is pretty aggressive > > > about trying to grab a terminal, which will result in processes > > > getting SIGTT* because they don't have foreground control of the > > > terminal they're trying to use. > > [...] > > > > The thing is vim *should* be in the foreground, all the > > processes started in pipeline should be in the same process > > group which should be in foreground (so it gets > > SIGINT/SIGQUIT/SIGTSTP upon ^C/^\/^Z, so it can read the > > terminal, etc) but under some circumstances, zsh fails to put > > some processes in that group, which is a bug. > > > > $ </proc/self/stat awk '{print $5, $8}' >&2 > > 127235 127235 > > $ </proc/self/stat awk '{print $5, $8; system("exec sleep 1")}' >&2 | ps > > -o pid,pgid,comm > > 131569 131569 > > PID PGID COMMAND > > 124948 124948 zsh > > 131569 131569 awk > > 131570 131569 ps > > 131571 131569 sleep > > $ </proc/self/stat awk '{print $5, $8}' >&2 | { :; } > > 127410 127410 > > $ </proc/self/stat awk '{print $5, $8}' >&2 | { : | :; } > > 127496 124948 > > > > In that latter case, awk is in a different process group > > (127496) from the terminal foreground process group (124948 > > which here is the process group of the main shell process!). > > > > -- > > Stephane > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: A bug tracker (was: Re: [Bug] Unexpected process suspension) 2020-05-21 3:33 ` A bug tracker (was: Re: [Bug] Unexpected process suspension) Daniel Shahaf @ 2020-05-21 4:44 ` Bart Schaefer 2020-05-21 13:39 ` Oliver Kiddle 1 sibling, 0 replies; 13+ messages in thread From: Bart Schaefer @ 2020-05-21 4:44 UTC (permalink / raw) To: zsh-workers On Wed, May 20, 2020 at 8:33 PM Daniel Shahaf <d.s@daniel.shahaf.name> wrote: > > Rudi C wrote on Thu, 21 May 2020 03:02 +0430: > > Github issue tracker is a lot better > > than mailing lists, as things have a dichotomy of being open/closed, and > > can be labeled. It is harder for issues to die a silent death there. > > I'm not opposed to adding a proper issue tracker, but github is not the > only fish in the sea; it is one option among many. Indeed, if we're going to continue hosting the git repository on SourceForge, then reviving some kind of use of the bug tracker there would seem to make more sense than github. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: A bug tracker (was: Re: [Bug] Unexpected process suspension) 2020-05-21 3:33 ` A bug tracker (was: Re: [Bug] Unexpected process suspension) Daniel Shahaf 2020-05-21 4:44 ` Bart Schaefer @ 2020-05-21 13:39 ` Oliver Kiddle 2020-05-21 16:46 ` Daniel Shahaf 1 sibling, 1 reply; 13+ messages in thread From: Oliver Kiddle @ 2020-05-21 13:39 UTC (permalink / raw) To: Daniel Shahaf; +Cc: zsh-workers Daniel Shahaf wrote: > Finally, I have been using Etc/BUGS in git to track bugs. If someone'd > like to add an entry there for this set of related bugs, please do. As I've just been catching up on the list having had little time recently, here's a collection of some of the outstanding bugs: 44133 debian #924736 (partial patch in 44134) three setopts following ` #` 44850 terminal issues with continuation markers 45422 _arguments !-x !+x: this is on my TODO list 45482 print -v with multibyte characters 45568 repeat-count "illegal character" this can't be too hard given it is the meta range of characters Incidentally, I don't like the use of "illegal" in error messages. Perhaps this is a UK/US difference but to me "illegal" implies actually against the law. 45656 -o nobanghist -o emacs segfaults users/24765 -direct terminals. Not a bug as such but we may need to do something if -direct values in TERM are ever common 45830 _gpg, I can't reproduce either. There are also some outstanding patches: 45393/45396 avoid lseek(2) calls. Doesn't this just need a quick verification? I've had some dealings with the patch author in relation to i3 and would trust him even without looking at the patch details. 45768 This looks distinctly similar to the above. 45837 Stephane's patch for 45828 45007 has_colors in configure.ac. This didn't reproduce on any of my systems but I've just noticed that the originator has a gentoo.org address which might provide some extra clues. There was a recent (45778) reminder about 44525 which is by Roman. I don't care enough about different bug tracking methods to get much involved in that discussion. The mailing list perhaps intimidates potential newcomers nowadays which is not ideal. But it has advantages like the single archive that can be offline. Integration with a list is fine if you don't get spammed. All too often every little status change generates a mail. Oliver ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: A bug tracker (was: Re: [Bug] Unexpected process suspension) 2020-05-21 13:39 ` Oliver Kiddle @ 2020-05-21 16:46 ` Daniel Shahaf 0 siblings, 0 replies; 13+ messages in thread From: Daniel Shahaf @ 2020-05-21 16:46 UTC (permalink / raw) To: zsh-workers Oliver Kiddle wrote on Thu, 21 May 2020 15:39 +0200: > Daniel Shahaf wrote: > > Finally, I have been using Etc/BUGS in git to track bugs. If someone'd > > like to add an entry there for this set of related bugs, please do. > > As I've just been catching up on the list having had little time > recently, here's a collection of some of the outstanding bugs: > Thanks! Committed with edits. ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2020-05-21 16:46 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-05-12 7:02 [Bug] Unexpected process suspension Rudi C 2020-05-12 11:48 ` Daniel Shahaf 2020-05-12 11:53 ` Roman Perepelitsa 2020-05-12 11:57 ` Daniel Shahaf 2020-05-12 12:05 ` Roman Perepelitsa 2020-05-12 13:31 ` Stephane Chazelas 2020-05-12 17:38 ` Bart Schaefer 2020-05-13 6:29 ` Stephane Chazelas 2020-05-20 22:32 ` Rudi C 2020-05-21 3:33 ` A bug tracker (was: Re: [Bug] Unexpected process suspension) Daniel Shahaf 2020-05-21 4:44 ` Bart Schaefer 2020-05-21 13:39 ` Oliver Kiddle 2020-05-21 16:46 ` Daniel Shahaf
Code repositories for project(s) associated with this public inbox https://git.vuxu.org/mirror/zsh/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).