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