Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I have the oddest thing happening on all the Wordpress installations on a single server. I don't know if anyone has seen this or knows what it is.

On the login page, there is an error message that says "lambda_49" and every time I refresh the page, the number after the underscore goes up by one.

Has anyone seen this before or know what it's about?

share|improve this question
1  
Disable your plug-ins one-by-one, each time checking to see if the problem went away. –  Joseph Sep 13 '12 at 22:28
    
I upvoted, close voted and left an answer. Yes, that's not usual, but I think the question is "too localized" (or maybe "off topic", as it's a plain PHP question), while worth asking and therefore deserves an answer - it's just a pain having lambda functions. Hopefully the answer will show plugin/theme authors why one shouldn't use lambda and anonymous functions. –  kaiser Sep 14 '12 at 2:08
    
Hi Kaiser, this is the odd part... I don't have any plugins activated on the site. They're all deactivated. The error is showing up in the "login_error" div, so it's part of the wordpress site. Another unusual thing is that ALL of the sites on this server are showing the same thing. Any ideas? –  Troy Sep 14 '12 at 3:16
    
Also, I've ran several rootkit scans and all comes back fine. –  Troy Sep 14 '12 at 3:54
    
As I said: Search in your core wp-login.php template. I wrote a pretty detailed breadcrumbs trail you can follow. Now do it. –  kaiser Sep 14 '12 at 13:45

2 Answers 2

This message appeared after a fresh install and it is not caused by an plugin error but one of the php extensions (probably) on the server. The website works normally, the only drawback is the appearance of these unwanted messages. The way I have solved this issue is following. I changed the file wp-login.php: The line 123:

$errors .= '    ' . $error . "<br />\n";

was changed with:

if(!substr_count($error,'lambda')){
$errors .= '    ' . $error . "<br />\n";}

This piece of code identify the word "lambda" in the text of the error message, and if it finds no message displays.

share|improve this answer
    
Now you cannot update WordPress anymore without losing the changes. Is there really no better solution? –  toscho Feb 19 '13 at 9:03
    
My main concern is where it came from. Is it something in Wordpress? All the installs on this server have it showing up. It's a centos 5.1 server –  Troy Feb 19 '13 at 20:20
    
Error "lambda" comes from the server, in my case. Wordpress intercepts errors and notifications server and forwards them, as well as error messages without filtering them. –  Crisalin Petrovschi Feb 20 '13 at 0:37

What is lambda?

lambda_* functions are the (newer) equivalent to anonymous functions in PHP. They're pretty comparable to how you define functions on the fly in Javascript.

Why does that happen?

When you see such an output, then it normally means, that at some point - in some codepiece - there's a function not only (silently) returning something, but echo/print-ing something. When lambda_* is actually the output printed to the screen, then I'd say, it's a function defined inside another function that is returning something by accident.

Debugging and Backtracing

As it happens on the login screen, I'd suggest to take a look at the wp-login.php file, search for all do_action and apply_filters appearances. Write them down and then do a cross file search in your plugins and/or theme and check if you got a callback somewhere attached to one of those hooks or filters. Now go and check all of those and take a look if one of those functions has either a lambda function inside or calls to other (non-core) functions, that have such a call.

When you're done and have found all those lambda functions, then inspect which one of them echos or prints something. If you're still left with more than one, then there's a high chance that you can determine the error prone function using your brain and read its name, or just dig into it and kill the echo/print one by one (and reload the login page on each try) until you've found the function causing it.

What to do now?

That's pretty easy: Contact the author with a detailed problem & error description and with steps that show how you fixed the bug.

The (happy) End.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.