Bug#636562: libapr1: Apache child processes frequently segfault
Package: libapr1
Version: 1.4.2-6+squeeze3
Severity: important
Tags: squeeze
-- System Information:
Debian Release: 6.0.2
APT prefers stable
APT policy: (990, 'stable'), (500, 'stable-updates'), (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.39.1-linode34 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libapr1 depends on:
ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib
ii libuuid1 2.17.2-9 Universally Unique ID library
libapr1 recommends no packages.
libapr1 suggests no packages.
-- no debconf information
Modules installed:
alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi dir env mime negotiation php5 reqtimeout rewrite rpaf setenvif status
php-apc is also installed but when disabled the segfaults still occurred.
The only package installed from testing is nginx, and later gdb (to work with PIE binary)
Backtrace follows (I installed libapr1-dev and dbg but gdb still says no symbol table for libapr-1.so)
[New Thread 12600]
warning: Can't read pathname for load map: Input/output error.
Core was generated by `/usr/sbin/apache2 -k start'.
Program terminated with signal 11, Segmentation fault.
#0 0xb776d74a in apr_ipsubnet_test () from /usr/lib/libapr-1.so.0
Thread 1 (Thread 12600):
#0 0xb776d74a in apr_ipsubnet_test () from /usr/lib/libapr-1.so.0
No symbol table info available.
#1 0xb7572edb in find_allowdeny (r=<value optimized out>, a=<value optimized out>, method=0) at /tmp/buildd/apache2-2.2.16/modules/aaa/mod_authz_host.c:239
mmask = 1
i = 0
gothost = 0
remotehost = 0x0
#2 0xb75730c6 in check_dir_access (r=0xb908adb0) at /tmp/buildd/apache2-2.2.16/modules/aaa/mod_authz_host.c:284
method = 0
ret = <value optimized out>
a = <value optimized out>
#3 0xb78291b9 in ap_run_access_checker (r=0xb908adb0) at /tmp/buildd/apache2-2.2.16/server/request.c:77
n = 0
rv = <value optimized out>
#4 0xb782b51a in ap_process_request_internal (r=0xb908adb0) at /tmp/buildd/apache2-2.2.16/server/request.c:185
file_req = 0
access_status = <value optimized out>
#5 0xb7841cb8 in ap_process_request (r=0xb908adb0) at /tmp/buildd/apache2-2.2.16/modules/http/http_request.c:280
access_status = 0
#6 0xb783e7e8 in ap_process_http_connection (c=0xb90355e8) at /tmp/buildd/apache2-2.2.16/modules/http/http_core.c:190
r = 0xb908adb0
csd = 0x0
#7 0xb7836dc1 in ap_run_process_connection (c=0xb90355e8) at /tmp/buildd/apache2-2.2.16/server/connection.c:43
n = 1
rv = <value optimized out>
#8 0xb784718a in child_main (child_num_arg=<value optimized out>) at /tmp/buildd/apache2-2.2.16/server/mpm/prefork/prefork.c:662
current_conn = <value optimized out>
csd = 0xb9035450
ptrans = 0xb9035410
allocator = 0xb9033380
status = <value optimized out>
i = <value optimized out>
lr = <value optimized out>
pollset = 0xb90334a0
sbh = 0xb9033498
bucket_alloc = 0xb90395c8
last_poll_idx = 0
#9 0xb784750e in make_child (s=<value optimized out>, slot=9) at /tmp/buildd/apache2-2.2.16/server/mpm/prefork/prefork.c:758
No locals.
#10 0xb78484bb in perform_idle_server_maintenance (_pconf=0xb8d490a8, plog=0xb8d7b170, s=0xb8d4d8e8) at /tmp/buildd/apache2-2.2.16/server/mpm/prefork/prefork.c:893
i = 1
idle_count = -1215994992
free_length = <value optimized out>
free_slots = {9, 10, -1194028888, -1215994796, -1082039208, -1216973682, -1194053420, -1219289824, 1, -1219323588, -1217147353, -1219289984, -1217142247, 0, -1233576388, -1216888844, -1082039144, -1216971262, -1194053424, -1215994796, -1082039144, -1216973682, -1194053420, -1216060661, 0, 0, 2, 2, 0, 0, -1233674439, -1216888844}
last_non_dead = <value optimized out>
total_non_dead = 9
#11 ap_mpm_run (_pconf=0xb8d490a8, plog=0xb8d7b170, s=0xb8d4d8e8) at /tmp/buildd/apache2-2.2.16/server/mpm/prefork/prefork.c:1097
status = -1193795192
pid = {pid = -1, in = 0xb7768466, out = 0xb8d43008, err = 0x0}
child_slot = <value optimized out>
exitwhy = 3100956904
processed_status = 2
index = <value optimized out>
remaining_children_to_start = <value optimized out>
rv = <value optimized out>
#12 0xb7818fa2 in main (argc=3, argv=0xbf816634) at /tmp/buildd/apache2-2.2.16/server/main.c:742
c = 0 '\000'
configtestonly = -1216046332
confname = 0xb784a36f "apache2.conf"
def_server_root = 0xb784a362 "/etc/apache2"
temp_error_log = 0xb784a54c "Pre-configuration failed"
error = <value optimized out>
process = 0xb8d47130
server_conf = <value optimized out>
pglobal = 0xb784a580
pconf = 0xb8d490a8
plog = 0xb8d7b170
ptemp = 0xb8d82188
pcommands = 0xb8d4b0b0
opt = 0xb8d4b150
rv = <value optimized out>
mod = <value optimized out>
optarg = 0xb78499fa "\201\303", <incomplete sequence \372\245>
Reply to: