Can confirm, this bug is still a reality in Ubuntu 20.04 (focal) and is
triggered by two reloads in a row.


root@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@nginx:~# service nginx reload

root@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@nginx:~# service nginx reload

root@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
Touch seeded packages, 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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to