Page MenuHomePhabricator

WebResponse: Cannot modify header information - headers already sent by SpecialCentralAutoLogin.php
Open, NormalPublic

Description

Error

Request ID: XUxX8wpAMEkAAE@dj3YAAADU
Request URL: https://commons.wikimedia.org/wiki/Special:CentralAutoLogin/toolslist?returnto=Category%3AIdrus_Alwi&returntoquery=

message
[XUxX8wpAMEkAAE@dj3YAAADU] /wiki/Special:CentralAutoLogin/toolslist?returnto=Category%3AIdrus_Alwi&returntoquery=   ErrorException from line 208 of /srv/mediawiki/php-1.34.0-wmf.17/includes/WebResponse.php: PHP Warning: Cannot modify header information - headers already sent by (output started at /srv/mediawiki/php-1.34.0-wmf.17/extensions/CentralAuth/includes/specials/SpecialCentralAutoLogin.php:654)
trace
 	#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.34.0-wmf.17/includes/WebResponse.php(208): setcookie(string, string, integer, string, string, boolean, boolean)
#2 /srv/mediawiki/php-1.34.0-wmf.17/includes/block/BlockManager.php(441): WebResponse->setCookie(string, string, string, array)
#3 /srv/mediawiki/php-1.34.0-wmf.17/includes/block/BlockManager.php(408): MediaWiki\Block\BlockManager->setBlockCookie(MediaWiki\Block\DatabaseBlock, WebResponse)
#4 /srv/mediawiki/php-1.34.0-wmf.17/includes/deferred/MWCallableUpdate.php(38): MediaWiki\Block\BlockManager->MediaWiki\Block\{closure}()
#5 /srv/mediawiki/php-1.34.0-wmf.17/includes/deferred/DeferredUpdates.php(377): MWCallableUpdate->doUpdate()
#6 /srv/mediawiki/php-1.34.0-wmf.17/includes/deferred/DeferredUpdates.php(280): DeferredUpdates::attemptUpdate(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti)
#7 /srv/mediawiki/php-1.34.0-wmf.17/includes/deferred/DeferredUpdates.php(225): DeferredUpdates::run(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti, Monolog\Logger, BufferingStatsdDataFactory, string)
#8 /srv/mediawiki/php-1.34.0-wmf.17/includes/deferred/DeferredUpdates.php(145): DeferredUpdates::handleUpdateQueue(array, string, integer)
#9 /srv/mediawiki/php-1.34.0-wmf.17/includes/MediaWiki.php(608): DeferredUpdates::doUpdates(string, integer)
#10 /srv/mediawiki/php-1.34.0-wmf.17/includes/MediaWiki.php(574): MediaWiki::preOutputCommit(RequestContext, Closure)
#11 /srv/mediawiki/php-1.34.0-wmf.17/includes/MediaWiki.php(908): MediaWiki->doPreOutputCommit(Closure)
#12 /srv/mediawiki/php-1.34.0-wmf.17/includes/MediaWiki.php(523): MediaWiki->main()
#13 /srv/mediawiki/php-1.34.0-wmf.17/index.php(42): MediaWiki->run()
#14 /srv/mediawiki/w/index.php(3): require(string)
#15 {main}
Notes

4 of these since wmf.17. Adding a few relevant-seeming tags and subscribers.

Event Timeline

brennen created this task.Aug 8 2019, 6:45 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptAug 8 2019, 6:45 PM
Pchelolo triaged this task as Normal priority.Aug 8 2019, 7:20 PM
Pchelolo added subscribers: MaxSem, Pchelolo.

This seems older then wmf.17, I can find same-ish logs as early as wmf.13 which lines up from a fix for T180050 from @MaxSem, so CCing him.

MaxSem added a comment.Aug 8 2019, 9:43 PM

CentralAuth disables output buffering and outputs directly, avoiding OuptutPage methods in SpecialCentralAutoLogin::doFinalOutput(). Any ideas why it might be doing that?

CentralAuth disables output buffering and outputs directly, avoiding OuptutPage methods in SpecialCentralAutoLogin::doFinalOutput(). Any ideas why it might be doing that?

This might be a good question for @Tgr or @Anomie

CentralAuth disables output buffering and outputs directly, avoiding OuptutPage methods in SpecialCentralAutoLogin::doFinalOutput(). Any ideas why it might be doing that?

Because OutputPage does a lot of stuff that SpecialCentralAutoLogin doesn't need or want. It's designed for outputting HTML, usually with the skin, not images or JSON or JavaScript.

Note that RawAction does the same, as do some other things like SpecialExport when exporting and SpecialRevisionDelete when showing the deleted image. And endpoints like load.php and thumb.php don't use OutputPage at all (AFAIK).

mmodell changed the subtype of this task from "Task" to "Production Error".Wed, Aug 28, 11:06 PM