ID:               23331
 Comment by:       osvetlik at kerio dot com
 Reported By:      jakub at icewarp dot com
 Status:           No Feedback
 Bug Type:         IIS related
 Operating System: win32
 PHP Version:      4CVS, 5CVS
 New Comment:

We are embedding PHP in our products and we have the same problem. It
is very important for us to have this issue solved ASAP, if we may
help, please, tell us how.


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

[2003-12-30 01:00:00] php-bugs at lists dot php dot net

No feedback was provided for this bug for over 2 weeks, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

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

[2003-12-16 14:31:02] msisolak at yahoo dot com

The recent changes have fixed a big chunk of the leaks, but there are
still a couple of memory types that are not getting freed.  I'll have a
couple of more patches to close out this bug soon.

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

[2003-12-14 20:16:31] [EMAIL PROTECTED]

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.





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

[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

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

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