Bug#803043: mod_perl2 / Apache segfaults after upgrading from Wheezy to Jessie

Patrick Matthäi pmatthaei at debian.org
Mon Oct 26 10:21:12 UTC 2015


Package: libapache2-mod-perl2
Version: 2.0.9~1624218-2
Severity: grave

Hello,

after upgrading our otrs2 server from wheezy/amd64 to jessie I noticed 
dozens of apache segfaults per day on this machine. In dmesg it looks 
like this:
[596698.770628] /usr/share/otrs[6733]: segfault at 8 ip 00007f0d3da86933 
sp 00007f0d36396740 error 4 in libperl.so.5.20.2[7f0d3d9a3000+1b5000]
[660795.241194] /usr/share/otrs[451]: segfault at 1 ip 0000000000000001 
sp 00007f0d28ff0988 error 14
[660891.928530] /usr/sbin/apach[1162]: segfault at 10 ip 
00007f0d3da78ec0 sp 00007f0d36b97b80 error 4 in 
libperl.so.5.20.2[7f0d3d9a3000+1b5000]
[668700.556882] /usr/sbin/apach[14545]: segfault at 18 ip 
00007f0d3da79307 sp 00007f0d267eb8f0 error 4 in 
libperl.so.5.20.2[7f0d3d9a3000+1b5000]
[751331.096289] traps: /usr/sbin/apach[29092] general protection 
ip:7f0d3da78baf sp:7f0d2d7f97f0 error:0 in 
libperl.so.5.20.2[7f0d3d9a3000+1b5000]

In the apache error log:
[Mon Oct 26 11:12:14.001586 2015] [core:notice] [pid 23277:tid 
140548357687168] AH00051: child pid 23283 exit signal Segmentation fault 
(11), possible coredump in /tmp/apache

Now the more curious thing. I have updated another server from Wheezy to 
Jessie, which is just serving gitolite and subversion repositories 
(about mod_svn). After the upgrade full svn checkouts were impossible, 
also because of segfaults from Apache itself. Later I found, that 
mod_perl2 was installed and activated on this system, but it was not 
used at all. So uninstalling libapache2-mod-perl2 solved the issue on 
the server, where it was not required.

 From the otrs Server I have got the following core dump:

root at ticket:/tmp/apache# gdb /usr/sbin/apache2 -c core
GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/apache2...Reading symbols from 
/usr/lib/debug//usr/sbin/apache2...done.
done.

warning: core file may not match specified executable file.
[New LWP 23304]
[New LWP 23305]
[New LWP 23307]
[New LWP 23296]
[New LWP 23308]
[New LWP 23293]
[New LWP 23309]
[New LWP 23291]
[New LWP 23286]
[New LWP 23289]
[New LWP 23288]
[New LWP 23287]
[New LWP 23290]
[New LWP 23285]
[New LWP 23292]
[New LWP 23294]
[New LWP 23310]
[New LWP 23295]
[New LWP 23283]
[New LWP 23297]
[New LWP 23298]
[New LWP 23301]
[New LWP 23300]
[New LWP 23299]
[New LWP 23302]
[New LWP 23306]
[New LWP 23303]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/apache2 -k start'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fd3f096bac2 in modperl_interp_unselect () from 
/usr/lib/apache2/modules/mod_perl.so
(gdb) bt
#0  0x00007fd3f096bac2 in modperl_interp_unselect () from 
/usr/lib/apache2/modules/mod_perl.so
#1  0x00007fd3f63959be in apr_pool_destroy () from 
/usr/lib/x86_64-linux-gnu/libapr-1.so.0
#2  0x00007fd3ef858c24 in ssl_io_filter_output (f=0x7fd3f6d15868, 
bb=0x7fd3f6be2b58) at ssl_engine_io.c:1659
#3  0x00007fd3ef85577a in ssl_io_filter_coalesce (f=0x0, 
bb=0x7fd3f6be2b58) at ssl_engine_io.c:1558
#4  0x00007fd3f6cd5b3d in ap_process_request_after_handler 
(r=0x7fd3f6bda0a0) at http_request.c:256
#5  0x00007fd3f6cd6820 in ap_process_request (r=0x7fd3f6bda0a0) at 
http_request.c:363
#6  0x00007fd3f6cd3122 in ap_process_http_sync_connection 
(c=0x7fd3f6d152c8) at http_core.c:190
#7  ap_process_http_connection (c=0x7fd3f6d152c8) at http_core.c:231
#8  0x00007fd3f6cc9b10 in ap_run_process_connection (c=0x7fd3f6d152c8) 
at connection.c:41
#9  0x00007fd3f0da651b in process_socket (bucket_alloc=<optimized out>, 
my_thread_num=<optimized out>, my_child_num=<optimized out>,
     sock=<optimized out>, p=<optimized out>, thd=<optimized out>) at 
