I can't read https://fr.wikibooks.org/wiki/Chimie_organique/Ethers or its history versions, I've tried with Firefox in Monobook and Chrome in Vector.
Description
Details
Project | Branch | Lines +/- | Subject | |
---|---|---|---|---|
mediawiki/extensions/Scribunto | master | +24 -38 | Improve argument validation in frame:expandTemplate() |
Related Objects
- Mentioned In
- rMEXT9b2bfaac56f2: Updated mediawiki/extensions Project: mediawiki/extensions/Scribunto…
rELUAd485b898c322: Improve argument validation in frame:expandTemplate() - Mentioned Here
- P122 MWException from line 1952 of /srv/mediawiki/php-1.25wmf10/includes/parser/Prepro cessor_Hash.php: PPNode_Hash_Text given object instead of string
Event Timeline
Thanks for reporting this.
https://fr.wikibooks.org/wiki/Chimie_organique/Ethers?debug=true worked for me, and afterwards https://fr.wikibooks.org/wiki/Chimie_organique/Ethers also works for me. Does this still happen to you? Are there other pages affected?
In general, pasting the exact full error output is welcome.
It's repaired now, sorry but I didn't write the long alphanumeric code when it was failing, but I had noticed that it was different according to the versions.
Sorry but it's back again, herewith the error:
[0559a619] 2014-12-03 13:35:07: Fatal exception of type MWException
We need someone to look up the stacktrace for [0559a619] on fr.wikibooks. CC'ing hoo and Reedy
It's affecting at least another page, and some people are reverting the last versions of our books because of that:
https://fr.wikibooks.org/w/index.php?title=Apprendre_%C3%A0_jouer_aux_%C3%A9checs&diff=454604&oldid=432083
Thanks! Stacktrace mentions both Parser/Preprocessor and Scribunto/Lua - CC'ing anomie and crossing fingers that I haven't made the wrong guess.
This happens when you pass something like a function or table as an argument value, like this:
=mw.getCurrentFrame():expandTemplate{title = 'Echo', args = {function() end}}
Also of note is that it only happens with Preprocessor_Hash, not with _DOM.
The argument validation needs to be there, but the fact that the code on frwikibooks is passing invalid argument types needs fixing on frwikibooks.
Change 177564 had a related patch set uploaded (by Anomie):
Improve argument validation in frame:expandTemplate()
OK, so I'll remove https://fr.wikibooks.org/wiki/Module:Navigation from the dozen of books where it was, because it was working before based on the summary array displaying...
Too late for that.
If nobody wants to assure a backward compatibility or an exception handling, you can close this ticket.
No, it's not too late for that. Whatever changes were made can be reverted. We are fixing the problem on our end, as you can see above.
There's no "backwards compatibility" to maintain here, it was always broken. The difference is that Preprocessor_DOM silently ignored the invalid types (using empty-string instead) while Preprocessor_Hash throws an exception.
And the reason for Preprocessor_Hash is because HHVM has/had issues with libxml (Gerrit change 155594).
As for "exception handling", Gerrit change 177564 is preventing the invalid types from being passed through in the first place.
I was just noticing that before the last migration the books pages displayed their contents, and not at all after (the only reason why I had initially put this task in priority "unbreak now"). This outage (complete service cut for a dozen of books) took place a few hours until I removed the Lua from them.
Change 177564 merged by jenkins-bot:
Improve argument validation in frame:expandTemplate()
The fix for this will be live on Wikibooks on December 16th. In the meantime, the module that was causing this bug should be fixed (since it's broken itself) and reinstated.