Jump to content

Topic on Project:Support desk/Flow

Jef-unc (talkcontribs)

Hi team,

I've installed mediawiki from the official download link (https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.1.tar.gz). Environment is PHP.8.2.19 and MySQL 8.2

All seems great until I try to switch language to French or Canadian French then comes a message

[ace29be1f11173093572d0ca] /index.php?title=Sp%C3%A9cial:Pr%C3%A9f%C3%A9rences&useskin=vector&wprov=vctw1 MWException: Parser state cleared while parsing. Did you call Parser::parse recursively? Lock is held by: #0 C:\www\mediawiki\includes\parser\Parser.php(882): Parser->lock()

#1 C:\www\mediawiki\includes\parser\Parser.php(4821): Parser->preprocess('Votre page d\xE2\x80\x99...', Object(MediaWiki\Title\Title), Object(ParserOptions)) ....


Backtrace:

from C:\www\mediawiki\includes\parser\Parser.php(6309)

#0 C:\www\mediawiki\includes\parser\Parser.php(882): Parser->lock()

#1 C:\www\mediawiki\includes\parser\Parser.php(4821): Parser->preprocess(string, MediaWiki\Title\Title, ParserOptions)

#2 C:\www\mediawiki\includes\language\MessageCache.php(1442): Parser->transformMsg(string, ParserOptions, MediaWiki\Title\Title)

#3 C:\www\mediawiki\includes\language\Message.php(1464): MessageCache->transform(string, boolean, Language, MediaWiki\Title\Title)

#4 C:\www\mediawiki\includes\language\Message.php(1011): Message->transformText(string)

#5 C:\www\mediawiki\includes\language\Message.php(1059): Message->format(string)

#6 C:\www\mediawiki\includes\linker\Linker.php(2207): Message->text()


Any idea ?

Bawolff (talkcontribs)

What extensions do you have installed. Does it still happen if all extensions are disabled?

Does this only happen on Special:Preferences or all pages?

Jef-unc (talkcontribs)

No extension at all or default extensions brings the same result.

It seems to be the on every page and further the markups are not interpretated anymore (such as the sitename that renders as {{ SlTENAME }}and not the site name by itself)

Bawolff (talkcontribs)

By any chance does the error message go on longer than that?

Bawolff (talkcontribs)

Huh, you are the second person to report this issue. Both of you were using the french localization. I wonder if there is a MW bug here.

Jef-unc (talkcontribs)

Here is the complete error message. I've also tried with other skins than default and same result. I wonder about some issue with the Parser.php or with language data (bad escape sequences for apostrophs may be ?)

[b2f0906e38269c1116736832] /index.php/Accueil MWException: Parser state cleared while parsing. Did you call Parser::parse recursively? Lock is held by: #0 C:\www\mediawiki\includes\parser\Parser.php(882): Parser->lock()

#1 C:\www\mediawiki\includes\parser\Parser.php(4821): Parser->preprocess('Votre page d\xE2\x80\x99...', Object(MediaWiki\Title\Title), Object(ParserOptions))

#2 C:\www\mediawiki\includes\language\MessageCache.php(1442): Parser->transformMsg('Votre page d\xE2\x80\x99...', Object(ParserOptions), Object(MediaWiki\Title\Title))

#3 C:\www\mediawiki\includes\language\Message.php(1464): MessageCache->transform('Votre page d\xE2\x80\x99...', true, Object(Language), Object(MediaWiki\Title\Title))

#4 C:\www\mediawiki\includes\language\Message.php(1011): Message->transformText('Votre page d\xE2\x80\x99...')

#5 C:\www\mediawiki\includes\language\Message.php(1059): Message->format('text')

#6 C:\www\mediawiki\includes\linker\Linker.php(2207): Message->text()

#7 C:\www\mediawiki\includes\linker\Linker.php(2388): MediaWiki\Linker\Linker::titleAttrib('pt-userpage', Array, Array, Object(DerivativeContext))

#8 C:\www\mediawiki\includes\skins\components\SkinComponentLink.php(236): MediaWiki\Linker\Linker::tooltipAndAccesskeyAttribs('pt-userpage', Array, Array)

#9 C:\www\mediawiki\includes\skins\components\SkinComponentLink.php(183): MediaWiki\Skin\SkinComponentLink->applyLinkTitleAttribs(Array, true, Array)

#10 C:\www\mediawiki\includes\skins\components\SkinComponentLink.php(254): MediaWiki\Skin\SkinComponentLink->makeLink('userpage', Array, Array)

#11 C:\www\mediawiki\includes\skins\components\SkinComponentListItem.php(170): MediaWiki\Skin\SkinComponentLink->getTemplateData()

#12 C:\www\mediawiki\includes\skins\components\SkinComponentListItem.php(221): MediaWiki\Skin\SkinComponentListItem->makeListItem('userpage', Array, Array, Array)

#13 C:\www\mediawiki\includes\skins\components\SkinComponentMenu.php(166): MediaWiki\Skin\SkinComponentListItem->getTemplateData()

#14 C:\www\mediawiki\includes\skins\Skin.php(2470): MediaWiki\Skin\SkinComponentMenu->getTemplateData()

#15 C:\www\mediawiki\includes\skins\SkinTemplate.php(641): Skin->getPortletData('user-page', Array)

#16 C:\www\mediawiki\includes\skins\SkinTemplate.php(181): SkinTemplate->getPortletsTemplateData()

#17 C:\www\mediawiki\includes\skins\SkinMustache.php(125): SkinTemplate->getTemplateData()

#18 C:\www\mediawiki\skins\Vector\includes\SkinVector22.php(329): SkinMustache->getTemplateData()

#19 C:\www\mediawiki\includes\skins\SkinMustache.php(92): MediaWiki\Skins\Vector\SkinVector22->getTemplateData()

#20 C:\www\mediawiki\includes\skins\SkinTemplate.php(174): SkinMustache->generateHTML()

#21 C:\www\mediawiki\includes\Output\OutputPage.php(2947): SkinTemplate->outputPage()

#22 C:\www\mediawiki\includes\MediaWiki.php(978): MediaWiki\Output\OutputPage->output(true)

#23 C:\www\mediawiki\includes\MediaWiki.php(613): MediaWiki->main()

#24 C:\www\mediawiki\index.php(50): MediaWiki->run()

#25 C:\www\mediawiki\index.php(46): wfIndexMain()

#26 {main}

Bawolff (talkcontribs)

Multiple people have reported something like this, but its unclear what the trigger is. It seems to happen in languages with gendered grammar (e.g. Spanish and french).

Some people report a connection to authorization extensions like extension:Auth_remoteuser.

See phab:T366986. If there is anything about your wiki that would make it different from the average wiki, please let us know in order to help us track down this issue.

Jef-unc (talkcontribs)

May be something more explicit when testing on the 1.39.7 version (same issue when switching language). <tbody>warning: Undefined property: Parser::$deprecatedPublicProperties in C:\www\mediawiki\includes\debug\DeprecationHelper.php on line 208 Call Stack #TimeMemoryFunctionLocation 10.83368089264Wikimedia\ScopedCallback->__destruct( )...\ScopedCallback.php:0 20.83368089264<a href="http://www.php.net/function.call-user-func-array:{C:\www\mediawiki\vendor\wikimedia\scoped-callback\src\ScopedCallback.php:102}" target="_new">call_user_func_array:{C:\www\mediawiki\vendor\wikimedia\scoped-callback\src\ScopedCallback.php:102}</a>( $callback = class Closure { public $this = class Parser { private $mTagHooks = *uninitialized*; private $mFunctionHooks = *uninitialized*; private $mFunctionSynonyms = *uninitialized*; private $mStripList = *uninitialized*; private $mVarCache = *uninitialized*; private $mImageParams = *uninitialized*; private $mImageParamsMagicArray = *uninitialized*; public $mMarkerIndex = *uninitialized*; private $mVariables = *uninitialized*; private $mSubstWords = *uninitialized*; private $mExtLinkBracketedRegex = *uninitialized*; private $urlUtils = *uninitialized*; private $mPreprocessor = *uninitialized*; private $mOutput = *uninitialized*; private $mAutonumber = *uninitialized*; private $mStripState = *uninitialized*; private $mLinkHolders = *uninitialized*; private $mLinkID = *uninitialized*; private $mIncludeSizes = *uninitialized*; public $mPPNodeCount = *uninitialized*; public $mHighestExpansionDepth = *uninitialized*; private $mTplRedirCache = *uninitialized*; public $mHeadings = *uninitialized*; private $mDoubleUnderscores = *uninitialized*; public $mExpensiveFunctionCount = *uninitialized*; private $mShowToc = *uninitialized*; private $mForceTocPosition = *uninitialized*; private $mTplDomCache = *uninitialized*; private $mUser = *uninitialized*; public $mOptions = *uninitialized*; public $mTitle = *uninitialized*; private $mOutputType = *uninitialized*; public $ot = *uninitialized*; private $mRevisionId = *uninitialized*; private $mRevisionTimestamp = *uninitialized*; private $mRevisionUser = *uninitialized*; private $mRevisionSize = *uninitialized*; private $mInputSize = *uninitialized*; private $mRevisionRecordObject = *uninitialized*; private $mLangLinkLanguages = *uninitialized*; private $currentRevisionCache = *uninitialized*; private $mInParse = *uninitialized*; private $mProfiler = *uninitialized*; private $mLinkRenderer = *uninitialized*; private $magicWordFactory = *uninitialized*; private $contLang = *uninitialized*; private $languageConverterFactory = *uninitialized*; private $factory = *uninitialized*; private $specialPageFactory = *uninitialized*; private $titleFormatter = *uninitialized*; private $svcOptions = *uninitialized*; private $linkRendererFactory = *uninitialized*; private $nsInfo = *uninitialized*; private $logger = *uninitialized*; private $badFileLookup = *uninitialized*; private $hookContainer = *uninitialized*; private $hookRunner = *uninitialized*; private $tidy = *uninitialized*; private $userOptionsLookup = *uninitialized*; private $userFactory = *uninitialized*; private $httpRequestFactory = *uninitialized*; private $trackingCategories = *uninitialized*; private $signatureValidatorFactory = *uninitialized*; private $userNameUtils = *uninitialized*; protected $deprecatedPublicProperties = *uninitialized*; private $dynamicPropertiesAccessDeprecated = *uninitialized* } }, $args = [] )...\ScopedCallback.php:102 30.83368089464Parser->{closure:C:\www\mediawiki\includes\parser\Parser.php:6471-6473}( )...\ScopedCallback.php:102 40.83368089560Parser->__set( $name = 'mInParse', $value = FALSE )...\Parser.php:6472 50.83368089944Parser->__isset( $name = 'deprecatedPublicProperties' )...\DeprecationHelper.php:217 60.83368089944Parser->__get( $name = 'deprecatedPublicProperties' )...\DeprecationHelper.php:163 </tbody>

Bawolff (talkcontribs)

Hard to say for sure, but i think that is unrelated.

Jef-unc (talkcontribs)

Looks like unrelated but exactly the same steps to reproduce the dysfunction and same steps to revert to normal state.