Menu

#73 Apache dies with many ``sigal 11`` faults

v1.0 (example)
open
nobody
9
2003-12-17
2003-12-17
No

Environment:

- FreeBSD i386 4.9 (MAX_USERS=512)
- Load averages: 0.73, 0.83, 0.93
- Mem: 727M Active, 712M Inact, 251M Wired, 85M
Cache, 199M Buf, 236M Free (2GB physical)
- Swap: 1059M Total, 2896K Used, 1056M Free
- Apache 1.3.27 (5 con-current, working on different
IP's)
- PHP 4.2.3 (one php.ini for all Apache's, including
MMCache's own config)
- MMCache 2.4.6
__________________________________

``ipcs -T`` output:

shmmax: 67112960 (max shared memory segment
size)
shmmin: 2 (min shared memory segment size)
shmmni: 257 (max number of shared memory
identifiers)
shmseg: 65 (max shared memory segments per
process)
shmall: 16385 (max amount of shared memory in pages)
__________________________________

``netstat -m`` output:

479/1328/34816 mbufs in use (current/peak/max):
479 mbufs allocated to data
396/1078/8704 mbuf clusters in use (current/peak/max)
2488 Kbytes allocated to network (9% of mb_map in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines
__________________________________

Turck MMCache's configuration:

[mmcache]
mmcache.admin.name="mmcache"
mmcache.admin.password="xxxxxxxxxxxxxxx"
zend_extension="/www/modules/mmcache.so"
mmcache.shm_size="32"
mmcache.cache_dir="/var/tmp/mmcache"
mmcache.enable="1"
mmcache.optimizer="1"
mmcache.check_mtime="1"
mmcache.debug="0"
mmcache.filter=""
mmcache.shm_max="0"
mmcache.shm_ttl="7200"
mmcache.shm_prune_period="0"
mmcache.shm_only="1"
mmcache.compress="0"
mmcache.keys="shm_only"
mmcache.sessions="disk_only"
mmcache.content="disk_only"
__________________________________

With the above configuration, which to me looks like
wonderful, Apache still crashes here and there with sigal
11 errors. Needless to say that turning off MMCache
completely eliminates those errors.

A snippet from ``/var/log/messages``:

Dec 17 14:26:40 dns /kernel: pid 82868 (httpd1), uid
10000: exited on signal 11
Dec 17 14:26:40 dns /kernel: pid 83366 (httpd2), uid
10000: exited on signal 11
Dec 17 14:26:41 dns /kernel: pid 82913 (httpd1), uid
10000: exited on signal 11
Dec 17 14:26:41 dns /kernel: pid 83386 (httpd5), uid
10000: exited on signal 11
Dec 17 14:26:43 dns /kernel: pid 82912 (httpd1), uid
10000: exited on signal 11
Dec 17 14:26:43 dns /kernel: pid 83385 (httpd5), uid
10000: exited on signal 11
Dec 17 14:26:44 dns /kernel: pid 83398 (httpd2), uid
10000: exited on signal 11
Dec 17 14:26:44 dns /kernel: pid 83384 (httpd5), uid
10000: exited on signal 11
Dec 17 14:26:45 dns /kernel: pid 82901 (httpd1), uid
10000: exited on signal 11
Dec 17 14:26:46 dns /kernel: pid 82858 (httpd1), uid
10000: exited on signal 11
Dec 17 14:26:46 dns /kernel: pid 83397 (httpd2), uid
10000: exited on signal 11
Dec 17 14:26:46 dns /kernel: pid 83383 (httpd5), uid
10000: exited on signal 11
Dec 17 14:26:47 dns /kernel: pid 82919 (httpd1), uid
10000: exited on signal 11
Dec 17 14:26:48 dns /kernel: pid 82857 (httpd1), uid
10000: exited on signal 11
Dec 17 14:26:48 dns /kernel: pid 83395 (httpd2), uid
10000: exited on signal 11
Dec 17 14:26:48 dns /kernel: pid 83367 (httpd2), uid
10000: exited on signal 11
Dec 17 14:26:48 dns /kernel: pid 83379 (httpd5), uid
10000: exited on signal 11
Dec 17 14:26:50 dns /kernel: pid 83378 (httpd5), uid
10000: exited on signal 11
Dec 17 14:26:51 dns /kernel: pid 83352 (httpd2), uid
10000: exited on signal 11
Dec 17 14:26:52 dns /kernel: pid 83380 (httpd5), uid
10000: exited on signal 11
Dec 17 14:26:53 dns /kernel: pid 83409 (httpd1), uid
10000: exited on signal 11
Dec 17 14:26:53 dns /kernel: pid 83311 (httpd2), uid
10000: exited on signal 11
Dec 17 14:26:53 dns /kernel: pid 83373 (httpd5), uid
10000: exited on signal 11
Dec 17 14:26:54 dns /kernel: pid 83416 (httpd2), uid
10000: exited on signal 11
Dec 17 14:26:54 dns /kernel: pid 83396 (httpd4), uid
10000: exited on signal 11
Dec 17 14:26:54 dns /kernel: pid 83226 (httpd5), uid
10000: exited on signal 11

(Notice dates and times... every second or so, another
process crashes.)

Discussion

  • Comrax(R) Ltd.

    Comrax(R) Ltd. - 2003-12-17
    • priority: 5 --> 9
     
  • Piotr Szczepanik

    Logged In: YES
    user_id=708289

    I had same problems, I backed out to version 2.4.1 and it
    works OK, the only problem now is when I do 'apachect
    restart' it gives me segmentation faults errors (signal 11) but
    that's not much important - it's not too often.
    After disabling mmcache, I haven't recorded any signal 11
    errors for more than 1 month...
    My config:
    - FreeBSD i386 4.7
    - Mem: 224M Active, 580M Inact, 133M Wired, 32M Cache,
    112M Buf, 34M Free (1GB physical)
    - Swap: 2048M Total, 1572K Used, 2046M Free
    - Apache/1.3.28 (Unix) PHP/4.3.4 mod_ssl/2.8.15
    OpenSSL/0.9.7c
    - MMCache 2.4.6

    -----------------
    netstat -m
    261/800/26624 mbufs in use (current/peak/max):
    261 mbufs allocated to data
    259/738/6656 mbuf clusters in use (current/peak/max)
    1676 Kbytes allocated to network (8% of mb_map in use)
    0 requests for memory denied
    0 requests for memory delayed
    0 calls to protocol drain routines

    -------------
    [mmcache]
    zend_extension="/usr/local/lib/php/20020429/mmcache.so"
    mmcache.shm_size="16"
    mmcache.cache_dir="/tmp"
    mmcache.enable="1"
    mmcache.optimizer="1"
    mmcache.check_mtime="1"
    mmcache.debug="0"
    mmcache.filter="!/usr/local/www/horde/*"
    mmcache.shm_max="0"
    mmcache.shm_ttl="0"
    mmcache.shm_prune_period="0"
    mmcache.shm_only="0"
    mmcache.compress="0"
    mmcache.keys="shm_and_disk"
    mmcache.sessions="shm_and_disk"
    mmcache.content="shm_and_disk"

     
  • Michael Weck

    Michael Weck - 2004-01-26

    Logged In: YES
    user_id=701927

    This also happens on our server:

    Dual CPU 1Ghz
    1 GB Ram

    Freebsd 4.5
    Apache 1.3.29 / mod_ssl
    Php 4.3.4

     
  • Nobody/Anonymous

    Logged In: NO

    My sparc solaris machines have same problem. but linux boxes
    are O.K.
    My sparc machines use Solaris 8 and Solaris 2.6.

     
  • Sungchul Park

    Sungchul Park - 2004-01-27

    Logged In: YES
    user_id=961290

    I have same problem with sparc solaris boxes. my sparc
    machines use Solaris 8 and Solaris 2.6.
    My linux boxes have no problem such like this.

     
  • Nobody/Anonymous

    Logged In: NO

    This happens on my linux system too..

    HINT: for me it only happens after at least ONE apache
    RELOAD. It never happens if I STOP/START apache!

    In the case when it happens it seems that it happens after
    serving the request before the child process exits

     
  • Konstantin Pelepelin

    Logged In: YES
    user_id=876499

    I see the same here with PHP 4.3.4/mmcache 2.4.1 (RedHat 7.3)
    It wasn't seen with PHP 4.1.2/mmcache 2.4.1

     
  • Nobody/Anonymous

    Logged In: NO

    Recompile php-mmcache if you have such warning after starting
    apache. I had similar situation after upgrading apache without
    recompiling it...

     
  • Technocom

    Technocom - 2004-02-13

    Logged In: YES
    user_id=974724

    This also happens on our server:

    Dual CPU 800Mhz
    1 GB Ram

    Unixware 7.1.1
    Apache 1.3.28
    Php 4.3.4

    Any patch?

     
  • Vladimir Kouznetsov

    Logged In: YES
    user_id=976053

    I use Linux
    (several 1 CPU servers with different kernel, Apache 1.3)
    PHP 4.3.4 MMCache 2.4.6 and have the similar problem.
    I have Apache crashes (segfault) about once a day.
    I guess it happens under the high load, when two or more
    HTTP requests hit the same page at the same time.

    I use only code caching:
    mmcache.shm_only="1"
    mmcache.optimizer="1"

    No Apache RESTART, everything recompiled.

    Any workaround?
    --------------------
    Best Regards, Vladimir

     
  • Technocom

    Technocom - 2004-02-16

    Logged In: YES
    user_id=974724

    We put PHP 4.3.4 and MMCache 2.4.1 and all problems seems
    to desappear.

     
  • Nobody/Anonymous

    Logged In: NO

    Same problem with PHP5-beta4-snapshot-200422* on a
    redhat 9.
    BUT !
    In my root directory i've got .htaccess with an
    php_auto_prepend_file utf8decode.php

    When i enable it -> segfault. Disable ->ok. I must restart
    apache between each test.

     
  • Nobody/Anonymous

    Logged In: NO

    i have the same problem on solaris 8 (sun4u), apache 1.3.29,
    php 4.3.4, mmcache 2.4.6.
    (same problem on 8 similar machines)

    after an apache restart, i have no problems, 2-3 hours later
    (depending on user-traffic), it starts to segfault.
    i simple apache stop-start resolves it for the next hours...

    workaround? in my case a cronjob grep for segfaults in a
    tail on error_log. if 10 out of 20 are segfaults and no
    apache sigterm message is found, stop, sleep, start.
    ugly, but working...

     
  • Nobody/Anonymous

    Logged In: NO

    I have this problems on OpenBSD

    apache: 1.3.28
    php: 4.3.4
    mmcache: 2.4.6

     
  • hot_shot

    hot_shot - 2004-04-20

    Logged In: YES
    user_id=1019025

    same here, on linux with php 4.2.2 mmcache 2.4.6 on a dual
    opteron system. usually works fine for a few hours before the
    segmentation faults appear. apache restart helps again for a
    few hours. Thanks for any help on this issue.

     
  • Nobody/Anonymous

    Logged In: NO

    i had the same problems under solaris 8 & solaris 9.
    the only intersting entries in logfiles whenever it started
    to segfault was a higher amount of concurrent requests (more
    than "minspareservers" apache settings).
    so i increased the minspareservers & maxspareservers
    settings - and the problem has gone.

    it is not a solution - and there are not that much logical
    reasons why this workaround really should work - but it was
    the only change i made to get it stable.

     
  • Nobody/Anonymous

    Logged In: NO

    Same problems occuring on 4 FreeBSD servers 4.7-4.10.
    Very similar vitals compared to the original bug report.

     
  • wvhs

    wvhs - 2004-06-24

    Logged In: YES
    user_id=1069839

    Same problems occuring on Solaris8 for SPARC.
    Apache-1.3.29 and PHP-4.3.6 with MMCache-2.4.6.

    Does anybody have a good idea for fix ???

    My php.ini (for mmcache) configuration are following.
    [mmcache]
    zend_extension="/ul/lib/php/extensions/no-debug-non-zts-
    20020429/mmcache.so"
    mmcache.shm_size="16"
    mmcache.cache_dir="/tmp/mmcache"
    mmcache.enable="1"
    mmcache.optimizer="1"
    mmcache.check_mtime="1"
    mmcache.debug="0"
    mmcache.filter=""
    mmcache.shm_max="1M"
    mmcache.shm_ttl="3600"
    mmcache.shm_prune_period="900"
    mmcache.shm_only="0"
    mmcache.compress="1"

    And I got following error many many many times.
    [Wed Jun 23 10:36:15 2004] [notice] child pid 14391 exit
    signal Segmentation Fault (11)

     

Log in to post a comment.