ID:               23331
 Updated by:       [EMAIL PROTECTED]
 Reported By:      jakub at icewarp dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         IIS related
 Operating System: win32
 PHP Version:      4CVS, 5CVS
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

Some fixes have been committed recently which should fix this bug.
Please try the snapshot out.




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

[2003-10-04 08:40:57] jakub at icewarp dot com

I think I tracked down the leak.
In this function:
TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)

There's at the end this:
        TSRM_SAFE_RETURN_RSRC(thread_resources->storage, id,
thread_resources->count);

Now if I uncomment this. It does not leak the memory for the 2 calls
from my last post. 

The call translates to 
return &thread_resources->storage;

Why should this leak? Please, C++ people help us here.

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

[2003-10-04 06:17:00] jakub at icewarp dot com

I have been digging more into this issue and I have found this.

1. HttpExtensionProc like this does not leak at all.
DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB)
{ return 0; }

2. 1. HttpExtensionProc like this does leak.
DWORD WINAPI HttpExtensionProc(LPEXTENSION_CONTROL_BLOCK lpECB)
{
        TSRMLS_FETCH();
        ts_free_thread();
        return 0;
}
It is clear that the ts_free_thread does not free everything. I'm not a
C/C++ guru please people help here. This issue has been here since 2
years ago and nobody fixed it yet. Let me know. 
Jakub

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

[2003-08-18 09:42:43] jakub at icewarp dot com

That's what I thought of too so I removed all extensions and the
results I posted are without any extensions.

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

[2003-08-18 09:31:14] [EMAIL PROTECTED]

You have some extensions loaded in php.ini, right?
Which ones are those? What if you don't load them?


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

[2003-05-03 10:22:59] jakub at icewarp dot com

I was wrong about the [EMAIL PROTECTED] it is called by Windows
automatically. However I have found for instance this.
If you load the ISAPI module and free it in a cycle again it does not
free the memory.
for ($i=0;$i<1000;$i++)
{
  lh = loadlibrary("...isapi.dll");
  freelibrary(lh);
}
After 200 cycles the process consumes 50MB. I don't think that should
happen. What is wrong?

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/23331

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

Reply via email to