Page MenuHomePhabricator

Http 502 Error with MediaWiki and latest Zend
Closed, ResolvedPublic

Description

Author: martyn

Description:
My hosts have upgrade the PHP and zend optimizer and now wiki does not work, it reports
http 502 error, the hosts say that it’s a bug that needs to be fixed between Zend and
Mediapedia

Regards

Martyn


Version: 1.8.x
Severity: major
OS: Windows Server 2003
Platform: PC
URL: http://www.chetnet.co.uk/wiki

Details

Reference
bz8113

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 9:34 PM
bzimport set Reference to bz8113.
bzimport added a subscriber: Unknown Object (MLST).

robchur wrote:

Version information for MediaWiki, the web server software in use, PHP and the
Zend Optimiser extension would be useful here.

martyn wrote:

Sorry for the sparse information provided by myself, I'm good at that so please yell
in you need more

Windows 2003 IIS
PHP5
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies
with Zend Optimizer v3.2.0, Copyright (c) 1998-2006, by Zend Technologies

MediaWiki 1.8.2

Hope that covers all

Martyn

robchur wrote:

Which version of PHP 5? (e.g. PHP 5.1.6)

(Problem seems to occur on any page view or index.php access; confirmed it's IIS
emitting an HTTP 502 "Bad Gateway" error.)

martyn wrote:

PHP 5.2.0

Problem is every View

Just had a guy on the hosts support forums supply the following information which I
have not tried as yet

@line 2002 of ./includes/GlobalFunctions.php.

The debug_backtrace() function usually works, and is called in the script numerous
times before the time it breaks. So, it looks like this is a strange IIS PHP 5.2
issue then.

You can of course stop the function being called at the point it breaks and be able
to view the pages, but what side-effects there are I wouldn't know.

Then he said try this

Amend the wfGetCaller function in ./includes/GlobalFunctions.php line 2001 to

function wfGetCaller( $level = 2 ) {

/**
 * Removed due to bug causing 502 on some occasions:
 ** /
$backtrace = debug_backtrace();
/**
 * And replaced by:
 **/
$backtrace =  new Exception();
$backtrace = $backtrace->getTrace();
/* End Fix */
if ( isset( $backtrace[$level] ) ) {
    if ( isset( $backtrace[$level]['class'] ) ) {
        $caller = $backtrace[$level]['class'] . '::' . $backtrace[$level]

['function'];

    } else {
        $caller = $backtrace[$level]['function'];
    }
} else {
    $caller = 'unknown';
}
return $caller;

}

obviously this breaks php4 compatibility he goes onto say

martyn wrote:

I can confirm that the above does fix the fault, but unsure if it will break anything
else

Obviously you should report this problem to Zend.

bubbadiden wrote:

The debug_backtrace thing is something I saw with my host, too, who claimed that
they didn't change anything. I entered a bug here
(http://bugzilla.wikimedia.org/show_bug.cgi?id=8041) just in case it helped
someone else. I imagine that issue is the same as that listed here.

bubbadiden wrote:

(In reply to comment #7)

The debug_backtrace thing is something I saw with my host, too, who claimed that
they didn't change anything. I entered a bug here
(http://bugzilla.wikimedia.org/show_bug.cgi?id=8041) just in case it helped
someone else. I imagine that issue is the same as that listed here.

sorry - forgot to mention - I saw it happen on a linux box with apache

martyn wrote:

(In reply to comment #6)

Obviously you should report this problem to Zend.

Obviously I did, but I was not sure where the fault was

This was probably the issue worked around w/ bug 8041; resolving as dupe. Reopen
if problem continues.

  • This bug has been marked as a duplicate of 8041 ***