Re: [APC-DEV] 3.0.x vs. 3.1.x
| From: | Brian Shire | Date: | Fri, 28 Mar 2008 20:31:55 +0000 |
| Subject: | Re: [APC-DEV] 3.0.x vs. 3.1.x | ||
| References: | 1 2 3 4 | Groups: | php.apc.dev |
| Request: | Send a blank email to php-apc-dev+get-118@lists.php.net to get a copy of this message | ||
On Mar 28, 2008, at 6:35 AM, Gopal V wrote:
Looks like the regression is in the memleak patches by shire. I didn't pay enough attention when he committed it, but those leaks were ignored or rather left in-limbo because of past bugs. Other parts of http://news.php.net/php.pecl.cvs/10041 b0rks up this older "fix" :) http://cvs.php.net/viewvc.cgi/pecl/apc/apc_main.c?r1=3.98&r2=3.99 The order in which extensions are unloaded and the way they use memory makes it really hard for APC to zero-copy data without leaks - memcpy'ing opcodes into local memory is a huge perf-hit, but the workaround with huge refcounts introduces such leaks. Maybe I should make it clearer in code.Ah, thanks Gopal, I didn't realize callbacks where happening in the rshutdown's of other modules. If there where a hook into the function cleanup I assume it would be an easy fix to clean this up (although it's technically cosmetic only, but does help people spot *actual* new "leaks"). It seems like the classes could also have the same pitfalls if it happened to be used by the callback function, is this a possible issue or am missing something there? -shire