( ! ) Deprecated: strtr(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/wiki/mediawiki/core/includes/libs/objectcache/MemcachedBagOStuff.php on line 68 Call Stack # Time Memory Function Location 1 0.0001 362528 {main}( ) .../index.php:0 2 0.0426 3579176 wfIndexMain( ) .../index.php:46 3 0.0426 3579288 MediaWiki->run( ) .../index.php:50 4 0.0426 3579288 MediaWiki->main( ) .../MediaWiki.php:569 5 0.0431 3586616 MediaWiki->performRequest( ) .../MediaWiki.php:913 6 0.0512 3790752 MediaWiki->performAction( $article = class Article { protected $mContext = class RequestContext { private $request = class WebRequest { ... }; private $title = class Title { ... }; private $wikipage = class WikiPage { ... }; private $action = 'info'; private $output = class OutputPage { ... }; private $user = class User { ... }; private $authority = NULL; private $lang = class Language { ... }; private $skin = NULL; private $timing = NULL; private $config = class GlobalVarConfig { ... }; private $languageRecursion = FALSE }; protected $mPage = class WikiPage { protected $mTitle = class Title { ... }; protected $mDataLoaded = TRUE; private $mPageIsRedirectField = FALSE; private $mHasRedirectTarget = NULL; protected $mRedirectTarget = NULL; private $mIsNew = FALSE; private $mIsRedirect = FALSE; protected $mLatest = 658; protected $mPreparedEdit = FALSE; protected $mId = 371; protected $mDataLoadedFrom = 0; private $mLastRevision = class MediaWiki\Revision\RevisionStoreCacheRecord { ... }; protected $mTimestamp = '20200629125152'; protected $mTouched = '20200629125152'; protected $mLanguage = NULL; protected $mLinksUpdated = '20200629125152'; private $derivedDataUpdater = NULL }; public $mOldId = 0; public $mRedirectedFrom = NULL; public $mRedirectUrl = FALSE; private $fetchResult = NULL; public $mParserOutput = NULL; protected $viewIsRenderAction = FALSE; protected $linkRenderer = class MediaWiki\Linker\LinkRenderer { private $forceArticlePath = FALSE; private $expandUrls = FALSE; private $comment = FALSE; private $titleFormatter = class MediaWikiTitleCodec { ... }; private $linkCache = class LinkCache { ... }; private $hookRunner = class MediaWiki\HookContainer\HookRunner { ... }; private $specialPageFactory = class MediaWiki\SpecialPage\SpecialPageFactory { ... } }; private $revisionStore = class MediaWiki\Revision\RevisionStore { private $blobStore = class MediaWiki\Storage\SqlBlobStore { ... }; private $wikiId = FALSE; private $loadBalancer = class Wikimedia\Rdbms\LoadBalancer { ... }; private $cache = class WANObjectCache { ... }; private $localCache = class APCUBagOStuff { ... }; private $commentStore = class CommentStore { ... }; private $actorMigration = class ActorMigration { ... }; private $actorStore = class MediaWiki\User\ActorStore { ... }; private $logger = class MediaWiki\Logger\LegacyLogger { ... }; private $contentModelStore = class MediaWiki\Storage\NameTableStore { ... }; private $slotRoleStore = class MediaWiki\Storage\NameTableStore { ... }; private $slotRoleRegistry = class MediaWiki\Revision\SlotRoleRegistry { ... }; private $contentHandlerFactory = class MediaWiki\Content\ContentHandlerFactory { ... }; private $hookRunner = class MediaWiki\HookContainer\HookRunner { ... }; private $pageStore = class MediaWiki\Page\PageStore { ... }; private $titleFactory = class TitleFactory { ... } }; private $watchlistManager = class MediaWiki\Watchlist\WatchlistManager { private $options = class MediaWiki\Config\ServiceOptions { ... }; private $hookRunner = class MediaWiki\HookContainer\HookRunner { ... }; private $readOnlyMode = class ReadOnlyMode { ... }; private $revisionLookup = class MediaWiki\Revision\RevisionStore { ... }; private $talkPageNotificationManager = class MediaWiki\User\TalkPageNotificationManager { ... }; private $watchedItemStore = class WatchedItemStore { ... }; private $userFactory = class MediaWiki\User\UserFactory { ... }; private $nsInfo = class NamespaceInfo { ... }; private $wikiPageFactory = class MediaWiki\Page\WikiPageFactory { ... }; private $notificationTimestampCache = [...] }; private $userNameUtils = class MediaWiki\User\UserNameUtils { private $options = class MediaWiki\Config\ServiceOptions { ... }; private $contentLang = class Language { ... }; private $logger = class MediaWiki\Logger\LegacyLogger { ... }; private $titleParser = class MediaWikiTitleCodec { ... }; private $textFormatter = class MediaWiki\Message\TextFormatter { ... }; private $reservedUsernames = FALSE; private $hookRunner = class MediaWiki\HookContainer\HookRunner { ... }; private $tempUserConfig = class MediaWiki\User\TempUser\RealTempUserConfig { ... } }; private $mRevisionRecord = NULL }, $requestTitle = class Title { private $mTextform = 'Main Page'; private $mUrlform = 'Main_Page'; private $mDbkeyform = 'Main_Page'; private $mNamespace = 0; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 371; protected $mLatestID = 658; private $mContentModel = 'wikitext'; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = 'Main Page'; protected $mLength = 1467; public $mRedirect = FALSE; private $mHasSubpages = NULL; private $mPageLanguage = [0 => 'en-gb', 1 => 'en-gb']; private $mDbPageLanguage = FALSE; private $mTitleValue = NULL; private $mIsBigDeletion = NULL; private $mIsValid = TRUE; private $mInstanceCacheKey = NULL; protected $deprecatedPublicProperties = ['mTextform' => [...], 'mUrlform' => [...], 'mDbkeyform' => [...], 'mNamespace' => [...], 'mInterwiki' => [...], 'mFragment' => [...]]; private $dynamicPropertiesAccessDeprecated = FALSE } ) .../MediaWiki.php:322 7 0.0563 3923152 FormlessAction->show( ) .../MediaWiki.php:549 8 0.0752 5145488 InfoAction->onView( ) .../FormlessAction.php:48 9 0.1060 5484360 MediaWiki\HookContainer\HookRunner->onInfoAction( $context = class RequestContext { private $request = class WebRequest { protected $data = [...]; protected $queryAndPathParams = [...]; protected $queryParams = [...]; protected $headers = [...]; private $response = class WebResponse { ... }; private $ip = '10.13.37.22'; protected $requestTime = 1656456887.4128; protected $protocol = 'http'; protected $sessionId = class MediaWiki\Session\SessionId { ... }; protected $markedAsSafe = FALSE }; private $title = class Title { private $mTextform = 'Main Page'; private $mUrlform = 'Main_Page'; private $mDbkeyform = 'Main_Page'; private $mNamespace = 0; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 371; protected $mLatestID = 658; private $mContentModel = 'wikitext'; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = 'Main Page'; protected $mLength = 1467; public $mRedirect = FALSE; private $mHasSubpages = NULL; private $mPageLanguage = [...]; private $mDbPageLanguage = FALSE; private $mTitleValue = NULL; private $mIsBigDeletion = NULL; private $mIsValid = TRUE; private $mInstanceCacheKey = NULL; protected $deprecatedPublicProperties = [...]; private $dynamicPropertiesAccessDeprecated = FALSE }; private $wikipage = class WikiPage { protected $mTitle = class Title { ... }; protected $mDataLoaded = TRUE; private $mPageIsRedirectField = FALSE; private $mHasRedirectTarget = NULL; protected $mRedirectTarget = NULL; private $mIsNew = FALSE; private $mIsRedirect = FALSE; protected $mLatest = 658; protected $mPreparedEdit = FALSE; protected $mId = 371; protected $mDataLoadedFrom = 0; private $mLastRevision = class MediaWiki\Revision\RevisionStoreCacheRecord { ... }; protected $mTimestamp = '20200629125152'; protected $mTouched = '20200629125152'; protected $mLanguage = NULL; protected $mLinksUpdated = '20200629125152'; private $derivedDataUpdater = NULL }; private $action = 'info'; private $output = class OutputPage { private ${ContextSource}context = ...; protected $mMetatags = [...]; protected $mLinktags = [...]; protected $mCanonicalUrl = FALSE; private $mPageTitle = 'Information for "Main Page"'; private $displayTitle = NULL; private $cacheIsFinal = FALSE; public $mBodytext = ''; private $mHTMLtitle = 'Information for "Main Page" - ReedyDevWiki'; private $mIsArticle = FALSE; private $mIsArticleRelated = TRUE; private $mHasCopyright = FALSE; private $mPrintable = FALSE; private $mSections = [...]; private $mSubtitle = [...]; public $mRedirect = ''; protected $mStatusCode = NULL; 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 = NULL; 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 = TRUE; 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 { ... } }; private $user = class User { public $mId = 0; public $mName = '10.13.37.22'; public $mActorId = NULL; public $mRealName = ''; public $mEmail = ''; public $mTouched = '1'; protected $mQuickTouched = NULL; protected $mToken = NULL; public $mEmailAuthenticated = NULL; protected $mEmailToken = ''; protected $mEmailTokenExpires = NULL; protected $mRegistration = '20220628225447'; protected $mLoadedItems = TRUE; public $mFrom = 'session'; protected $mDatePreference = 'default'; private $mBlockedby = -1; protected $mHash = FALSE; protected $mBlockreason = NULL; protected $mGlobalBlock = NULL; protected $mLocked = NULL; private $mHideName = NULL; private $mRequest = class WebRequest { ... }; private $mBlock = NULL; private $mBlockedFromCreateAccount = FALSE; protected $queryFlagsUsed = 0; private $mThisAsAuthority = class MediaWiki\Permissions\UserAuthority { ... }; private $isTemp = NULL }; private $authority = NULL; private $lang = class Language { public $mCode = 'en-gb'; public $mMagicExtensions = [...]; private $mHtmlCode = NULL; public $dateFormatStrings = [...]; public $mExtendedSpecialPageAliases = [...]; protected $namespaceNames = [...]; protected $mNamespaceIds = NULL; protected $namespaceAliases = NULL; private $transformData = [...]; private $namespaceInfo = class NamespaceInfo { ... }; private $localisationCache = class LocalisationCache { ... }; private $langNameUtils = class MediaWiki\Languages\LanguageNameUtils { ... }; private $langFallback = class MediaWiki\Languages\LanguageFallback { ... }; private $grammarTransformCache = NULL; private $converterFactory = class MediaWiki\Languages\LanguageConverterFactory { ... }; private $hookContainer = class MediaWiki\HookContainer\HookContainer { ... }; private $hookRunner = class MediaWiki\HookContainer\HookRunner { ... }; private $config = class GlobalVarConfig { ... } }; private $skin = NULL; private $timing = NULL; private $config = class GlobalVarConfig { private $prefix = 'wg' }; private $languageRecursion = FALSE }, $pageInfo = ['header-basic' => [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...]], 'header-restrictions' => [0 => [...], 1 => [...], 2 => [...]], 'header-edits' => [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...]]] ) .../InfoAction.php:245 10 0.1060 5484736 MediaWiki\HookContainer\HookContainer->run( $hook = 'InfoAction', $args = [0 => class RequestContext { private $request = class WebRequest { ... }; private $title = class Title { ... }; private $wikipage = class WikiPage { ... }; private $action = 'info'; private $output = class OutputPage { ... }; private $user = class User { ... }; private $authority = NULL; private $lang = class Language { ... }; private $skin = NULL; private $timing = NULL; private $config = class GlobalVarConfig { ... }; private $languageRecursion = FALSE }, 1 => ['header-basic' => [...], 'header-restrictions' => [...], 'header-edits' => [...]]], $options = ??? ) .../HookRunner.php:2148 11 0.1060 5485864 MediaWiki\HookContainer\HookContainer->callLegacyHook( $hook = 'InfoAction', $handler = ['callback' => 'MediaWiki\\Extension\\PageViewInfo\\Hooks::onInfoAction', 'args' => [], 'functionName' => 'MediaWiki\\Extension\\PageViewInfo\\Hooks::onInfoAction'], $args = [0 => class RequestContext { private $request = class WebRequest { ... }; private $title = class Title { ... }; private $wikipage = class WikiPage { ... }; private $action = 'info'; private $output = class OutputPage { ... }; private $user = class User { ... }; private $authority = NULL; private $lang = class Language { ... }; private $skin = NULL; private $timing = NULL; private $config = class GlobalVarConfig { ... }; private $languageRecursion = FALSE }, 1 => ['header-basic' => [...], 'header-restrictions' => [...], 'header-edits' => [...]]], $options = [] ) .../HookContainer.php:137 12 0.1066 5486512 MediaWiki\Extension\PageViewInfo\Hooks::onInfoAction( $ctx = class RequestContext { private $request = class WebRequest { protected $data = [...]; protected $queryAndPathParams = [...]; protected $queryParams = [...]; protected $headers = [...]; private $response = class WebResponse { ... }; private $ip = '10.13.37.22'; protected $requestTime = 1656456887.4128; protected $protocol = 'http'; protected $sessionId = class MediaWiki\Session\SessionId { ... }; protected $markedAsSafe = FALSE }; private $title = class Title { private $mTextform = 'Main Page'; private $mUrlform = 'Main_Page'; private $mDbkeyform = 'Main_Page'; private $mNamespace = 0; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 371; protected $mLatestID = 658; private $mContentModel = 'wikitext'; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = 'Main Page'; protected $mLength = 1467; public $mRedirect = FALSE; private $mHasSubpages = NULL; private $mPageLanguage = [...]; private $mDbPageLanguage = FALSE; private $mTitleValue = NULL; private $mIsBigDeletion = NULL; private $mIsValid = TRUE; private $mInstanceCacheKey = NULL; protected $deprecatedPublicProperties = [...]; private $dynamicPropertiesAccessDeprecated = FALSE }; private $wikipage = class WikiPage { protected $mTitle = class Title { ... }; protected $mDataLoaded = TRUE; private $mPageIsRedirectField = FALSE; private $mHasRedirectTarget = NULL; protected $mRedirectTarget = NULL; private $mIsNew = FALSE; private $mIsRedirect = FALSE; protected $mLatest = 658; protected $mPreparedEdit = FALSE; protected $mId = 371; protected $mDataLoadedFrom = 0; private $mLastRevision = class MediaWiki\Revision\RevisionStoreCacheRecord { ... }; protected $mTimestamp = '20200629125152'; protected $mTouched = '20200629125152'; protected $mLanguage = NULL; protected $mLinksUpdated = '20200629125152'; private $derivedDataUpdater = NULL }; private $action = 'info'; private $output = class OutputPage { private ${ContextSource}context = ...; protected $mMetatags = [...]; protected $mLinktags = [...]; protected $mCanonicalUrl = FALSE; private $mPageTitle = 'Information for "Main Page"'; private $displayTitle = NULL; private $cacheIsFinal = FALSE; public $mBodytext = ''; private $mHTMLtitle = 'Information for "Main Page" - ReedyDevWiki'; private $mIsArticle = FALSE; private $mIsArticleRelated = TRUE; private $mHasCopyright = FALSE; private $mPrintable = FALSE; private $mSections = [...]; private $mSubtitle = [...]; public $mRedirect = ''; protected $mStatusCode = NULL; 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 = NULL; 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 = TRUE; 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 { ... } }; private $user = class User { public $mId = 0; public $mName = '10.13.37.22'; public $mActorId = NULL; public $mRealName = ''; public $mEmail = ''; public $mTouched = '1'; protected $mQuickTouched = NULL; protected $mToken = NULL; public $mEmailAuthenticated = NULL; protected $mEmailToken = ''; protected $mEmailTokenExpires = NULL; protected $mRegistration = '20220628225447'; protected $mLoadedItems = TRUE; public $mFrom = 'session'; protected $mDatePreference = 'default'; private $mBlockedby = -1; protected $mHash = FALSE; protected $mBlockreason = NULL; protected $mGlobalBlock = NULL; protected $mLocked = NULL; private $mHideName = NULL; private $mRequest = class WebRequest { ... }; private $mBlock = NULL; private $mBlockedFromCreateAccount = FALSE; protected $queryFlagsUsed = 0; private $mThisAsAuthority = class MediaWiki\Permissions\UserAuthority { ... }; private $isTemp = NULL }; private $authority = NULL; private $lang = class Language { public $mCode = 'en-gb'; public $mMagicExtensions = [...]; private $mHtmlCode = NULL; public $dateFormatStrings = [...]; public $mExtendedSpecialPageAliases = [...]; protected $namespaceNames = [...]; protected $mNamespaceIds = NULL; protected $namespaceAliases = NULL; private $transformData = [...]; private $namespaceInfo = class NamespaceInfo { ... }; private $localisationCache = class LocalisationCache { ... }; private $langNameUtils = class MediaWiki\Languages\LanguageNameUtils { ... }; private $langFallback = class MediaWiki\Languages\LanguageFallback { ... }; private $grammarTransformCache = NULL; private $converterFactory = class MediaWiki\Languages\LanguageConverterFactory { ... }; private $hookContainer = class MediaWiki\HookContainer\HookContainer { ... }; private $hookRunner = class MediaWiki\HookContainer\HookRunner { ... }; private $config = class GlobalVarConfig { ... } }; private $skin = NULL; private $timing = NULL; private $config = class GlobalVarConfig { private $prefix = 'wg' }; private $languageRecursion = FALSE }, $pageInfo = ['header-basic' => [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...]], 'header-restrictions' => [0 => [...], 1 => [...], 2 => [...]], 'header-edits' => [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...]]] ) .../HookContainer.php:338 13 0.1086 5488120 MediaWiki\Extension\PageViewInfo\CachedPageViewService->getPageData( $titles = [0 => class Title { private $mTextform = 'Main Page'; private $mUrlform = 'Main_Page'; private $mDbkeyform = 'Main_Page'; private $mNamespace = 0; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 371; protected $mLatestID = 658; private $mContentModel = 'wikitext'; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = 'Main Page'; protected $mLength = 1467; public $mRedirect = FALSE; private $mHasSubpages = NULL; private $mPageLanguage = [...]; private $mDbPageLanguage = FALSE; private $mTitleValue = NULL; private $mIsBigDeletion = NULL; private $mIsValid = TRUE; private $mInstanceCacheKey = NULL; protected $deprecatedPublicProperties = [...]; private $dynamicPropertiesAccessDeprecated = FALSE }], $days = 30, $metric = 'view' ) .../Hooks.php:31 14 0.1086 5488120 MediaWiki\Extension\PageViewInfo\CachedPageViewService->getTitlesWithCache( $metric = 'view', $titles = [0 => class Title { private $mTextform = 'Main Page'; private $mUrlform = 'Main_Page'; private $mDbkeyform = 'Main_Page'; private $mNamespace = 0; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 371; protected $mLatestID = 658; private $mContentModel = 'wikitext'; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = 'Main Page'; protected $mLength = 1467; public $mRedirect = FALSE; private $mHasSubpages = NULL; private $mPageLanguage = [...]; private $mDbPageLanguage = FALSE; private $mTitleValue = NULL; private $mIsBigDeletion = NULL; private $mIsValid = TRUE; private $mInstanceCacheKey = NULL; protected $deprecatedPublicProperties = [...]; private $dynamicPropertiesAccessDeprecated = FALSE }] ) .../CachedPageViewService.php:61 15 0.1086 5488560 MediumSpecificBagOStuff->makeKey( $collection = 'pvi', ...$components = variadic(NULL, 60, 'view', 'article', '8ef90d6fe2da950ea6e365958d8d26a7') ) .../CachedPageViewService.php:156 16 0.1086 5489312 MemcachedBagOStuff->makeKeyInternal( $keyspace = 'wikidb-mw_', $components = [0 => 'pvi', 1 => NULL, 2 => 60, 3 => 'view', 4 => 'article', 5 => '8ef90d6fe2da950ea6e365958d8d26a7'] ) .../MediumSpecificBagOStuff.php:974 17 0.1086 5489784 strtr( $string = NULL, $from = ' ', $to = '_' ) .../MemcachedBagOStuff.php:68
Description
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | BUG REPORT | None | T289926 Fix passing null to non-null param of PHP internal functions in MediaWiki core (PHP 8.1 warning) | ||
Resolved | Krinkle | T311566 Deprecated: strtr(): Passing null to parameter #1 ($string) of type string is deprecated in MemcachedBagOStuff.php on line 68 |
Event Timeline
foreach ( $titles as $title ) { $titleToCacheKey[$title->getPrefixedDBkey()] = $this->cache->makeKey( 'pvi', $this->prefix, $this->cachedDays, $metric, self::SCOPE_ARTICLE, md5( $title->getPrefixedDBkey() ) ); }
$this->prefix is null...
Do we want to just swap it to $this->prefix ?? '' or do we need to fix where it's being set?
Which (at least in ServiceWiring.php) is obvious:
$cachedService = new CachedPageViewService( $service, $cache ); $cachedService->setCachedDays( $cachedDays ); $cachedService->setLogger( $logger ); return $cachedService;
Change 809337 had a related patch set uploaded (by Krinkle; author: Krinkle):
[mediawiki/extensions/PageViewInfo@master] CachedPageViewService: Ensure $prefix is a string
Source code: PageViewInfo/CachedPageViewService.php
I'd go with the constructor. Patch is up :)
Change 809337 merged by jenkins-bot:
[mediawiki/extensions/PageViewInfo@master] CachedPageViewService: Ensure $prefix is a string
Change 809265 had a related patch set uploaded (by Reedy; author: Krinkle):
[mediawiki/extensions/PageViewInfo@REL1_38] CachedPageViewService: Ensure $prefix is a string
Change 809346 had a related patch set uploaded (by Reedy; author: Krinkle):
[mediawiki/extensions/PageViewInfo@REL1_37] CachedPageViewService: Ensure $prefix is a string
Change 809347 had a related patch set uploaded (by Reedy; author: Krinkle):
[mediawiki/extensions/PageViewInfo@REL1_35] CachedPageViewService: Ensure $prefix is a string
Change 809265 merged by jenkins-bot:
[mediawiki/extensions/PageViewInfo@REL1_38] CachedPageViewService: Ensure $prefix is a string
Change 809346 merged by jenkins-bot:
[mediawiki/extensions/PageViewInfo@REL1_37] CachedPageViewService: Ensure $prefix is a string
Change 809347 merged by jenkins-bot:
[mediawiki/extensions/PageViewInfo@REL1_35] CachedPageViewService: Ensure $prefix is a string