worker.c:619
#10 worker_thread (thd=0x0, dummy=0x0) at worker.c:978
#11 0x00007fd3f61640a4 in start_thread () from 
/lib/x86_64-linux-gnu/libpthread.so.0
#12 0x00007fd3f5e9904d in clone () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt full
#0  0x00007fd3f096bac2 in modperl_interp_unselect () from 
/usr/lib/apache2/modules/mod_perl.so
No symbol table info available.
#1  0x00007fd3f63959be in apr_pool_destroy () from 
/usr/lib/x86_64-linux-gnu/libapr-1.so.0
No symbol table info available.
#2  0x00007fd3ef858c24 in ssl_io_filter_output (f=0x7fd3f6d15868, 
bb=0x7fd3f6be2b58) at ssl_engine_io.c:1659
         data = 0x0
         len = 0
         bucket = 0x7fd3f6be31a8
         filter_ctx = 0x7fd3f6d15810
         inctx = 0x0
         rblock = APR_BLOCK_READ
#3  0x00007fd3ef85577a in ssl_io_filter_coalesce (f=0x0, 
bb=0x7fd3f6be2b58) at ssl_engine_io.c:1558
         ctx = 0x7fd3f6be2350
         count = 0
#4  0x00007fd3f6cd5b3d in ap_process_request_after_handler 
(r=0x7fd3f6bda0a0) at http_request.c:256
         bb = 0x7fd3f6be2b58
         b = <optimized out>
         c = 0x7fd3f6d152c8
#5  0x00007fd3f6cd6820 in ap_process_request (r=0x7fd3f6bda0a0) at 
http_request.c:363
         bb = 0x0
         c = 0x7fd3f6d152c8
         rv = 0
#6  0x00007fd3f6cd3122 in ap_process_http_sync_connection 
(c=0x7fd3f6d152c8) at http_core.c:190
         r = 0x7fd3f6bda0a0
         cs = 0x0
         csd = 0x0
         mpm_state = 0
#7  ap_process_http_connection (c=0x7fd3f6d152c8) at http_core.c:231
No locals.
#8  0x00007fd3f6cc9b10 in ap_run_process_connection (c=0x7fd3f6d152c8) 
at connection.c:41
         pHook = <optimized out>
         n = 2
         rv = -1
#9  0x00007fd3f0da651b in process_socket (bucket_alloc=<optimized out>, 
my_thread_num=<optimized out>, my_child_num=<optimized out>,
     sock=<optimized out>, p=<optimized out>, thd=<optimized out>) at 
worker.c:619
         current_conn = 0x7fd3f6d152c8
         conn_id = 140548355740360
         sbh = 0x7fd3f6d152c0
#10 worker_thread (thd=0x0, dummy=0x0) at worker.c:978
         process_slot = 0
         thread_slot = 19
         csd = 0x7fd3f6d150b0
         bucket_alloc = 0x0
         last_ptrans = 0x7fd3f6d150b0
         ptrans = 0x7fd3f6d15028
         is_idle = -154053944
#11 0x00007fd3f61640a4 in start_thread () from 
/lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#12 0x00007fd3f5e9904d in clone () from /lib/x86_64-linux-gnu/libc.so.6
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
(gdb)

-- 
/*
Mit freundlichem Gruß / With kind regards,
  Patrick Matthäi
  GNU/Linux Debian Developer

   Blog: http://www.linux-dev.org/
E-Mail: pmatthaei at debian.org
         patrick at linux-dev.org
*/



More information about the pkg-perl-maintainers mailing list