php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #34711 Crash with unknown cause, any code may cause it
Submitted: 2005-10-03 07:47 UTC Modified: 2005-10-08 13:35 UTC
From: tim at merkworx dot com Assigned:
Status: Not a bug Package: Reproducible crash
PHP Version: 5.1.0RC1 OS: RHEL3
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: tim at merkworx dot com
New email:
PHP Version: OS:

 

 [2005-10-03 07:47 UTC] tim at merkworx dot com
Description:
------------
The problem I have been experiencing seems to have been happening a bit and has been reported here a few times, but never gets resolved because of lack of information.

I am running RHEL 3 with MySQL 4.1.13 and have tried PHP 5.0.4, 5.1.0RC3 and Apache 2.0.54 and 2.1.8-beta (both with threaded and non-threaded mpms), all combinations of the above result in errors like:

[Mon Oct 03 15:31:02 2005] [notice] child pid 11359 exit signal Segmentation fault (11), possible coredump in /tmp
[Mon Oct 03 15:31:05 2005] [notice] child pid 20475 exit signal Segmentation fault (11), possible coredump in /tmp
[Mon Oct 03 15:31:10 2005] [notice] child pid 25795 exit signal Segmentation fault (11), possible coredump in /tmp

I have attached one of the GDB back traces (using the command "thread apply all bt full" inside GDB as these cores were created with a threaded mpm.

My PHP configure line looks like:
'./configure' '--prefix=/wwwroot2/php5' '--with-apxs2=/wwwroot2/bin/apxs' '--with-zlib' '--with-bz2' '--with-db4' '--enable-exif' '--with-mysql=/usr' '--with-gd' '--with-xmlrpc' '--with-mysqli=/usr/bin/mysql_config' '--with-curl' '--with-inifile' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-zlib-dir=/usr' '--with-freetype-dir=/usr' '--enable-gd-native-ttf' '--with-gettext' '--enable-mbstring' 

And my Apache configure line (for 2.1.8-beta) looks like: 
"./configure" "--prefix=/wwwroot2" "--enable-dav=shared" "--enable-dav-fs=shared" "--enable-mime-magic=shared" "--enable-rewrite=shared" "--enable-so" "--enable-ssl" "--with-mpm=event" "--enable-nonportable-atomics=yes" 

Finally - I am not sure if my backtrace is acceptable. If not, maybe I need to compile PHP and Apache with debug symbols or something? (forgive me please, I have no idea when it comes to this).


Reproduce code:
---------------
I have been unable to produce code thate reproduces the crashes.

It does appear the MySQLi extension causes the segfaults constantly, though.

Actual result:
--------------
#0  0x43668ba1 in __read_nocancel () from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x080ad401 in ap_mpm_pod_check (pod=0xfffffe00) at pod.c:54
        c = 0 '\0'
        fd = 4
        rc = -512
#2  0x080ab8f6 in child_main (child_num_arg=-512) at event.c:1494
        threads = (apr_thread_t **) 0x82c72d8
        rv = 16
        ts = (thread_starter *) 0x816bb80
        thread_attr = (apr_threadattr_t *) 0x816bb90
        start_thread_id = (apr_thread_t *) 0x816bbc8
#3  0x080aba5e in make_child (s=0x80ee1d8, slot=1) at event.c:1578
        pid = -1082867405
#4  0x080abe57 in perform_idle_server_maintenance () at event.c:1765
        status = 1
        any_dying_threads = 0
        any_dead_threads = 0
        all_dead_threads = 1
        i = 0
        j = -1082867405
        idle_thread_count = 74
        ps = (process_score *) 0xb4ab3074
        free_length = 1
        totally_free_length = 1
        free_slots = {1, 0, 0, 0, 0, 0, 0, 0, 1130473580, 1000000, 0, 1130461011, 0, 0, 0, 0, -1082867104, 0, 1000000, 0, 0, 0, -1082867048, -1082867008,
  135170472, 0, -1082867048, 134731107, 1000000, 0, 2, 25}
        last_non_dead = 5
        total_non_dead = 6
        active_thread_count = 75
#5  0x080ac101 in server_main_loop (remaining_children_to_start=0) at event.c:1866
        child_slot = 1
        exitwhy = 6
        status = 11
        processed_status = 0
        pid = {pid = -1, in = 0xbf74c2f8, out = 0x0, err = 0x0}
        i = 25
#6  0x080ac24e in ap_mpm_run (_pconf=0x80e89a8, plog=0x8126aa0, s=0x0) at event.c:1933
        remaining_children_to_start = 0
#7  0x080676dc in main (argc=3, argv=0xbf74c404) at main.c:710
        exit_status = 0
        c = 0 '\0'
        configtestonly = 0
        confname = 0x80b5014 "conf/httpd.conf"
        def_server_root = 0x80b5024 "/wwwroot2"
        temp_error_log = 0x0
        error = 0xfffffe00 <Address 0xfffffe00 out of bounds>
        process = (process_rec *) 0x80e6a20
        server_conf = (server_rec *) 0x80ee1d8
        pglobal = (apr_pool_t *) 0x80e69a0
        pconf = (apr_pool_t *) 0x80e89a8
        plog = (apr_pool_t *) 0x8126aa0
        ptemp = (apr_pool_t *) 0x80ee9c0
        pcommands = (apr_pool_t *) 0x80ea9b0
        opt = (apr_getopt_t *) 0x80eaa48
        rv = -1082866860
        mod = (module **) 0xbf74c354
        optarg = 0x4369c9f3 "\201???\020"
        signal_server = (apr_OFN_ap_signal_server_t *) 0x1


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-10-03 07:54 UTC] tim at merkworx dot com
Whoops sorry - I used "bt full", not "thread apply all bt full".
 [2005-10-03 08:09 UTC] sniper@php.net
1) Use prefork MPM with apache2
2) if you wish to give better backtrace, you need to configure PHP with --enable-debug
3) Not enough information.

 [2005-10-03 08:09 UTC] sniper@php.net
I forgot one important thing: Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 [2005-10-03 08:13 UTC] tim at merkworx dot com
Thanks for the advice. I am recompiling at the moment and will get back to you with those results.

As for not enough information, what other information can I provide to help you discover the problem more? I am unable to produce code that causes the problem, though I will keep trying to find commands that cause it.

Would you like me to link you to similar bug reports or will that not help? (they didnt have info either :))
 [2005-10-03 08:18 UTC] sniper@php.net
The lacking information is how do we reproduce this reliably?
And yes please add the links to the other reports if you're 100% sure they're related. Use the form of 'bug #34711' to get them automatically converted to URLs.
 [2005-10-08 07:14 UTC] tim at merkworx dot com
Thanks for your time, at this point after re-compiling 2.1.8-beta with prefork and using the latest cvs snap for php5, i cant reproduce the problems.

It will take a few more days to confirm it, but might as well mark the bug as bogus now :)
 [2005-10-08 13:35 UTC] derick@php.net
Marking as bogus per user's request.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Tue Jul 01 11:01:35 2025 UTC