[Pkg-xfce-devel] Bug#823460: lightdm: SIGPIPE ignored in session

2016-10-17 Thread Ian Jackson
In stretch, lightdm invokes the user's session with SIGPIPE ignored.
This can cause programs with careful error handling to fail.
See, for example, #841090.

I see that this bug is still outstanding in stretch.

To debian-release: The lightdm maintainers disagreed with me about
the bug severity.  Please would you confirm that this bug is RC.

To the lightdm maintainers: I intend to NMU (to DELAYED/7) to apply
the patch, unless you object.

Ian.

-- 
Ian Jackson    These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.

___
Pkg-xfce-devel mailing list
Pkg-xfce-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-xfce-devel


[Pkg-xfce-devel] Bug#823460: lightdm: SIGPIPE ignored in session

2016-05-04 Thread Ian Jackson
Package: lightdm
Version: 1.18.1-1
Severity: serious


I have just discovered that my entire X session is running with
SIGPIPE ignored.  I think this is the fault of lightdm - see below.

All Unix programs are entitled to assume that they start with
reasonable signal dispositions, which (with a few exceptions) means
everything set to SIG_DFL.  I have marked this bug "serious" on the
grounds that I think this is a release-critical bug.


More details:

In an xterm:

zealot:~> perl -e 'print $SIG{PIPE},"\n"'
IGNORE
zealot:~>


By grepping /proc I have discovered this:


* Several processes spawned directly from init (including secnet, a
  program of which I am the maintainer, which does not mess with
  SIGPIPE) do not have SIGPIPE ignored:

root(ian)@zealot:~> for f in `pidof secnet`; do grep SigIgn /proc/$f/status; 
done
SigIgn: 0002
SigIgn: 0002
root(ian)@zealot:~>

So I don't think init (sysvinit, in my case) is responsible.


* lightdm has SIGPIPE ignored:

root(ian)@zealot:~> for f in `pidof lightdm`; do grep SigIgn /proc/$f/status; 
done
SigIgn: 1000
SigIgn: 1000
root(ian)@zealot:~>

lightdm is of course entitled to run with whatever SIGPIPE disposition
it likes, but this is suggestive.



* My .xsession script has SIGPIPE ignored:

root  4144  3371  0 11:24 ?00:00:00 lightdm --session-child 13 
22
ian   4154  4144  0 11:24 ?00:00:00   /bin/bash 
/home/ian/.xsession

root(ian)@zealot:~> grep SigIgn /proc/4154/status 
SigIgn: 1004
root(ian)@zealot:~>

My .xsession script is fairly complicated but does not mention PIPE,
and hasn't changed since Decmeber; on another machine running jessie
and gdm it has SIGPIPE set to DFL.

So this isn't something my .xsession script has done.

I have a .dmrc containing this:

[Desktop]
Language=en_GB.utf8
Layout=gb
Session=lightdm-xsession



The bad SIGPIPE disposition is inherited by the primary xterm which my
xsession runs, and its children including my main session script, my
window manager, all my xterms, etc.


Thanks for your attention.

Ian.



-8<- ~/.xession -8<-
#!/bin/bash

exec >>.configs/xsession-errors 2>&1
echo xsession running

. .configs/setenvir

rm .configs/mini-desktop-window-id

eval `.configs/configure`

set

if [ -x .configs/xmodmap-kb=$kb ]
then
.configs/xmodmap-kb=$kb | xmodmap -
else
xmodmap .configs/xmodmap-kb=$kb
fi

xrdb -merge .configs/Xresources
xrdb -merge .configs/Xresources-colours=$colours
xrdb -merge .configs/Xresources-font=$font
xrdb -merge .configs/Xresources-size=$size

xset b off

${lxtermpath}xterm -C $lxtermopts -T "login" -e .configs/xprofile
echo xterm done logging out again
rm .configs/xsession-errors
.configs/eliforp
-8<-


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.5.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.utf-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages lightdm depends on:
ii  adduser3.114
ii  dbus   1.10.8-1
ii  debconf [debconf-2.0]  1.5.59
ii  libaudit1  1:2.4.5-1+b1
ii  libc6  2.22-7
ii  libgcrypt201.7.0-2
ii  libglib2.0-0   2.48.0-1
ii  libpam-systemd 229-5
ii  libpam0g   1.1.8-3.2
ii  libxcb11.11.1-1
ii  libxdmcp6  1:1.1.2-1.1
ii  lightdm-gtk-greeter [lightdm-greeter]  2.0.1-2

Versions of packages lightdm recommends:
ii  xserver-xorg  1:7.7+15

Versions of packages lightdm suggests:
pn  accountsservice  
ii  upower   0.99.4-2

-- Configuration Files:
/etc/lightdm/lightdm.conf changed:
[LightDM]
[Seat:*]
xserver-command=X -retro
[XDMCPServer]
[VNCServer]


-- debconf information:
* shared/default-x-display-manager: lightdm
  lightdm/daemon_name: /usr/sbin/lightdm

___
Pkg-xfce-devel mailing list
Pkg-xfce-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-xfce-devel