Page MenuHomePhabricator

TypeError: Cannot set property 'text-decoration' of undefined
Closed, ResolvedPublic

Description

Just witnessed an exception thrown by the service in production:

[2016-01-22T18:12:07.293Z] ERROR: mobileapps/199 on scb1001: 500: internal_error (message="500: internal_error", status=500, type=internal_error, detail="Cannot set property 'text-decoration' of undefined", levelPath=error/500, request_id=9fb9654c-c133-11e5-996e-7cc00f987d3f)
    stack: TypeError: Cannot set property 'text-decoration' of undefined
        at Parser.<anonymous> (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/CSSStyleDeclaration.js:20:56)
        at Parser.EventTarget.fire (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/cssparser.js:91:30)
        at Parser.additions._declaration (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/cssparser.js:2615:26)
        at Parser.additions._readDeclarations (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/cssparser.js:3123:41)
        at Parser.additions.parseStyleAttribute (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/cssparser.js:3344:22)
        at parseStyles (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/CSSStyleDeclaration.js:23:10)
        at Object.create._parsed.get (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/CSSStyleDeclaration.js:36:28)
        at Object.create.getPropertyValue.value (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/CSSStyleDeclaration.js:87:16)
        at Object.defineProperty.get (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/CSSStyleDeclaration.js:258:19)
        at Object.hideIPA (/srv/deployment/mobileapps/deploy/src/lib/transformations/hideIPA.js:25:29)
        at runAllSectionsTransforms (/srv/deployment/mobileapps/deploy/src/lib/transforms.js:240:13)
        at Object.runParsoidDomTransforms (/srv/deployment/mobileapps/deploy/src/lib/transforms.js:261:5)
        at Request.<anonymous> (/srv/deployment/mobileapps/deploy/src/lib/parsoid-access.js:178:24)
        at Request.tryCatcher (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/util.js:11:23)
        at Promise._settlePromiseFromHandler (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:489:31)
        at Promise._settlePromise (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:546:18)

Looks like a problem in the domino library, but please investigate this.

Event Timeline

mobrovac raised the priority of this task from to High.
mobrovac updated the task description. (Show Details)
mobrovac subscribed.
mobrovac set Security to None.
mobrovac edited subscribers, added: Mholloway, bearND; removed: Aklapper.
Mholloway renamed this task from Exception in production to TypeError: Cannot set property 'text-decoration' of undefined.Jan 25 2016, 4:10 PM
Mholloway claimed this task.
Mholloway moved this task from Incoming to Doing on the Mobile-Content-Service board.
Mholloway moved this task from Doing to Tracking on the Mobile-Content-Service board.

Deployed the domino update this morning, but reverted shortly thereafter because it created a flood of these in production:

TypeError: Cannot convert object to primitive value    
 at Object.create._serialize.value (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/CSSStyleDeclaration.js:55:23)
 at Object.create.setProperty.value (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/CSSStyleDeclaration.js:134:10)    
 at Object.defineProperty.set (/srv/deployment/mobileapps/deploy/node_modules/domino/lib/CSSStyleDeclaration.js:265:12)
 at Object.hideIPA (/srv/deployment/mobileapps/deploy/src/lib/transformations/hideIPA.js:45:34)
 at runAllSectionsTransforms (/srv/deployment/mobileapps/deploy/src/lib/transforms.js:242:13)
 at Object.runParsoidDomTransforms (/srv/deployment/mobileapps/deploy/src/lib/transforms.js:263:5)
 at Request.<anonymous> (/srv/deployment/mobileapps/deploy/src/lib/parsoid-access.js:181:24)
 at Request.tryCatcher (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/util.js:11:23)
 at Promise._settlePromiseFromHandler (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:491:31)    
 at Promise._settlePromise (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:548:18)
 at Promise._settlePromise0 (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:593:10)
 at Promise._settlePromises (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:676:18)
 at Promise._fulfill (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:617:18)
 at Promise._resolveCallback (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:418:57)
 at Promise._settlePromiseFromHandler (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:504:17)  
 at Promise._settlePromise (/srv/deployment/mobileapps/deploy/node_modules/bluebird/js/release/promise.js:548:18)

Change 267679 had a related patch set uploaded (by Mholloway):
Update domino to 1.0.23

https://gerrit.wikimedia.org/r/267679

The fix for last Thursday's problem has been released in Domino 1.0.23. It should be deployed tomorrow during the coordinated deploy window along with our RESTBase URI change.

Change 267679 merged by Mobrovac:
Update domino to 1.0.23

https://gerrit.wikimedia.org/r/267679