[Bug 1897561] Re: libperl.so.5.30.0 causes nginx to segfault
Claudio Kuenzler
1897561 at bugs.launchpad.net
Tue May 4 13:50:55 UTC 2021
Can confirm, this bug is still a reality in Ubuntu 20.04 (focal) and is
triggered by two reloads in a row.
root at nginx:~# ps aux|grep nginx
root 3356067 0.0 0.1 71600 9788 ? Ss 15:46 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 3356068 0.0 0.1 73012 15348 ? S 15:46 0:00 nginx: worker process
www-data 3356069 0.0 0.1 73012 15348 ? S 15:46 0:00 nginx: worker process
www-data 3356070 0.0 0.1 73012 15348 ? S 15:46 0:00 nginx: worker process
www-data 3356071 0.0 0.1 73012 15348 ? S 15:46 0:00 nginx: worker process
www-data 3356072 0.0 0.1 73012 15348 ? S 15:46 0:00 nginx: worker process
www-data 3356073 0.0 0.1 73012 15348 ? S 15:46 0:00 nginx: worker process
www-data 3356074 0.0 0.1 73012 15348 ? S 15:46 0:00 nginx: worker process
www-data 3356075 0.0 0.1 73012 15348 ? S 15:46 0:00 nginx: worker process
root 3356102 0.0 0.0 8900 676 pts/0 S+ 15:46 0:00 grep --color=auto nginx
root at nginx:~# service nginx reload
root at nginx:~# ps aux|grep nginx
root 3356067 0.2 0.3 81404 28848 ? Ss 15:46 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 3356266 0.0 0.2 81644 22608 ? S 15:46 0:00 nginx: worker process
www-data 3356267 0.0 0.2 81644 22608 ? S 15:46 0:00 nginx: worker process
www-data 3356268 0.0 0.2 81644 22608 ? S 15:46 0:00 nginx: worker process
www-data 3356269 0.0 0.2 81644 22608 ? S 15:46 0:00 nginx: worker process
www-data 3356270 0.0 0.2 81644 22608 ? S 15:46 0:00 nginx: worker process
www-data 3356271 0.0 0.2 81644 22608 ? S 15:46 0:00 nginx: worker process
www-data 3356272 0.0 0.2 81644 22608 ? S 15:46 0:00 nginx: worker process
www-data 3356273 0.0 0.2 81644 22608 ? S 15:46 0:00 nginx: worker process
root 3356296 0.0 0.0 17196 7168 ? R 15:46 0:00 /usr/bin/pgrep nginx
root 3356309 0.0 0.0 8900 736 pts/0 S+ 15:46 0:00 grep --color=auto nginx
root at nginx:~# service nginx reload
root at nginx:~# ps aux|grep nginx
root 3356355 0.0 0.0 8900 736 pts/0 S+ 15:46 0:00 grep --color=auto nginx
At the time of the second reload, the following segfault is logged in
/var/log/kern.log:
May 4 15:46:50 onl-paylb02-p kernel: [4141537.262674] nginx[3356067]: segfault at 51 ip 00007f6b7d1535c9 sp 00007ffe634334d0 error 4 in libperl.so.5.30.0[7f6b7d0eb000+166000]
May 4 15:46:50 onl-paylb02-p kernel: [4141537.262681] Code: 00 0f b6 40 30 49 c1 ed 03 49 29 c5 0f 84 17 01 00 00 48 8b 76 10 48 8b 52 10 4c 8d 3c fe 4c 8d 0c c2 84 c9 0f 84 c7 02 00 00 <49> 83 39 00 0f 85 ad 03 00 00 49 83 c1 08 49 83 ed 01 49 8d 74 1d
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to perl in Ubuntu.
https://bugs.launchpad.net/bugs/1897561
Title:
libperl.so.5.30.0 causes nginx to segfault
Status in perl package in Ubuntu:
Confirmed
Bug description:
[Steps to reproduce]
1) launch a focal container
$ lxc launch images:ubuntu/focal focal-1897561
2) enter the container
$ lxc shell focal-1897561
3) install libnginx-mod-http-perl
# apt-get install -y nginx-core libnginx-mod-http-perl
4) check nginx journal
# journalctl -fu nginx &
5) reload nginx 2-3 times
# systemctl reload nginx
Eventually you will see this from the journal:
Oct 13 17:13:34 focal-1897561 systemd[1]: Reloaded A high performance web server and a reverse proxy server.
Oct 13 17:13:35 focal-1897561 systemd[1]: nginx.service: Main process exited, code=dumped, status=11/SEGV
Oct 13 17:13:35 focal-1897561 systemd[1]: nginx.service: Killing process 588 (nginx) with signal SIGKILL.
Oct 13 17:13:35 focal-1897561 systemd[1]: nginx.service: Killing process 589 (nginx) with signal SIGKILL.
Oct 13 17:13:35 focal-1897561 systemd[1]: nginx.service: Killing process 588 (nginx) with signal SIGKILL.
Oct 13 17:13:35 focal-1897561 systemd[1]: nginx.service: Killing process 589 (nginx) with signal SIGKILL.
Oct 13 17:13:35 focal-1897561 systemd[1]: nginx.service: Failed with result 'core-dump'.
[Workaround]
If libnginx-mod-http-perl is not needed, purging it and restarting
nginx sidesteps the problem.
[Original bug description]
Ubuntu 20.04 LTS
Looks that Perl 5.30 has bug that causes nginx to die, usually occurs
after "service nginx reload"
This looks like nginx, but it really is perl issue:
https://github.com/Perl/perl5/issues/17154
Fix done in 5.32 (Perl5 commit ffffbf0) and people are asking backport
to 5.30 to get fix also to nginx.
Error:
Sep 28 07:39:43 host kernel: [1340832.811014] nginx[3253005]: segfault at 10 ip 00007fbf3220d593 sp 00007ffd6bba6260 error 4 in libperl.so.5.30.0[7fbf321a5000+166000]
Symptom: Nginx terminates
---
ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu27.9
Architecture: amd64
CasperMD5CheckResult: skip
DistroRelease: Ubuntu 20.04
Package: perl 5.30.0-9build1
PackageArchitecture: amd64
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 5.4.0-42.46-generic 5.4.44
Tags: focal uec-images
Uname: Linux 5.4.0-42-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: N/A
_MarkForUpload: True
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/perl/+bug/1897561/+subscriptions
More information about the foundations-bugs
mailing list