Note two very similar stack traces when visiting Special:MergeHistories
( ! ) Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/wiki/mediawiki/core/includes/parser/Sanitizer.php on line 858 Call Stack # Time Memory Function Location 1 0.0001 365304 {main}( ) .../index.php:0 2 0.0391 4029800 wfIndexMain( ) .../index.php:46 3 0.0391 4029912 MediaWiki->run( ) .../index.php:50 4 0.0391 4029912 MediaWiki->main( ) .../MediaWiki.php:568 5 0.0395 4047208 MediaWiki->performRequest( ) .../MediaWiki.php:911 6 0.0525 4695976 MediaWiki\SpecialPage\SpecialPageFactory->executePath( $path = class Title { private $mTextform = 'MergeHistory'; private $mUrlform = 'MergeHistory'; private $mDbkeyform = 'MergeHistory'; private $mNamespace = -1; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 0; protected $mLatestID = FALSE; private $mContentModel = FALSE; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = NULL; protected $mLength = -1; public $mRedirect = NULL; private $mHasSubpages = NULL; private $mPageLanguage = NULL; 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 }, $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 = 1659578744.4126; protected $protocol = 'https'; protected $sessionId = class MediaWiki\Session\SessionId { ... }; protected $markedAsSafe = FALSE }; private $title = class Title { private $mTextform = 'MergeHistory'; private $mUrlform = 'MergeHistory'; private $mDbkeyform = 'MergeHistory'; private $mNamespace = -1; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 0; protected $mLatestID = FALSE; private $mContentModel = FALSE; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = 'Special:MergeHistory'; protected $mLength = -1; public $mRedirect = NULL; private $mHasSubpages = NULL; private $mPageLanguage = NULL; private $mDbPageLanguage = FALSE; private $mTitleValue = NULL; private $mIsBigDeletion = NULL; private $mIsValid = NULL; private $mInstanceCacheKey = NULL; protected $deprecatedPublicProperties = [...]; private $dynamicPropertiesAccessDeprecated = FALSE }; private $wikipage = NULL; private $action = NULL; private $output = class OutputPage { private ${ContextSource}context = ...; protected $mMetatags = [...]; protected $mLinktags = [...]; protected $mCanonicalUrl = FALSE; private $mPageTitle = 'Merge page histories'; private $displayTitle = NULL; private $cacheIsFinal = FALSE; public $mBodytext = '<p>This page lets you merge revisions of the history of one source page into a newer page.\nMake sure that this change will maintain historical page continuity.\n</p>'; private $mHTMLtitle = 'Merge page histories - ReedyDevWiki'; private $mIsArticle = FALSE; private $mIsArticleRelated = FALSE; 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 = 1; public $mName = 'Reedy'; public $mActorId = 1; public $mRealName = 'Sam'; public $mEmail = 'sam@reedyboy.net'; public $mTouched = '20220716173926'; protected $mQuickTouched = NULL; protected $mToken = 'a47668ca62955a1c7c36284542d16f8d'; public $mEmailAuthenticated = '20220708234337'; protected $mEmailToken = '\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000'; protected $mEmailTokenExpires = NULL; protected $mRegistration = '20110131194049'; protected $mLoadedItems = TRUE; public $mFrom = 'session'; protected $mDatePreference = NULL; 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 = class MediaWiki\Skins\Vector\SkinVectorLegacy { private ${ContextSource}context = ...; 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 }; private $timing = NULL; private $config = class GlobalVarConfig { private $prefix = 'wg' }; private $languageRecursion = FALSE }, $including = ???, $linkRenderer = ??? ) .../MediaWiki.php:316 7 0.0526 4700072 SpecialPage->run( $subPage = NULL ) .../SpecialPageFactory.php:1423 8 0.0596 4817664 SpecialMergeHistory->execute( $par = NULL ) .../SpecialPage.php:690 9 0.0761 6475160 SpecialMergeHistory->showMergeForm( ) .../SpecialMergeHistory.php:157 10 0.0790 6570448 Xml::input( $name = 'target', $size = 30, $value = NULL, $attribs = ['id' => 'target'] ) .../SpecialMergeHistory.php:208 11 0.0790 6571200 Xml::element( $element = 'input', $attribs = ['name' => 'target', 'size' => 30, 'value' => NULL, 'id' => 'target'], $contents = ???, $allowShortTag = ??? ) .../Xml.php:295 12 0.0790 6571232 Xml::expandAttributes( $attribs = ['name' => 'target', 'size' => 30, 'value' => NULL, 'id' => 'target'] ) .../Xml.php:48 13 0.0790 6571328 Sanitizer::encodeAttribute( $text = NULL ) .../Xml.php:75 14 0.0790 6571328 htmlspecialchars( $string = NULL, $flags = 3 ) .../Sanitizer.php:858 ( ! ) Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/wiki/mediawiki/core/includes/parser/Sanitizer.php on line 858 Call Stack # Time Memory Function Location 1 0.0001 365304 {main}( ) .../index.php:0 2 0.0391 4029800 wfIndexMain( ) .../index.php:46 3 0.0391 4029912 MediaWiki->run( ) .../index.php:50 4 0.0391 4029912 MediaWiki->main( ) .../MediaWiki.php:568 5 0.0395 4047208 MediaWiki->performRequest( ) .../MediaWiki.php:911 6 0.0525 4695976 MediaWiki\SpecialPage\SpecialPageFactory->executePath( $path = class Title { private $mTextform = 'MergeHistory'; private $mUrlform = 'MergeHistory'; private $mDbkeyform = 'MergeHistory'; private $mNamespace = -1; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 0; protected $mLatestID = FALSE; private $mContentModel = FALSE; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = NULL; protected $mLength = -1; public $mRedirect = NULL; private $mHasSubpages = NULL; private $mPageLanguage = NULL; 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 }, $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 = 1659578744.4126; protected $protocol = 'https'; protected $sessionId = class MediaWiki\Session\SessionId { ... }; protected $markedAsSafe = FALSE }; private $title = class Title { private $mTextform = 'MergeHistory'; private $mUrlform = 'MergeHistory'; private $mDbkeyform = 'MergeHistory'; private $mNamespace = -1; private $mInterwiki = ''; private $mLocalInterwiki = FALSE; private $mFragment = ''; public $mArticleID = 0; protected $mLatestID = FALSE; private $mContentModel = FALSE; private $mForcedContentModel = FALSE; private $mEstimateRevisions = NULL; public $prefixedText = 'Special:MergeHistory'; protected $mLength = -1; public $mRedirect = NULL; private $mHasSubpages = NULL; private $mPageLanguage = NULL; private $mDbPageLanguage = FALSE; private $mTitleValue = NULL; private $mIsBigDeletion = NULL; private $mIsValid = NULL; private $mInstanceCacheKey = NULL; protected $deprecatedPublicProperties = [...]; private $dynamicPropertiesAccessDeprecated = FALSE }; private $wikipage = NULL; private $action = NULL; private $output = class OutputPage { private ${ContextSource}context = ...; protected $mMetatags = [...]; protected $mLinktags = [...]; protected $mCanonicalUrl = FALSE; private $mPageTitle = 'Merge page histories'; private $displayTitle = NULL; private $cacheIsFinal = FALSE; public $mBodytext = '<p>This page lets you merge revisions of the history of one source page into a newer page.\nMake sure that this change will maintain historical page continuity.\n</p>'; private $mHTMLtitle = 'Merge page histories - ReedyDevWiki'; private $mIsArticle = FALSE; private $mIsArticleRelated = FALSE; 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 = 1; public $mName = 'Reedy'; public $mActorId = 1; public $mRealName = 'Sam'; public $mEmail = 'sam@reedyboy.net'; public $mTouched = '20220716173926'; protected $mQuickTouched = NULL; protected $mToken = 'a47668ca62955a1c7c36284542d16f8d'; public $mEmailAuthenticated = '20220708234337'; protected $mEmailToken = '\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000'; protected $mEmailTokenExpires = NULL; protected $mRegistration = '20110131194049'; protected $mLoadedItems = TRUE; public $mFrom = 'session'; protected $mDatePreference = NULL; 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 = class MediaWiki\Skins\Vector\SkinVectorLegacy { private ${ContextSource}context = ...; 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 }; private $timing = NULL; private $config = class GlobalVarConfig { private $prefix = 'wg' }; private $languageRecursion = FALSE }, $including = ???, $linkRenderer = ??? ) .../MediaWiki.php:316 7 0.0526 4700072 SpecialPage->run( $subPage = NULL ) .../SpecialPageFactory.php:1423 8 0.0596 4817664 SpecialMergeHistory->execute( $par = NULL ) .../SpecialPage.php:690 9 0.0761 6475160 SpecialMergeHistory->showMergeForm( ) .../SpecialMergeHistory.php:157 10 0.0796 6575040 Xml::input( $name = 'dest', $size = 30, $value = NULL, $attribs = ['id' => 'dest'] ) .../SpecialMergeHistory.php:211 11 0.0797 6575792 Xml::element( $element = 'input', $attribs = ['name' => 'dest', 'size' => 30, 'value' => NULL, 'id' => 'dest'], $contents = ???, $allowShortTag = ??? ) .../Xml.php:295 12 0.0797 6575824 Xml::expandAttributes( $attribs = ['name' => 'dest', 'size' => 30, 'value' => NULL, 'id' => 'dest'] ) .../Xml.php:48 13 0.0797 6575912 Sanitizer::encodeAttribute( $text = NULL ) .../Xml.php:75 14 0.0797 6575912 htmlspecialchars( $string = NULL, $flags = 3 ) .../Sanitizer.php:858