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

 ID:                 52144
 Comment by:         janne dot hietamaki 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

 New Comment:

Updated to APC 3.1.5 and the problem still persists.


Previous Comments:
------------------------------------------------------------------------
[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.

------------------------------------------------------------------------
[2010-06-22 15:26:55] taco at procurios dot nl

The code in which the problem occurred looks like:



<?php

$methods = array(

'pfd_hor_pap'   => function (&$v)

  {

    if (!empty($v)) {

      $v /= 13.66;

    }

    return true;

  },

// ...some other lambda functions

);

// ...code that uses the array with lambda functions

?>



The error occurs at the definition of the first lambda function in the
array. The problem is that the error isn't reproducable (at least not
when I want it to be). That's why I'd like to know what the typical
situation is in which this error could occur.

------------------------------------------------------------------------
[2010-06-22 15:09:52] [email protected]

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.

Please also ensure that you're having no Zend extension or opcode cache
or similar loaded.

------------------------------------------------------------------------
[2010-06-22 13:30:52] taco at procurios dot nl

Description:
------------
I've rewritten some create_function() calls to lambda functions. After
updating our servers with the new code the following error started to
occur on one of the servers:



"Base lambda function for closure not found"



We immediately replaced the new code with the old and tried to figure
out what went wrong. Since we couldn't find the bug and on development
machines nothing went wrong, we gave the new code another try:
everything worked like expected, without errors.



I'd really like to know what could have triggered this error, especially
because we didn't change the code that triggered it.



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



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

Reply via email to