Segfaulting when starting 2.2.4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I don't know what happened to my Apache 2.2.4, but it now segfaults.

[debug] prefork.c(991): AcceptMutex: sysvsem (default: sysvsem)
[notice] child pid 2773 exit signal Segmentation fault (11)
[notice] child pid 2774 exit signal Segmentation fault (11)
[notice] child pid 2775 exit signal Segmentation fault (11)
[notice] child pid 2776 exit signal Segmentation fault (11)
[notice] child pid 2777 exit signal Segmentation fault (11)
[notice] child pid 2778 exit signal Segmentation fault (11)
(...etc..)

I don't know if this is related to me upgrading my kernel to
2.6.21 (which is the only thing that changed recently).
I am using a heavily updated Slackware 10.2.  (It's closer
to 11.0).  Also, I don't know my way around gdb, but was
hoping someone out there might be able to help this strange
segfault.  I am still searching through the kernel configuration
to see just what is bugging up Apache, but at this point,
I have no idea.

Here's the httpd -V dump:

Server version: Apache/2.2.4 (Unix)
Server built:   Jun 24 2007 13:55:49
Server's Module Magic Number: 20051115:4
Server loaded:  APR 1.2.8, APR-Util 1.2.8
Compiled using: APR 1.2.8, APR-Util 1.2.8
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
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 enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/var/www"
 -D SUEXEC_BIN="/var/www/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

And here's a backtrace of the gdb dump (not via a core file, but as
a running process):

/var/www/bin# gdb ./httpd
GNU gdb 6.3
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 "i486-slackware-linux"...Using host
libthread_db library "/lib/libthread_db.so.1".

(gdb) run -X
Starting program: /var/www/bin/httpd -X
[Thread debgging using libthread_db enabled]
[New Thread 16384 (LWP 2705)]
Apache/2.2.4 mod_ssl/2.2.4 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server dumer:443 (RSA)
Enter pass phrase:<passphrase>

OK: Pass Phrase Dialog successful.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 2705)]
apr_pollset_add (pollset=0x0, descriptor=0xbfb9ca30) at
   poll/unix/epoll.c:146
146          pollset_lock_rings();
(gdb) bt
#0  apr_pollset_add (pollset=0x0, descriptor=0xbfb9ca30)
    at poll/unix/epoll.c:146
#1  0x0818b484 in child_main (child_num_arg=0) at prefork.c:532
#2  0x0818b720 in make_child (s=0x8202b70, slot=0) at prefork.c:680
#3  0x0818c1ea in ap_mpm_run (_pconf=0x8202b70, plog=0x823b1e8, s=0x1)
    at prefork.c:956
#4  0x080859ac in main (argc=2, argv=0xbfb9cb84) at main.c:717
(gdb) frame 4
#4  0x080859ac in main (argc=2, argv=0xbfb9cb84) at main.c:717
717          if (ap_mpm_run(pconf, plog, server_conf))
(gdb) frame 3
#3  0x0818c1ea in ap_mpm_run (_pconf=0x8202b70, plog=0x823b1e8, s=0x1)
    at prefork.c:956
956          make_child(ap_server_conf, 0);
(gdb) frame 2
#2  0x0818b720 in make_child (s=0x8202b70, slot=0) at prefork.c:680
680          child_main(slot);
(gdb) frame 1
#1  0x0818b484 in child_main (child_num_arg=0) at prefork.c:532
532          (void) apr_pollset_add(pollset, &pfd);
(gdb) frame 0
#0  apr_pollset_add (pollset=0x0, descriptor=0xbfb9ca30)
    at poll/unix/epoll.c:146
146          pollset_lock_rings();
(gdb)

At this point, I have no idea what to do.

Any help greatly appreciated.

Ed

---------------------------------------------------------------------
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@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux