FS#65206 - [syslog-ng] 3.25.1-2 doesn't log anything
Attached to Project:
Arch Linux
Opened by Lone_Wolf (Lone_Wolf) - Sunday, 19 January 2020, 13:52 GMT
Last edited by Florian Pritz (bluewind) - Sunday, 07 May 2023, 09:21 GMT
Opened by Lone_Wolf (Lone_Wolf) - Sunday, 19 January 2020, 13:52 GMT
Last edited by Florian Pritz (bluewind) - Sunday, 07 May 2023, 09:21 GMT
|
Details
Description:
[2020-01-17T23:36:31+0100] [PACMAN] Running 'pacman -Syu' [2020-01-17T23:36:31+0100] [PACMAN] synchronizing package lists [2020-01-17T23:36:32+0100] [PACMAN] starting full system upgrade [2020-01-17T23:36:43+0100] [ALPM] transaction started [2020-01-17T23:36:44+0100] [ALPM] upgraded qt5-base (5.14.0-1 -> 5.14.0-2) [2020-01-17T23:36:44+0100] [ALPM] upgraded snappy (1.1.7-1 -> 1.1.8-1) [2020-01-17T23:36:44+0100] [ALPM] upgraded syslog-ng (3.25.1-1 -> 3.25.1-2) [2020-01-17T23:36:44+0100] [ALPM] transaction completed [2020-01-17T23:36:44+0100] [ALPM] running '30-systemd-daemon-reload.hook'... [2020-01-17T23:36:44+0100] [ALPM] running '30-systemd-update.hook'...After updating Since this update syslog-ng has not logged anything. journal doesn't show errrors upon starting syslog-ng@default.service and there is a process running for it. On shutdown a message about a stop job is shown. full journal from 1 boot at http://ix.io/27P5 Investigating files created by syslog-ng to log things like /var/log/auth.log & /var/log/syslog.log show they have are created but stay at 0 bytes Downgrading syslog-ng to 3.25.1-1 restores all functionality. Additional info: syslog-ng 3.25.1-2 /etc/syslog-ng/syslog-ng.conf : http://ix.io/27P6 Steps to reproduce: install syslog-ng 3.25.1-2 and start syslog-ng@default.service check content of var/log/syslog.log , it should look similar to this : Jan 19 14:11:13 silverbolt syslog-ng[804]: syslog-ng starting up; version='3.25.1' Jan 19 14:11:13 silverbolt syslog-ng[804]: [2020-01-19T14:11:13.363900] WARNING: With use-dns(no), dns-cache() will be forced to 'no' too!; |
This task depends upon
Closed by Florian Pritz (bluewind)
Sunday, 07 May 2023, 09:21 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed long ago. Closing.
Sunday, 07 May 2023, 09:21 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed long ago. Closing.
Jan 19 14:11:13 silverbolt syslog-ng[804]: syslog-ng starting up; version='3.25.1'
Jan 19 14:11:13 silverbolt syslog-ng[804]: [2020-01-19T14:11:13.363900] WARNING: With use-dns(no), dns-cache() will be forced to 'no' too!;
Lines like those are shown in /var/log/syslog.log when syslog-ng functions as intended and DOES log messages.
With 3.25.1-2 that file is empty.
syslog-ng 3.25.1-1 is ok.
Something is broken with 3.25.1-2.
When you stop the service, syslog-ng never terminates.
you must kill it with SIGKILL.
syslog-ng deadlocks at start when built against libcap-2.29-1, can be killed only with `kill -9 $(cat /run/syslog-ng/pid)`
syslog-ng works properly, when built against libcap-2.28-1.
Steps to reproduce:
cd ~
sudo pacman -Syu
sudo pacman -S --needed base-devel asp wget
wget https://archive.archlinux.org/repos/2020/01/07/core/os/x86_64/libcap-2.28-1-x86_64.pkg.tar.xz
# Temporary downgrade libcap
sudo pacman -U libcap-2.28-1-x86_64.pkg.tar.xz
asp checkout syslog-ng
cd syslog-ng/repos/extra-x86-64
makepkg --clean --cleanbuild --force --install --syncdeps --rmdeps
# Back to current libcap
sudo pacman -S libcap
# enjoy working syslog-ng :)
sudo systemctl start syslog-ng@default.service
The reason why syslog-ng is not able to stop is because it waits for the non-existing thread pool to stop.
The root cause might be somewhere in the ivykis submodule and it is triggered by the libcap upgrade.
https://bugzilla.kernel.org/show_bug.cgi?id=206183
syslog-ng 3.25.1-1 is ok.
Edit: Released to [extra], not [core].
libcap >= 2.29 has a new compile flag:
```
$ pkg-config --libs libcap
-L/lib64 -lcap -lpsx -lpthread -Wl,-wrap,pthread_create
```
They actually wrap pthread_create, which somehow makes ivykis not to start threads if it was compiled with those flags (through syslog-ng).
It might have something to with the fact that ivykis uses weak symbols:
```
#pragma weak pthread_create
```
And this: https://github.com/buytenh/ivykis/blob/f1b14555fb0b5d9acfbcfaf35b1313bb28d858c2/src/pthr.h#L31-L34
https://bugzilla.kernel.org/show_bug.cgi?id=206113
They've made libpsx optional, so `-lpsx -lpthread -Wl,-wrap,pthread_create` is no longer part of the required linker flags of libcap.
While this makes syslog-ng work again when it is compiled with the latest libcap Arch package, the issue with the statically linked ivykis library and `-Wl,-wrap,pthread_create` still exists, so it probably has to be fixed upstream, because libpsx might become a hard dependency again in the future.