You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by angie ahl <an...@gmail.com> on 2006/08/23 01:28:31 UTC

[users@httpd] Apache 2.0.59 - segmentation faults: signal 11, with no modules loaded

I'm new to this list and sorry that my first post is quite so gritty.
But Hi anyway and Sorry for the long post.

I have a FreeBSD 5.4-RELEASE (GENERIC) Server running Apache 2.0.59.

I'm getting regular segmentation faults (several a minute) on this server.

Logs say:

pid 563 (httpd), uid 1004: exited on signal 11

UID is apache which is what the server runs as for user and group

 I use DirectAdmin as a control panel and it builds apache for you.
I've searched the DirectAdmin forums and posted there but get the
feeling that this isn't something they can really help with.

I've pasted build data at the end in case it's relevant. A google has
given me the idea that APR maybe out of date but as I only heard of
APR yesterday I thought I should seek some advice.


I use mod_perl as a DSO for my development but in tracking this down I
disabled all DSO's and sites so I could rule them out and indeed the
seg faults continued without any DSO's loaded.

I found the following page on debugging apache:

http://httpd.apache.org/dev/debugging.html#crashes

>From this I have managed to get a core dump but I'm not sure that
Apache is compiled with the right settings to get all of the
information needed to get to the bottom of it. I've pasted the GDB
info that I have managed to get after the build data at the end. I'm
afraid I don't really understand what it's telling me as I speak perl
rather than C ;) I've also pasted in the configuration that
DirectAdmin used for the configure.

The Questions:

Do I need to rebuild Apache with debugging turned on or do I already
have the information needed to find the problem? If I do does anyone
know where I can get this info?

Does the GDB output mean anything to anyone.

Notes: I'm fairly new to FreeBSD so haven't updated everything as
often as I should on the basis that if it's not broke don't fix it.
But now it appears something is broke so I may have to, but it's
something that scares the hell out of me. I'm an OSX user usually.



Build Data:

Server version: Apache/2.0.59
Server built:   Aug 22 2006 23:15:41
Server's Module Magic Number: 20020903:12
Server loaded:  APR 0.9.12, APR-UTIL 0.9.12
Compiled using: APR 0.9.12, APR-UTIL 0.9.12
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled)
 -D APR_USE_FLOCK_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/var/logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


Configuration options:
#!/bin/sh
OPTIM="-DHARD_SERVER_LIMIT=32768 -DFD_SETSIZE=32768 " \
./configure \
        --enable-ssl \
        --prefix=/etc/httpd \
        --exec-prefix=/etc/httpd \
        --bindir=/usr/bin \
        --sbindir=/usr/sbin \
        --sysconfdir=/etc/httpd/conf \
        --enable-module=all \
        --enable-rewrite \
        --enable-suexec \
        --with-suexec-docroot=/ \
        --with-suexec-caller=apache \
        --with-suexec-userdir=public_html \
        --with-suexec-logfile=/var/log/httpd/suexec_log \
        --with-suexec-bin=/usr/sbin/suexec \
        --includedir=/usr/include/apache \
        --libexecdir=/usr/lib/apache \
        --datadir=/var/www \
        --localstatedir=/var \
        --disable-auth-dbm --disable-auth-db


GDB output:

hq2# gdb /usr/sbin/httpd /httpd.core

GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
Core was generated by `httpd'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libssl.so.3...done.
Loaded symbols for /usr/lib/libssl.so.3
Reading symbols from /lib/libcrypto.so.3...done.
Loaded symbols for /lib/libcrypto.so.3
Reading symbols from /etc/httpd/lib/libaprutil-0.so.9...done.
Loaded symbols for /etc/httpd/lib/libaprutil-0.so.9
Reading symbols from /usr/local/lib/libexpat.so.6...done.
Loaded symbols for /usr/local/lib/libexpat.so.6
Reading symbols from /etc/httpd/lib/libapr-0.so.9...done.
Loaded symbols for /etc/httpd/lib/libapr-0.so.9
Reading symbols from /lib/libm.so.3...done.
Loaded symbols for /lib/libm.so.3
Reading symbols from /lib/libcrypt.so.2...done.
Loaded symbols for /lib/libcrypt.so.2
Reading symbols from /lib/libc.so.5...done.
Loaded symbols for /lib/libc.so.5
Reading symbols from /usr/lib/apache/libphp4.so...done.
Loaded symbols for /usr/lib/apache/libphp4.so
Reading symbols from /usr/local/lib/libzzip-0.so.10...done.
Loaded symbols for /usr/local/lib/libzzip-0.so.10
Reading symbols from /usr/local/lib/libmhash.so.2...done.
Loaded symbols for /usr/local/lib/libmhash.so.2
Reading symbols from /usr/local/lib/libmcrypt.so.8...done.
Loaded symbols for /usr/local/lib/libmcrypt.so.8
Reading symbols from /usr/local/lib/libltdl.so.4...done.
Loaded symbols for /usr/local/lib/libltdl.so.4
Reading symbols from /usr/local/lib/libintl.so.6...done.
Loaded symbols for /usr/local/lib/libintl.so.6
Reading symbols from /usr/local/lib/libpng.so.5...done.
Loaded symbols for /usr/local/lib/libpng.so.5
Reading symbols from /usr/local/lib/libz.so...done.
Loaded symbols for /usr/local/lib/libz.so
Reading symbols from /usr/local/lib/libjpeg.so.9...done.
Loaded symbols for /usr/local/lib/libjpeg.so.9
Reading symbols from /usr/local/lib/libcurl.so.3...done.
Loaded symbols for /usr/local/lib/libcurl.so.3
Reading symbols from /lib/libz.so.2...done.
Loaded symbols for /lib/libz.so.2
Reading symbols from /usr/local/lib/libiconv.so.3...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /usr/lib/apache/mod_perl.so...done.
Loaded symbols for /usr/lib/apache/mod_perl.so
Reading symbols from /usr/local/lib/perl5/5.8.7/mach/CORE/libperl.so...done.
Loaded symbols for /usr/local/lib/perl5/5.8.7/mach/CORE/libperl.so
Reading symbols from /lib/libutil.so.4...done.
Loaded symbols for /lib/libutil.so.4
Reading symbols from /usr/lib/apache/mod_apreq2.so...done.
Loaded symbols for /usr/lib/apache/mod_apreq2.so
Reading symbols from /etc/httpd/lib/libapreq2.so.8...done.
Loaded symbols for /etc/httpd/lib/libapreq2.so.8
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x28b86f28 in ?? ()

(gdb) bt
#0  0x28b86f28 in ?? ()
#1  0x283591a5 in __cxa_finalize () from /lib/libc.so.5
#2  0x28358ec6 in exit () from /lib/libc.so.5
#3  0x28268a5c in apr_proc_detach (daemonize=1) at procsup.c:34
#4  0x08097390 in prefork_pre_config (p=0x80dd018, plog=0x8115018,
ptemp=0x811c018) at prefork.c:1170
#5  0x0809789e in ap_run_pre_config (pconf=0x80dd018, plog=0x8115018,
ptemp=0x811c018) at config.c:81
#6  0x0809c055 in main (argc=3, argv=0xbfbfecac) at main.c:595

(gdb) bt full
#0  0x28b86f28 in ?? ()
No symbol table info available.
#1  0x283591a5 in __cxa_finalize () from /lib/libc.so.5
No symbol table info available.
#2  0x28358ec6 in exit () from /lib/libc.so.5
No symbol table info available.
#3  0x28268a5c in apr_proc_detach (daemonize=1) at procsup.c:34
        x = 135068144
#4  0x08097390 in prefork_pre_config (p=0x80dd018, plog=0x8115018,
ptemp=0x811c018) at prefork.c:1170
        restart_num = 2
        no_detach = 0
        debug = 135068144
        foreground = 160
        rv = 135068144
#5  0x0809789e in ap_run_pre_config (pconf=0x80dd018, plog=0x8115018,
ptemp=0x811c018) at config.c:81
        pHook = (ap_LINK_pre_config_t *) 0x80cf9f0
        n = 2
        rv = 160
#6  0x0809c055 in main (argc=3, argv=0xbfbfecac) at main.c:595
        exit_status = 0
        c = 0 '\0'
        configtestonly = 0
        confname = 0x80c503b "conf/httpd.conf"
        def_server_root = 0x80c624f "/etc/httpd"
        temp_error_log = 0x0
        server_conf = (server_rec *) 0x80e2140
        pglobal = (apr_pool_t *) 0x80db018
        pconf = (apr_pool_t *) 0x80dd018
        plog = (apr_pool_t *) 0x8115018
        ptemp = (apr_pool_t *) 0x811c018
        pcommands = (apr_pool_t *) 0x80df018
        opt = (apr_getopt_t *) 0x80df0b0
        rv = 135068144
        mod = (module **) 0x80e2140
        optarg = 0x28359096 "??U\211?\203?$?E?\002"
        signal_server = (apr_OFN_ap_signal_server_t *) 0xa0

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


[users@httpd]

Posted by Tony Morris <tm...@tmorris.net>.
Looking at http://httpd.apache.org/docs/2.0/mod/core.html#locationmatch
and using its example, is it possible to proxy depending on which of the
paths are used?

e.g.
Given <LocationMatch "/(extra|special)/data">
I wish to proxy using mod_proxy to either http://host/extra/data or
http://host/special/data - depending on which of the paths are matched
as the location.

Ultimately, I'd like to be able to have two scenarios

"/<any-path>/foo" proxy to http://host/<any-path>/foo
"/(path1|path2|path3...|pathn)" proxy to http://host/<the-matched-path>

Tony Morris
http://tmorris.net/

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org