Page MenuHomePhabricator

Maximum call stack size exceeded error in Parsoid
Closed, ResolvedPublic

Description

From time to time there're 500 errors in RESTBase logs coming from Parsoid. They're mostly related to enormous user pages that transcode everything, so it's not too critical, but might be nice to fix.

Example page: https://commons.wikimedia.org/api/rest_v1/page/html/User%3APutnik%2FWLM
Stack trace:

Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
    at RegExp.exec (native)
    at RegExp.test (native)
    at DOMPostProcessor.prepareDOM (/srv/deployment/parsoid/deploy-cache/revs/c3a5c55fd5421cd90e462e32729e793c18ea85b5/src/lib/wt2html/DOMPostProcessor.js:215:48)
    at DOMTraverser.callHandlers (/srv/deployment/parsoid/deploy-cache/revs/c3a5c55fd5421cd90e462e32729e793c18ea85b5/src/lib/utils/DOMTraverser.js:52:35)
    at DOMTraverser.traverse (/srv/deployment/parsoid/deploy-cache/revs/c3a5c55fd5421cd90e462e32729e793c18ea85b5/src/lib/utils/DOMTraverser.js:105:27)
    at DOMTraverser.traverse (/srv/deployment/parsoid/deploy-cache/revs/c3a5c55fd5421cd90e462e32729e793c18ea85b5/src/lib/utils/DOMTraverser.js:116:10)
    at DOMTraverser.traverse (/srv/deployment/parsoid/deploy-cache/revs/c3a5c55fd5421cd90e462e32729e793c18ea85b5/src/lib/utils/DOMTraverser.js:116:10)
    at DOMPostProcessor.doPostProcess (/srv/deployment/parsoid/deploy-cache/revs/c3a5c55fd5421cd90e462e32729e793c18ea85b5/src/lib/wt2html/DOMPostProcessor.js:429:7)