ID:               34711
 Updated by:       [EMAIL PROTECTED]
 Reported By:      tim at merkworx dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         Reproducible crash
 Operating System: RHEL3
 PHP Version:      5.1.0RC1
 New Comment:

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.



Previous Comments:
------------------------------------------------------------------------

[2005-10-03 07:54:38] tim at merkworx dot com

Whoops sorry - I used "bt full", not "thread apply all bt full".

------------------------------------------------------------------------

[2005-10-03 07:47:16] 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



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=34711&edit=1

Reply via email to