ID:               25070
 Updated by:       [EMAIL PROTECTED]
 Reported By:      akss at plesk dot ru
-Status:           Open
+Status:           Closed
 Bug Type:         Session related
 Operating System: Windows
 PHP Version:      4.3.3
 New Comment:

This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.




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

[2003-08-25 23:18:08] akss at plesk dot ru

Unfortunatelly i can't give a code. It closed development. And i have
not time now for produce purified test example.

I try to describe

1 Create page with form with 2 input fields login & pass and submit
button (login page).

2 Create auto prepend file with session check. If no session go to
login page.

3 Change session parameters in auto prepend file
ini_set('session.gc_probability', 1-5);
session_save_path('deep 4-5');
ini_set('session.gc_maxlifetime', near 20000);

4 On login submit create session. Put to her both parameter login and
pass. If session created (parameters setted) redirect to other pages
with 2-3 frames which check session settings too.

5 Made many quickly switchings over this frames. 1st, 2nd, 3d, again
1st.

6 Apache without patch hangs up.

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

[2003-08-25 22:02:42] [EMAIL PROTECTED]

I've been trying to reproduce this without luck..can you please give a
simple test case with which you have reproduced this reliably?


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

[2003-08-20 03:30:03] akss at plesk dot ru

Patch for fix ext/session/mod_files.c on windows:

--- mod_files.c.orig    Tue May 20 20:01:54 2003
+++ mod_files.c Fri Aug 15 05:12:40 2003
@@ -124,6 +124,7 @@
 static void ps_files_close(ps_files *data)
 {
        if (data->fd != -1) {
+               flock(data->fd, LOCK_UN);
                close(data->fd);
                data->fd = -1;
        }
@@ -275,8 +276,10 @@
        if (data->fd < 0)
                return FAILURE;

-       if (fstat(data->fd, &sbuf))
+  if (fstat(data->fd, &sbuf)) {
+    flock(data->fd, LOCK_UN);
                return FAILURE;
+  }

        data->st_size = *vallen = sbuf.st_size;
        *val = emalloc(sbuf.st_size);
@@ -287,6 +290,7 @@
        lseek(data->fd, 0, SEEK_SET);
        n = read(data->fd, *val, sbuf.st_size);
 #endif
+  flock(data->fd, LOCK_UN);

        if (n != sbuf.st_size) {
                if (n == -1)
@@ -325,6 +329,7 @@
        lseek(data->fd, 0, SEEK_SET);
        n = write(data->fd, val, vallen);
 #endif
+  flock(data->fd, LOCK_UN);

        if (n != vallen) {
                if (n == -1)

Other case apache hangs up.

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

[2003-08-13 04:16:44] akss at plesk dot ru

Description:
------------
php-4.3.2

Windows hangs at frequent references to the pages using the sessions
mechanism. This is because too many locks are created for a session
file "sess_xxx".



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


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

Reply via email to