Last modified: 2013-07-04 10:33:26 UTC
Our POST processing dies after a VE edit to https://de.wikipedia.org/wiki/Liste_der_Denkm%C3%A4ler_im_K%C3%B6lner_Stadtteil_Altstadt-Nord with this backtrace: There was an error in the HTML5 parser! Sending it back to the editor. RangeError: Maximum call stack size exceeded at buf2str (/srv/deployment/parsoid/config/node_modules/domino/lib/HTMLParser.js:1458:30) at addAttribute (/srv/deployment/parsoid/config/node_modules/domino/lib/HTMLParser.js:2239:30) at attribute_value_double_quoted_state (/srv/deployment/parsoid/config/node_modules/domino/lib/HTMLParser.js:4187:7) at scanChars (/srv/deployment/parsoid/config/node_modules/domino/lib/HTMLParser.js:2117:11) at Object.htmlparser.parse (/srv/deployment/parsoid/config/node_modules/domino/lib/HTMLParser.js:1958:9) at Object.exports.createDocument (/srv/deployment/parsoid/config/node_modules/domino/lib/index.js:12:12) at Object.parseHTML (/srv/deployment/parsoid/Parsoid/js/lib/mediawiki.Util.js:1107:16) at app.post.cb (/srv/deployment/parsoid/Parsoid/js/api/ParserService.js:616:15) at getParserServiceEnv (/srv/deployment/parsoid/Parsoid/js/api/ParserService.js:326:4) at MWParserEnvironment.getParserEnv (/srv/deployment/parsoid/Parsoid/js/lib/mediawiki.parser.environment.js:263:3)
Hm, that call trace looks awfully short to be a call stack blowout. Can we reproduce this w/o VE?
Found and fixed in domino upstream. See https://github.com/fgnass/domino/commit/8e52432a319d199343b27107ba78a7c7393ac458
Related URL: https://gerrit.wikimedia.org/r/61945 (Gerrit Change I3b601c09ee510b2d381b4f518c652a349c5fb2e3)
Related URL: https://gerrit.wikimedia.org/r/61947 (Gerrit Change I41186eb1490b15d863d0193accfb4a42b2d98fa4)
Hm, domino is fixed, but there's a weird performance regression in node 0.6; see https://github.com/fgnass/domino/issues/33 What version of node are we using in production?
0.8 currently. Jenkins used 0.6 last time I checked.
With domino 1.0.11 on node 0.8.2 we still get a timeout. Parsing the modified version of https://de.wikipedia.org/wiki/Liste_der_Denkm%C3%A4ler_im_K%C3%B6lner_Stadtteil_Altstadt-Nord takes more than 5 minutes.
Update: It seems that a hanging Parsoid instance was causing the failure above. After manually restarting Parsoid with current code things are still relatively slow, but I get a sane-looking diff after editing https://de.wikipedia.org/wiki/Liste_der_Denkm%C3%A4ler_im_K%C3%B6lner_Stadtteil_Altstadt-Nord. Closing as fixed, please reopen if there are still pages where serialization times out.
[Parsoid component reorg by merging JS/General and General. See bug 50685 for more information. Filter bugmail on this comment. parsoidreorg20130704]