ID:               20358
 User updated by:  [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Feedback
+Status:           Open
 Bug Type:         Session related
 Operating System: RedHat7.3
 PHP Version:      4.3.0-pre2
 New Comment:

Sorry... My English is weak...

This problem has appeared by 3 different machines(all x86).

# /usr/local/apache/bin/apachectl start
(without -X)
# sh loop.sh
# tail -f /usr/local/apache/logs/error_log

---
In /usr/local/apache/bin/httpd -X, since Segmentation fault did not
occur, php_error(E_WARNING, ...) was written to mod_mm.c and the state
was seen by "tail -f /usr/local/apache/logs/error_log".

example.
static ps_sd *ps_sd_lookup(ps_mm *data, const char *key, int rw)
{
        php_uint32 hv, slot;
        ps_sd *ret, *prev;
+       pid_t pid = getpid();


        hv = ps_sd_hash(key, strlen(key));
        slot = hv & data->hash_max;
+       php_error(E_WARNING, "pid[%d] hv:%x key:%x slot:%x", pid, hv,
key, slot); 

        for (prev = NULL, ret = data->hash[slot]; ret; prev = ret, ret
= ret->next)
                   :
                   :
                   :


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

[2002-11-11 09:56:46] [EMAIL PROTECTED]

So what is the 'problem' you think there is?
(works fine here (tm))


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

[2002-11-11 07:30:52] [EMAIL PROTECTED]

This problem does not appear at "/usr/local/apache/bin/httpd -X".

I think so because apache is single task...

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

[2002-11-11 06:55:23] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.

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

[2002-11-11 06:44:58] [EMAIL PROTECTED]

OS: RedHat7.3(Intel)
PHP: 4.2.2, 4.2.3, 4.3.0-pre2
Apache: 1.3.26, 1.3.27
libmm: 1.1.3(RPM), 1.2.1(tar.gz)


Apache:
# ./configure --enable-module=so ...

PHP:
# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-mm .....
# ./cp php.ini-recommended /usr/local/lib/php.ini
# vi /usr/local/lib/php.ini
session.save_handler = files -> session.save_handler = mm


bug.php
-------
<?php
 session_start();
?>
.
-------

loop.sh
-------
#!/bin/bash

for((i = 0; i < 2000; ++i));
 do wget -O - http://localhost/bug.php?PHPSESSID=$i;
done
-------

# sh loop.sh
..... wait a few minutes

# tail -f /usr/local/apache/logs/error_log
                     :  
[Tue Oct 22 20:50:59 2002] [notice] child pid 26434 exit signal
Segmentation fault (11)
                     :
                     :

is this bug?

I think so
"ext/session/mod_mm.c: ps_sd_lookup()" has problem

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


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

Reply via email to