Page MenuHomePhabricator

Crasher from missing DSR info -> failed encap -> failed wrapSections
Open, NormalPublic

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

Arlolra created this task.Nov 5 2018, 9:10 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 5 2018, 9:10 PM
ssastry added a subscriber: ssastry.Nov 8 2018, 5:43 AM

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 Normal priority.
ssastry moved this task from Backlog to Crashers on the Parsoid board.Apr 22 2019, 2:07 PM
Restricted Application added a subscriber: Liuxinyu970226. · View Herald TranscriptApr 22 2019, 2:07 PM