https://bugzilla.wikimedia.org/show_bug.cgi?id=31822
Web browser: ---
Bug #: 31822
Summary: 500 error in db upgrade stage due to output buffer
reset in stdout
Product: MediaWiki
Version: 1.17.0
Platform: PC
OS/Version: Linux
Status: NEW
Severity: blocker
Priority: Unprioritized
Component: Installation
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Classification: Unclassified
Symptom: upon reaching the "Upgrade existing installation" stage -- my exact
URL is http://woozalia.com/mw-config/index.php?page=Upgrade -- the installer
hangs with a 500 error.
After detailed investigation, I found that the problem occurs after the 10th
iteration of DatabaseUpdater::runUpdates(). The problem seems to be that the
next call to $this->output() (which is actually Maintenance::output()) in
ConvertLinks::execute() writes text to the BEGINNING of the output buffer
instead of to the END. This mungs the HTTP headers in a way which apparently
makes Apache very unhappy.
(I determined this by sending different text, which somehow changed the
situation so that instead of a 500 error, I received the page as a file
download -- which allowed me to see the source text that was being sent, which
contained my text at the beginning -- before the HTTP headers.)
This is probably a kluge, but I was able to stop the error from happening by
changing the line "$f = fopen( 'php://stdout', 'w' );" to "$f = fopen(
'php://output', 'a' );".
Now it gets all the way to "Populating log_search table" before hanging (at
least there's no 500 error).
--
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l