On Sun, Jan 05, 2014 at 07:18:24PM +0100, Yves-Alexis Perez wrote: > > (xfce4-terminal maintainer: please see the original report for a > > slightly longer explanation of the bug) > > Note that if you don't CC: us manually, we won't get it.
I bcc'd xfce4-termi...@packages.debian.org; it was held up in a moderation queue. > > So I get that SIGPIPE is being ignored. The process tree is: > > > > init -> gdm3 -> gdm-simple-slave -> gdm-session-worker -> sh -> > > xfce4-session -> xfce4-panel -> xfce4-terminal -> bash > > > > So it's somewhere in that mix, and I've tracked it down to > > xfce4-terminal (because running the ls | head commands in an xterm > > instead of in xfce4-terminal works just fine). > > > > And in xfce4-terminal, line 172 of terminal/main.c (the first line of > > code executed by xfce4-terminal!) reads: > > > > signal (SIGPIPE, SIG_IGN); > > > > and this is never undone. This was introduced in xfce4-terminal > > version 0.2.5.8rc2 (fixing xfce bug #2349), and we are currently at > > 0.6.2-4, so I'm not sure why I'm the first one to notice this > > problematic behaviour. > > I'm running 0.6.3-1 but I don't think anything relevant changed since > 0.6.2, and: > > corsac@scapa:~$ trap > trap -- '' SIGTSTP > trap -- '' SIGTTIN > trap -- '' SIGTTOU > corsac@scapa:~$ yes | head -n1 > y > > (this is with bash, trap doesn't return anything with zsh). That's really, really bizarre. I wonder what was different on my machine. (Incidentally, I've now tried this on a different machine, and it also doesn't exhibit the same broken behaviour. That's even weirder.) And rebooting the machine didn't change the behaviour. > > Anyway, a proposed bug-fix is attached: the signal handler is reset > > before the shell process is forked. There is also another tiny bugfix > > in this patch: since the #include <signal.h> is enclosed within an > > #ifdef HAVE_SIGNAL_H clause, I've enclosed the call to signal() within > > a similar clause in main.c. > > I'll wait for upstream comment on this. > > Thanks for the report anyway. Pleasure! Julian -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org