[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#948346: xdm gets killed, but only on sunday, on the first startup (code=killed, signal=USR2)



Dear Maintainer,
I could reproduce the issue in a minimal bullseye VM.

>From my observations I guess the USR2 signal is sent
by logrotate:

/etc/logrotate.d/xdm:
            kill -s USR2 $(cat /var/run/xdm.pid); \

If I read [1] right, then USR2 has a default action of
process termination. Therefore is my guess that log rotation
is started/finishes too fast and the USR2 signal is sent
before xdm replaced the default with its own signal handler.

With a package built with the following line moved near
the top of the main function I could no more
reproduce the issue:

    (void) Signal (SIGUSR2, ReopenLogFileNotify);

Kind regards,
Bernhard

[1] https://unix.stackexchange.com/questions/38589/why-does-sigusr1-cause-process-to-be-terminated
# Bullseye/testing amd64 qemu VM 2020-01-08


apt update
apt dist-upgrade


apt install systemd-coredump mc fakeroot xserver-xorg xdm openbox xterm
apt build-dep xdm





mkdir /home/benutzer/source/xdm/orig -p
cd    /home/benutzer/source/xdm/orig
apt source xdm
cd





timedatectl set-ntp false
timedatectl set-time "2020-01-11 23:59:00"
reboot



# stay in grub menu two minutes



journalctl --no-pager

Jan 12 00:00:11 debian systemd[1]: xdm.service: Main process exited, code=killed, status=12/USR2
Jan 12 00:00:11 debian systemd[1]: xdm.service: Failed with result 'signal'.


journalctl -u xdm
-- Logs begin at Sun 2020-01-12 00:00:11 CET, end at Sun 2020-01-12 00:00:27 CET. --
Jan 12 00:00:11 debian systemd[1]: Starting X-Window Display Manager...
Jan 12 00:00:11 debian systemd[1]: Started X-Window Display Manager.
Jan 12 00:00:11 debian systemd[1]: xdm.service: Main process exited, code=killed, status=12/USR2
Jan 12 00:00:11 debian systemd[1]: xdm.service: Failed with result 'signal'.


systemctl status xdm
● xdm.service - X-Window Display Manager
     Loaded: loaded (/lib/systemd/system/xdm.service; indirect; vendor preset: enabled)
     Active: failed (Result: signal) since Sun 2020-01-12 00:00:11 CET; 2min 0s ago
    Process: 491 ExecStartPre=/bin/sh -c [ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/xdm" ] (code=exited, status=0/SUCCESS)
    Process: 499 ExecStart=/usr/bin/xdm -nodaemon (code=killed, signal=USR2)
   Main PID: 499 (code=killed, signal=USR2)

Jan 12 00:00:11 debian systemd[1]: Starting X-Window Display Manager...
Jan 12 00:00:11 debian systemd[1]: Started X-Window Display Manager.
Jan 12 00:00:11 debian systemd[1]: xdm.service: Main process exited, code=killed, status=12/USR2
Jan 12 00:00:11 debian systemd[1]: xdm.service: Failed with result 'signal'.




ls -lisah /var/log/xdm.log*
393340    0 -rw-r--r-- 1 root root    0 Jan 12 00:00 /var/log/xdm.log
393269 4,0K -rw-r--r-- 1 root root 1,4K Jan 12 00:00 /var/log/xdm.log.1




root@debian:~# journalctl -u xdm
-- Logs begin at Sun 2020-01-19 00:00:12 CET, end at Sun 2020-01-19 00:00:21 CET. --
Jan 19 00:00:12 debian systemd[1]: Starting X-Window Display Manager...
Jan 19 00:00:12 debian systemd[1]: Started X-Window Display Manager.
Jan 19 00:00:12 debian systemd[1]: xdm.service: Main process exited, code=killed, status=12/USR2
Jan 19 00:00:13 debian systemd[1]: xdm.service: Failed with result 'signal'.


root@debian:~# ls -lisah /var/log/xdm.log*
393269    0 -rw-r--r-- 1 root root    0 Jan 19 00:00 /var/log/xdm.log
393340  12K -rw-r--r-- 1 root root 8,5K Jan 19 00:00 /var/log/xdm.log.1
393359 4,0K -rw-r--r-- 1 root root  274 Jan 11 23:59 /var/log/xdm.log.2.gz




root@debian:~# cat /etc/logrotate.d/xdm
/var/log/xdm.log {
    weekly
    rotate 52
    compress
    delaycompress
    notifempty
    missingok
    postrotate
        if [ -r /var/run/xdm.pid ]; then \
            kill -s USR2 $(cat /var/run/xdm.pid); \
        fi
    endscript
}

# vim:set ai et sts=4 sw=4 tw=80:





#############


watch -n0.01 kill -s USR2 \$\(cat /var/run/xdm.pid\)

systemctl stop xdm
rm /var/run/xdm.pid
systemctl start xdm

--> similar result, xdm is not able to start


Reply to: