Edit report at https://bugs.php.net/bug.php?id=52144&edit=1

 ID:                 52144
 Comment by:         s dot chernomorets at gmail dot com
 Reported by:        taco at procurios dot nl
 Summary:            Error: Base lambda function for closure not found
 Status:             Open
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   linux
 PHP Version:        5.3.2
 Block user comment: N
 Private report:     N

 New Comment:

It seems option apc.write_lock=Off solves this problem partially.

We have config with closure in style "<?php return array( ...., function() 
{...}, ... ); 
?>"
and include (not include_once) it seceral time per request.

1. If apc_cache_write_lock(apc_cache TSRMLS_CC) (apc_main.c:602) was
unsuccessful at first include() then APC return old_compile_file. Function
old_compile_file store compiled closures into internal zend hash function_table 
but
not to cache. 

2. If apc_cache_write_lock(apc_cache TSRMLS_CC) was successful at second
include() then APC try to store opcode (apc_main.c:610-617), but function
apc_copy_new_functions(apc_compile.c:1333,1340-1343) not found new functions
(our closures) because zend hash function_table contains this closures already
(closures were compiled at first include()). So APC copy compiled array from 
included
file to cache without closures.

3. php-code try to call closure -> "Base lambda function for closure not found"


Previous Comments:
------------------------------------------------------------------------
[2011-08-12 06:32:46] hchinchilla at habitissimo dot com

We are having the same problem here at Habitissimo. using debian with PHP 5.3.6 
and APC 3.1.9. We had to replace APC with xcache to avoid this problem.

------------------------------------------------------------------------
[2011-07-21 17:07:42] aequasi at gmail dot com

Has this problem been resolved yet? having the same issues when i implement APC 
with symfony2

------------------------------------------------------------------------
[2011-06-06 20:04:24] nicolas at netlog dot com

Hi there,

We're experiencing the same problem here at Netlog. Also on production servers 
when we have some load. Unable to isolate this issue yet. We're running php 
5.3.5 
and apc 3.1.9. If we disable APC the problem goes away.

Any clues here?

------------------------------------------------------------------------
[2010-11-05 08:27:47] janne dot hietamaki at gmail dot com

Updated to APC 3.1.5 and the problem still persists.

------------------------------------------------------------------------
[2010-11-05 08:14:07] janne dot hietamaki at gmail dot com

I'm seeing this error quite often on our production servers. 

The problem seems to have something to do with APC cache, and after updating 
the files or apc_clear_cache() some random anonymous function call breaks at 
somewhere on our code.

I can reproduce the error on our production server almost every time, but I 
have not yet been able to build a reproducible test case. It seems to be a 
concurrency issue, so the reproduction most probably 
requires concurrent APC cache clearing and lambda function calls.

We're running PHP 5.3.3 with APC 3.1.4 on RHEL. I could try to upgrade to APC 
3.1.5 next.


Any help would be appreciated.

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


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

    https://bugs.php.net/bug.php?id=52144


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

Reply via email to