ID:               35298
 User updated by:  alacn dot uhahaa at gmail dot com
 Reported By:      alacn dot uhahaa at gmail dot com
 Status:           Open
 Bug Type:         Reproducible crash
 Operating System: Windows 2003
 PHP Version:      4.4.1
 New Comment:

yah, i think its fixed now,

at zend_execute_API.c

[...]

static WNDCLASS wc;
static HWND timeout_window;
static HANDLE timeout_thread_event;
static DWORD timeout_thread_id;
static int timeout_thread_initialized=0;

static HANDLE timeout_thread_finish_event; //added

[...]

static unsigned __stdcall timeout_thread_proc(void *pArgs)
{
[...]
DestroyWindow(timeout_window);
UnregisterClass(wc.lpszClassName, NULL);

SetEvent(timeout_thread_finish_event); //added

return 0;
}


void zend_init_timeout_thread()
{
timeout_thread_event = CreateEvent(NULL, FALSE, FALSE, NULL);

timeout_thread_finish_event = CreateEvent(0, 0, 0, 0); //added

_beginthreadex(NULL, 0, timeout_thread_proc, NULL, 0,
&timeout_thread_id);
WaitForSingleObject(timeout_thread_event, INFINITE);
}


void zend_shutdown_timeout_thread()
{
if (!timeout_thread_initialized) {
  return;
}
PostThreadMessage(timeout_thread_id, WM_QUIT, 0, 0);

WaitForSingleObject(timeout_thread_finish_event, 30000); //added
}


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

[2005-11-20 19:45:39] alacn dot uhahaa at gmail dot com

i think that it could be fixed with WaitForSingleObject, making it wait
a bit of time to the timeout thread end.

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

[2005-11-20 19:40:01] alacn dot uhahaa at gmail dot com

the problem is at zend_execute_API.c

the access violation happens when it free the library before
timeout_thread_proc() finish,

at zend_shutdown_timeout_thread()
after PostThreadMessage it should wait some time to the
timeout_thread_proc() finish.

if it dont wait, the timeout_thread_proc() will walk in NULL bytes
because the code was released by the IIS

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

[2005-11-19 22:24:48] [EMAIL PROTECTED]

We are aware of PHP's problems with stability under IIS and are working

to rectify the problem. Unfortunatly your bug report does not contain
any
extra useful information and we already have enough bug reports open
about
this issue. If you can provide more detailed information such as a 
reproducable crash or a backtrace please do so and reopen this bug. 
Otherwise please keep trying new releases as we are working to resolve 
the problems on this platform
 
Thanks for your interest in PHP.



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

[2005-11-19 22:19:18] alacn dot uhahaa at gmail dot com

Description:
------------
while recycling iis6 worker process when an user is uploading a file,
php crash with access violation "zend timeout window: w3wp - read error
at address 0x019052a5"

Reproduce code:
---------------
at php.ini
post_max_size = 1032M
upload_max_filesize = 1024M

while an user is uploading a file (post, upload form) (use a big file,
so it wont end before we finish), open iis mmc, go to application
pools, select the php pool (DefaultAppPool if you didnt change it),
right click on it and recycle

im using Windows 2003, IIS6, php 4.4.1 isapi

Expected result:
----------------
it should recycle without crash

Actual result:
--------------
php crash with access violation
"zend timeout window: w3wp"
"read error at address 0x019052a5"



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


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

Reply via email to