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
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
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

Add a Patch

Pull Requests

Add a Pull Request

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-2024 The PHP Group
All rights reserved.
Last updated: Sun May 05 05:01:31 2024 UTC