I tried installing onlyoffice using these instructions: Installing ONLYOFFICE Docs for Debian, Ubuntu, and derivatives - ONLYOFFICE
I get the same issue with nginx -s reload
. (Without using Certbot at all).
Basically, the nginx master process sometimes crashes during configuration reload. In a debugger, this is the backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x00007fdbadbfd593 in Perl__invlist_intersection_maybe_complement_2nd ()
from target:/lib/x86_64-linux-gnu/libperl.so.5.30
(gdb) bt
#0 0x00007fdbadbfd593 in Perl__invlist_intersection_maybe_complement_2nd ()
from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#1 0x00007fdbadbfdbd5 in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#2 0x00007fdbadc0dc7f in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#3 0x00007fdbadc14268 in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#4 0x00007fdbadc18d03 in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#5 0x00007fdbadc192cf in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#6 0x00007fdbadc1e36c in Perl_re_op_compile () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#7 0x00007fdbadbb2c35 in Perl_pmruntime () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#8 0x00007fdbadbef23b in Perl_yyparse () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#9 0x00007fdbadc907a7 in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#10 0x00007fdbadc9606d in Perl_pp_require () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
--Type <RET> for more, q to quit, c to continue without paging--
#11 0x00007fdbadc4b4a6 in Perl_runops_standard () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#12 0x00007fdbadbb8d24 in Perl_call_sv () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#13 0x00007fdbadbbb950 in Perl_call_list () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#14 0x00007fdbadb98e00 in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#15 0x00007fdbadbb19ff in Perl_newATTRSUB_x () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#16 0x00007fdbadbb4f92 in Perl_utilize () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#17 0x00007fdbadbef6d9 in Perl_yyparse () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#18 0x00007fdbadc907a7 in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#19 0x00007fdbadc9606d in Perl_pp_require () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#20 0x00007fdbadc4b4a6 in Perl_runops_standard () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#21 0x00007fdbadbb8d24 in Perl_call_sv () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#22 0x00007fdbadbbb950 in Perl_call_list () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#23 0x00007fdbadb98e00 in ?? () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#24 0x00007fdbadbb19ff in Perl_newATTRSUB_x () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#25 0x00007fdbadbb4f92 in Perl_utilize () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#26 0x00007fdbadbef6d9 in Perl_yyparse () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#27 0x00007fdbadbbfa72 in perl_parse () from target:/lib/x86_64-linux-gnu/libperl.so.5.30
#28 0x00007fdbadea5b4d in ?? () from target:/usr/share/nginx/modules/ngx_http_perl_module.so
#29 0x00007fdbadea63e9 in ?? () from target:/usr/share/nginx/modules/ngx_http_perl_module.so
#30 0x000055f805ef8659 in ?? ()
#31 0x000055f805ed2d75 in ngx_conf_parse ()
#32 0x000055f805ed02ec in ngx_init_cycle ()
#33 0x000055f805eea4b2 in ngx_master_process_cycle ()
#34 0x000055f805ebc4ca in main ()
Perl? Looks familiar. In your earlier error log, we saw:
Looking around the nginx configuration, I don't think that onlyoffice actually needs the nginx Perl module. As far as I can tell, it's only present because it's enabled by default as part of nginx-extras
package.
You can disable the module:
sudo rm /etc/nginx/modules-enabled/50-mod-http-perl.conf
and make sure to restart nginx fully again, using the steps from earlier:
sudo systemctl stop nginx
sudo killall -9 nginx
sudo systemctl start nginx
After disabling the Perl module, I can't get nginx to crash anymore. I was able to create a certificate using certbot --nginx
and nginx -s reload
works every time too.
I'm not sure what the root cause of the Perl crash is. I didn't look too deeply at it. It might have something to do with the fact that the onlyoffice packages weren't built for Ubuntu 20.04 (for Debian Squeeze in fact) and there might be some binary incompatibility happening somewhere.