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

 ID:                 52144
 Comment by:         nicolas at netlog 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:

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?


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

------------------------------------------------------------------------
[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