Page MenuHomePhabricator

Crasher from missing DSR info -> failed encap -> failed wrapSections
Closed, DeclinedPublic

Description

https://logstash.wikimedia.org/app/kibana#/doc/logstash-*/logstash-2018.11.05/parsoid?id=AWbkGNqh00on8STvzXX3&_g=h@44136fa

frwiki Modèle:Citation_discussion_en_ligne 153531995

TypeError: Cannot read property '0' of undefined
    at getDSR (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/src/lib/wt2html/pp/processors/wrapSections.js:184:21)
    at getDSR (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/src/lib/wt2html/pp/processors/wrapSections.js:193:11)
    at /srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/src/lib/wt2html/pp/processors/wrapSections.js:272:15
    at Array.forEach (native)
    at resolveTplExtSectionConflicts (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/src/lib/wt2html/pp/processors/wrapSections.js:202:29)
    at Object.wrapSections [as proc] (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/src/lib/wt2html/pp/processors/wrapSections.js:342:2)
    at DOMPostProcessor.<anonymous> (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/src/lib/wt2html/DOMPostProcessor.js:614:17)
    at next (native)
    at tryCatchNext (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/node_modules/prfun/lib/index.js:783:28)
    at continuer (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/node_modules/prfun/lib/index.js:800:24)
    at callback (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/node_modules/prfun/lib/index.js:812:43)
    at /srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/node_modules/prfun/lib/index.js:814:9
    at tryCatch2 (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/node_modules/babybird/lib/promise.js:48:12)
    at PrFunPromise.Promise (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/node_modules/babybird/lib/promise.js:458:15)
    at new PrFunPromise (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/node_modules/prfun/lib/index.js:100:21)
    at DOMPostProcessor.doPostProcess (/srv/deployment/parsoid/deploy-cache/revs/e36608ca09c80c9ce638db8790e59259d7f769af/node_modules/prfun/lib/index.js:797:21)

Event Timeline

I get a different error locally

[subbu@earth:~/work/wmf/parsoid] parse.js --prefix frwiki --pageName Modèle:Citation_discussion_en_ligne --linting --useBatchAPI --oldid 153531995 < /dev/null > /dev/null
[error][frwiki/Modèle:Citation_discussion_en_ligne?oldid=153531995] Do not have necessary info. to encapsulate Tpl: 0
Start Elt : <meta typeof="mw:Transclusion" about="#mwt9">
End Elt   : <meta typeof="mw:Transclusion/End" about="#mwt9">
Start DSR : "no-start-dsr"
End   DSR : [null,467,null,null]
Stack:
  encapsulateTemplates (/home/subbu/work/wmf/parsoid/lib/wt2html/pp/processors/wrapTemplates.js:848:8)
  wrapTemplatesInTree (/home/subbu/work/wmf/parsoid/lib/wt2html/pp/processors/wrapTemplates.js:1027:3)
  Object.wrapTemplates [as proc] (/home/subbu/work/wmf/parsoid/lib/wt2html/pp/processors/wrapTemplates.js:1037:2)
  DOMPostProcessor.<anonymous> (/home/subbu/work/wmf/parsoid/lib/wt2html/DOMPostProcessor.js:631:17)
  next (native)
  tryCatchNext (/home/subbu/work/wmf/deploy/node_modules/prfun/lib/index.js:783:28)
  continuer (/home/subbu/work/wmf/deploy/node_modules/prfun/lib/index.js:800:24)
  callback (/home/subbu/work/wmf/deploy/node_modules/prfun/lib/index.js:812:43)
  /home/subbu/work/wmf/deploy/node_modules/prfun/lib/index.js:814:9
  tryCatch2 (/home/subbu/work/wmf/deploy/node_modules/babybird/lib/promise.js:48:12)
  PrFunPromise.Promise (/home/subbu/work/wmf/deploy/node_modules/babybird/lib/promise.js:458:15)
  new PrFunPromise (/home/subbu/work/wmf/deploy/node_modules/prfun/lib/index.js:100:21)

What you've produced is not the crash, but the reason for it. You're piping the rendered page into /dev/null, meaning it didn't crash.

When you add --wrapSections is dutifully crashes.

The problem here is that encapsulation failed, so all bets are lost, similar to T187386.

We opened T191641 to deal with the problem of passes running subsequent to an encapsulation failure.

But ... in this case, I think we should look into why the encapsulation failed because it looks like a dsr computation bug (a paragraph isn't being assigned dsr info).

What you've produced is not the crash, but the reason for it. You're piping the rendered page into /dev/null, meaning it didn't crash.

When you add --wrapSections is dutifully crashes.

Ah right, wrap sections ... late night debugging FTW! :)

The problem here is that encapsulation failed, so all bets are lost, similar to T187386.

We opened T191641 to deal with the problem of passes running subsequent to an encapsulation failure.

But ... in this case, I think we should look into why the encapsulation failed because it looks like a dsr computation bug (a paragraph isn't being assigned dsr info).

Got it.

ssastry renamed this task from TypeError: Cannot read property '0' of undefined to Crasher from missing DSR info -> failed encap -> failed wrapSections.Nov 26 2018, 3:07 PM
ssastry triaged this task as Medium priority.

Parsoid/JS is not in use any more.