Page MenuHomePhabricator

Deprecated: stripos(): Passing null to parameter #1 ($haystack) of type string is deprecated in Hooks.php on line 434
Closed, ResolvedPublic

Description

Visiting Special:GobalBlock on my dev wiki (no such special page) results in... Why TimedMediaHandler is appearing, who knows...

( ! ) Deprecated: stripos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /var/www/wiki/mediawiki/extensions/TimedMediaHandler/includes/Hooks.php on line 434
Call Stack
#	Time	Memory	Function	Location
1	0.0001	365048	{main}( )	.../index.php:0
2	0.0445	4007328	wfIndexMain( )	.../index.php:46
3	0.0446	4007440	MediaWiki->run( )	.../index.php:50
4	0.0446	4007440	MediaWiki->main( )	.../MediaWiki.php:568
5	0.0820	6377192	MediaWiki::{closure:/var/www/wiki/mediawiki/core/includes/MediaWiki.php:923-929}( )	.../MediaWiki.php:938
6	0.0820	6377192	OutputPage->output( $return = TRUE )	.../MediaWiki.php:925
7	0.0831	6397200	MediaWiki\HookContainer\HookRunner->onBeforePageDisplay( $out = class OutputPage { private ${ContextSource}context = class RequestContext { private $request = class WebRequest { ... }; private $title = class Title { ... }; private $wikipage = NULL; private $action = 'view'; private $output = ...; private $user = class User { ... }; private $authority = NULL; private $lang = class Language { ... }; private $skin = class MediaWiki\Skins\Vector\SkinVectorLegacy { ... }; private $timing = NULL; private $config = class GlobalVarConfig { ... }; private $languageRecursion = FALSE }; protected $mMetatags = []; protected $mLinktags = []; protected $mCanonicalUrl = FALSE; private $mPageTitle = 'No such special page'; private $displayTitle = NULL; private $cacheIsFinal = TRUE; public $mBodytext = '<p><strong>You have requested an invalid special page.</strong>\n</p><p>A list of valid special pages can be found at <a href="/wiki/Special:SpecialPages" title="Special:SpecialPages">Special pages</a>.\n</p><p id="mw-returnto">Return to <a href="/wiki/Main_Page" title="Main Page">Main Page</a>.</p>\n'; private $mHTMLtitle = 'No such special page - ReedyDevWiki'; private $mIsArticle = FALSE; private $mIsArticleRelated = FALSE; private $mHasCopyright = FALSE; private $mPrintable = FALSE; private $mSections = []; private $mSubtitle = []; public $mRedirect = ''; protected $mStatusCode = 404; protected $mLastModified = ''; protected $mCategoryLinks = []; protected $mCategories = ['hidden' => [...], 'normal' => [...]]; protected $mIndicators = []; private $mLanguageLinks = []; private $mScripts = ''; protected $mInlineStyles = ''; public $mPageLinkTitle = ''; protected $mAdditionalHtmlClasses = []; protected $mHeadItems = []; protected $mAdditionalBodyClasses = []; protected $mModules = [0 => 'site', 1 => 'mediawiki.page.ready', 2 => 'skins.vector.legacy.js', 3 => 'ext.urlShortener.toolbar', 4 => 'ext.echo.init', 5 => 'ext.eventLogging', 6 => 'ext.guidedTour', 7 => 'ext.visualEditor.desktopArticleTarget.init', 8 => 'ext.visualEditor.targetLoader', 9 => 'ext.navigationTiming', 10 => 'ext.imagesuggestions.notifications.styles', 11 => 'ext.gadget.HotCat', 12 => 'ext.uls.compactlinks', 13 => 'ext.uls.interface']; protected $mModuleStyles = [0 => 'skins.vector.styles.legacy', 1 => 'ext.echo.styles.badge', 2 => 'oojs-ui.styles.icons-alerts', 3 => 'ext.visualEditor.desktopArticleTarget.noscript', 4 => 'ext.uls.pt']; protected $mResourceLoader = class MediaWiki\ResourceLoader\ResourceLoader { private $config = class GlobalVarConfig { ... }; private $blobStore = class MediaWiki\ResourceLoader\MessageBlobStore { ... }; private $depStore = class Wikimedia\DependencyStore\SqlModuleDependencyStore { ... }; private $logger = class MediaWiki\Logger\LegacyLogger { ... }; private $hookContainer = class MediaWiki\HookContainer\HookContainer { ... }; private $hookRunner = class MediaWiki\ResourceLoader\HookRunner { ... }; private $loadScript = '/w/load.php'; private $maxageVersioned = 2592000; private $maxageUnversioned = 300; private $useFileCache = FALSE; private $modules = [...]; private $moduleInfos = [...]; private $testModuleNames = [...]; private $sources = [...]; protected $errors = [...]; protected $extraHeaders = [...]; private $depStoreUpdateBuffer = [...]; private $moduleSkinStyles = [...] }; private $rlClient = NULL; private $rlClientContext = NULL; private $rlExemptStyleModules = NULL; protected $mJsConfigVars = ['wgEditSubmitButtonLabelPublish' => FALSE, 'wgULSPosition' => 'personal', 'wgULSisCompactLinksEnabled' => TRUE]; protected $mTemplateIds = []; protected $mImageTimeKeys = []; public $mRedirectCode = ''; protected $mFeedLinksAppendQuery = NULL; protected $mAllowedModules = ['combined' => 10]; protected $mDoNothing = FALSE; protected $mParserOptions = NULL; private $mFeedLinks = []; protected $mEnableClientCache = FALSE; private $mArticleBodyOnly = FALSE; protected $mNewSectionLink = FALSE; protected $mHideNewSectionLink = FALSE; public $mNoGallery = FALSE; protected $mCdnMaxage = 0; protected $mCdnMaxageLimit = INF; protected $mPreventClickjacking = TRUE; private $mRevisionId = NULL; private $mRevisionTimestamp = NULL; protected $mFileVersion = NULL; protected $styles = []; private $mIndexPolicy = 'noindex'; private $mFollowPolicy = 'nofollow'; private $mRobotsOptions = []; private $mVaryHeader = ['Accept-Encoding' => NULL, 'Accept-Language' => NULL]; private $mRedirectedFrom = NULL; private $mProperties = []; private $mTarget = NULL; private $mEnableTOC = FALSE; private $copyrightUrl = NULL; private $limitReportJSData = []; private $contentOverrides = []; private $contentOverrideCallbacks = []; private $mLinkHeader = []; private $CSP = class ContentSecurityPolicy { private $nonce = NULL; private $mwConfig = class GlobalVarConfig { ... }; private $response = class WebResponse { ... }; private $extraDefaultSrc = [...]; private $extraScriptSrc = [...]; private $extraStyleSrc = [...]; private $hookRunner = class MediaWiki\HookContainer\HookRunner { ... } } }, $skin = class MediaWiki\Skins\Vector\SkinVectorLegacy { private ${ContextSource}context = class RequestContext { private $request = class WebRequest { ... }; private $title = class Title { ... }; private $wikipage = NULL; private $action = 'view'; private $output = class OutputPage { ... }; private $user = class User { ... }; private $authority = NULL; private $lang = class Language { ... }; private $skin = ...; private $timing = NULL; private $config = class GlobalVarConfig { ... }; private $languageRecursion = FALSE }; private ${Skin}defaultLinkOptions = ['text-wrapper' => [...]]; protected $skinname = 'vector'; protected $options = ['name' => 'vector', 'template' => 'skin-legacy', 'templateDirectory' => '/var/www/wiki/mediawiki/core/skins/Vector/includes/templates', 'responsive' => TRUE, 'link' => [...], 'scripts' => [...], 'styles' => [...], 'messages' => [...]]; protected $mRelevantTitle = NULL; private ${Skin}mRelevantUser = FALSE; private ${Skin}languageLinks = NULL; private ${Skin}sidebar = NULL; private ${Skin}componentRegistry = class MediaWiki\Skin\SkinComponentRegistry { private $components = NULL; private $skinContext = class MediaWiki\Skin\SkinComponentRegistryContext { ... } }; public $template = NULL; public $thispage = NULL; public $titletxt = NULL; public $userpage = NULL; public $thisquery = NULL; public $loggedin = NULL; public $username = NULL; public $userpageUrlDetails = NULL; private ${SkinTemplate}isTempUser = NULL; private ${SkinTemplate}isNamedUser = NULL; private ${SkinTemplate}templateContextSet = FALSE; private ${SkinTemplate}contentNavigationCached = NULL; private ${SkinMustache}templateParser = NULL; private ${MediaWiki\Skins\Vector\SkinVector}languages = NULL } )	.../OutputPage.php:2838
8	0.0831	6397576	MediaWiki\HookContainer\HookContainer->run( $hook = 'BeforePageDisplay', $args = [0 => class OutputPage { private ${ContextSource}context = class RequestContext { ... }; protected $mMetatags = [...]; protected $mLinktags = [...]; protected $mCanonicalUrl = FALSE; private $mPageTitle = 'No such special page'; private $displayTitle = NULL; private $cacheIsFinal = TRUE; public $mBodytext = '<p><strong>You have requested an invalid special page.</strong>\n</p><p>A list of valid special pages can be found at <a href="/wiki/Special:SpecialPages" title="Special:SpecialPages">Special pages</a>.\n</p><p id="mw-returnto">Return to <a href="/wiki/Main_Page" title="Main Page">Main Page</a>.</p>\n'; private $mHTMLtitle = 'No such special page - ReedyDevWiki'; private $mIsArticle = FALSE; private $mIsArticleRelated = FALSE; private $mHasCopyright = FALSE; private $mPrintable = FALSE; private $mSections = [...]; private $mSubtitle = [...]; public $mRedirect = ''; protected $mStatusCode = 404; protected $mLastModified = ''; protected $mCategoryLinks = [...]; protected $mCategories = [...]; protected $mIndicators = [...]; private $mLanguageLinks = [...]; private $mScripts = ''; protected $mInlineStyles = ''; public $mPageLinkTitle = ''; protected $mAdditionalHtmlClasses = [...]; protected $mHeadItems = [...]; protected $mAdditionalBodyClasses = [...]; protected $mModules = [...]; protected $mModuleStyles = [...]; protected $mResourceLoader = class MediaWiki\ResourceLoader\ResourceLoader { ... }; private $rlClient = NULL; private $rlClientContext = NULL; private $rlExemptStyleModules = NULL; protected $mJsConfigVars = [...]; protected $mTemplateIds = [...]; protected $mImageTimeKeys = [...]; public $mRedirectCode = ''; protected $mFeedLinksAppendQuery = NULL; protected $mAllowedModules = [...]; protected $mDoNothing = FALSE; protected $mParserOptions = NULL; private $mFeedLinks = [...]; protected $mEnableClientCache = FALSE; private $mArticleBodyOnly = FALSE; protected $mNewSectionLink = FALSE; protected $mHideNewSectionLink = FALSE; public $mNoGallery = FALSE; protected $mCdnMaxage = 0; protected $mCdnMaxageLimit = INF; protected $mPreventClickjacking = TRUE; private $mRevisionId = NULL; private $mRevisionTimestamp = NULL; protected $mFileVersion = NULL; protected $styles = [...]; private $mIndexPolicy = 'noindex'; private $mFollowPolicy = 'nofollow'; private $mRobotsOptions = [...]; private $mVaryHeader = [...]; private $mRedirectedFrom = NULL; private $mProperties = [...]; private $mTarget = NULL; private $mEnableTOC = FALSE; private $copyrightUrl = NULL; private $limitReportJSData = [...]; private $contentOverrides = [...]; private $contentOverrideCallbacks = [...]; private $mLinkHeader = [...]; private $CSP = class ContentSecurityPolicy { ... } }, 1 => class MediaWiki\Skins\Vector\SkinVectorLegacy { private ${ContextSource}context = class RequestContext { ... }; private ${Skin}defaultLinkOptions = [...]; protected $skinname = 'vector'; protected $options = [...]; protected $mRelevantTitle = NULL; private ${Skin}mRelevantUser = FALSE; private ${Skin}languageLinks = NULL; private ${Skin}sidebar = NULL; private ${Skin}componentRegistry = class MediaWiki\Skin\SkinComponentRegistry { ... }; public $template = NULL; public $thispage = NULL; public $titletxt = NULL; public $userpage = NULL; public $thisquery = NULL; public $loggedin = NULL; public $username = NULL; public $userpageUrlDetails = NULL; private ${SkinTemplate}isTempUser = NULL; private ${SkinTemplate}isNamedUser = NULL; private ${SkinTemplate}templateContextSet = FALSE; private ${SkinTemplate}contentNavigationCached = NULL; private ${SkinMustache}templateParser = NULL; private ${MediaWiki\Skins\Vector\SkinVector}languages = NULL }], $options = ['abortable' => FALSE] )	.../HookRunner.php:942
9	0.0875	6625312	MediaWiki\TimedMediaHandler\Hooks->onBeforePageDisplay( $out = class OutputPage { private ${ContextSource}context = class RequestContext { private $request = class WebRequest { ... }; private $title = class Title { ... }; private $wikipage = NULL; private $action = 'view'; private $output = ...; private $user = class User { ... }; private $authority = NULL; private $lang = class Language { ... }; private $skin = class MediaWiki\Skins\Vector\SkinVectorLegacy { ... }; private $timing = NULL; private $config = class GlobalVarConfig { ... }; private $languageRecursion = FALSE }; protected $mMetatags = []; protected $mLinktags = []; protected $mCanonicalUrl = FALSE; private $mPageTitle = 'No such special page'; private $displayTitle = NULL; private $cacheIsFinal = TRUE; public $mBodytext = '<p><strong>You have requested an invalid special page.</strong>\n</p><p>A list of valid special pages can be found at <a href="/wiki/Special:SpecialPages" title="Special:SpecialPages">Special pages</a>.\n</p><p id="mw-returnto">Return to <a href="/wiki/Main_Page" title="Main Page">Main Page</a>.</p>\n'; private $mHTMLtitle = 'No such special page - ReedyDevWiki'; private $mIsArticle = FALSE; private $mIsArticleRelated = FALSE; private $mHasCopyright = FALSE; private $mPrintable = FALSE; private $mSections = []; private $mSubtitle = []; public $mRedirect = ''; protected $mStatusCode = 404; protected $mLastModified = ''; protected $mCategoryLinks = []; protected $mCategories = ['hidden' => [...], 'normal' => [...]]; protected $mIndicators = []; private $mLanguageLinks = []; private $mScripts = ''; protected $mInlineStyles = ''; public $mPageLinkTitle = ''; protected $mAdditionalHtmlClasses = []; protected $mHeadItems = []; protected $mAdditionalBodyClasses = []; protected $mModules = [0 => 'site', 1 => 'mediawiki.page.ready', 2 => 'skins.vector.legacy.js', 3 => 'ext.urlShortener.toolbar', 4 => 'ext.echo.init', 5 => 'ext.eventLogging', 6 => 'ext.guidedTour', 7 => 'ext.visualEditor.desktopArticleTarget.init', 8 => 'ext.visualEditor.targetLoader', 9 => 'ext.navigationTiming', 10 => 'ext.imagesuggestions.notifications.styles', 11 => 'ext.gadget.HotCat', 12 => 'ext.uls.compactlinks', 13 => 'ext.uls.interface']; protected $mModuleStyles = [0 => 'skins.vector.styles.legacy', 1 => 'ext.echo.styles.badge', 2 => 'oojs-ui.styles.icons-alerts', 3 => 'ext.visualEditor.desktopArticleTarget.noscript', 4 => 'ext.uls.pt']; protected $mResourceLoader = class MediaWiki\ResourceLoader\ResourceLoader { private $config = class GlobalVarConfig { ... }; private $blobStore = class MediaWiki\ResourceLoader\MessageBlobStore { ... }; private $depStore = class Wikimedia\DependencyStore\SqlModuleDependencyStore { ... }; private $logger = class MediaWiki\Logger\LegacyLogger { ... }; private $hookContainer = class MediaWiki\HookContainer\HookContainer { ... }; private $hookRunner = class MediaWiki\ResourceLoader\HookRunner { ... }; private $loadScript = '/w/load.php'; private $maxageVersioned = 2592000; private $maxageUnversioned = 300; private $useFileCache = FALSE; private $modules = [...]; private $moduleInfos = [...]; private $testModuleNames = [...]; private $sources = [...]; protected $errors = [...]; protected $extraHeaders = [...]; private $depStoreUpdateBuffer = [...]; private $moduleSkinStyles = [...] }; private $rlClient = NULL; private $rlClientContext = NULL; private $rlExemptStyleModules = NULL; protected $mJsConfigVars = ['wgEditSubmitButtonLabelPublish' => FALSE, 'wgULSPosition' => 'personal', 'wgULSisCompactLinksEnabled' => TRUE]; protected $mTemplateIds = []; protected $mImageTimeKeys = []; public $mRedirectCode = ''; protected $mFeedLinksAppendQuery = NULL; protected $mAllowedModules = ['combined' => 10]; protected $mDoNothing = FALSE; protected $mParserOptions = NULL; private $mFeedLinks = []; protected $mEnableClientCache = FALSE; private $mArticleBodyOnly = FALSE; protected $mNewSectionLink = FALSE; protected $mHideNewSectionLink = FALSE; public $mNoGallery = FALSE; protected $mCdnMaxage = 0; protected $mCdnMaxageLimit = INF; protected $mPreventClickjacking = TRUE; private $mRevisionId = NULL; private $mRevisionTimestamp = NULL; protected $mFileVersion = NULL; protected $styles = []; private $mIndexPolicy = 'noindex'; private $mFollowPolicy = 'nofollow'; private $mRobotsOptions = []; private $mVaryHeader = ['Accept-Encoding' => NULL, 'Accept-Language' => NULL]; private $mRedirectedFrom = NULL; private $mProperties = []; private $mTarget = NULL; private $mEnableTOC = FALSE; private $copyrightUrl = NULL; private $limitReportJSData = []; private $contentOverrides = []; private $contentOverrideCallbacks = []; private $mLinkHeader = []; private $CSP = class ContentSecurityPolicy { private $nonce = NULL; private $mwConfig = class GlobalVarConfig { ... }; private $response = class WebResponse { ... }; private $extraDefaultSrc = [...]; private $extraScriptSrc = [...]; private $extraStyleSrc = [...]; private $hookRunner = class MediaWiki\HookContainer\HookRunner { ... } } }, $skin = class MediaWiki\Skins\Vector\SkinVectorLegacy { private ${ContextSource}context = class RequestContext { private $request = class WebRequest { ... }; private $title = class Title { ... }; private $wikipage = NULL; private $action = 'view'; private $output = class OutputPage { ... }; private $user = class User { ... }; private $authority = NULL; private $lang = class Language { ... }; private $skin = ...; private $timing = NULL; private $config = class GlobalVarConfig { ... }; private $languageRecursion = FALSE }; private ${Skin}defaultLinkOptions = ['text-wrapper' => [...]]; protected $skinname = 'vector'; protected $options = ['name' => 'vector', 'template' => 'skin-legacy', 'templateDirectory' => '/var/www/wiki/mediawiki/core/skins/Vector/includes/templates', 'responsive' => TRUE, 'link' => [...], 'scripts' => [...], 'styles' => [...], 'messages' => [...]]; protected $mRelevantTitle = NULL; private ${Skin}mRelevantUser = FALSE; private ${Skin}languageLinks = NULL; private ${Skin}sidebar = NULL; private ${Skin}componentRegistry = class MediaWiki\Skin\SkinComponentRegistry { private $components = NULL; private $skinContext = class MediaWiki\Skin\SkinComponentRegistryContext { ... } }; public $template = NULL; public $thispage = NULL; public $titletxt = NULL; public $userpage = NULL; public $thisquery = NULL; public $loggedin = NULL; public $username = NULL; public $userpageUrlDetails = NULL; private ${SkinTemplate}isTempUser = NULL; private ${SkinTemplate}isNamedUser = NULL; private ${SkinTemplate}templateContextSet = FALSE; private ${SkinTemplate}contentNavigationCached = NULL; private ${SkinMustache}templateParser = NULL; private ${MediaWiki\Skins\Vector\SkinVector}languages = NULL } )	.../HookContainer.php:160
10	0.0875	6625312	stripos( $haystack = NULL, $needle = 'file' )	.../Hooks.php:434

Event Timeline

Change 819628 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/extensions/TimedMediaHandler@master] Hooks: Don't pass null to stripos()

https://gerrit.wikimedia.org/r/819628

Change 819628 merged by jenkins-bot:

[mediawiki/extensions/TimedMediaHandler@master] Hooks: Don't pass null to stripos()

https://gerrit.wikimedia.org/r/819628

Reedy claimed this task.