| I'm seeing the following JavaScript exception when I attempt to navigate to the blue ocean pipeline. Copied from Safari:
[Log] There has been an error while trying to get the run data. (blueocean-core-js.js, line 57459)
TypeError: null is not an object (evaluating 'run.causes.length')
cause — jenkins-js-extension.js:93976
render — jenkins-js-extension.js:94037
_renderValidatedComponentWithoutOwnerOrContext — jenkins-design-language.js:69002
_renderValidatedComponent — jenkins-design-language.js:69025:95
performInitialMount — jenkins-design-language.js:68560
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
mountChildren — jenkins-design-language.js:74035
_createInitialChildren — jenkins-design-language.js:69925
mountComponent — jenkins-design-language.js:69744
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
mountChildren — jenkins-design-language.js:74035
_createInitialChildren — jenkins-design-language.js:69925
mountComponent — jenkins-design-language.js:69744
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
mountChildren — jenkins-design-language.js:74035
_createInitialChildren — jenkins-design-language.js:69925
mountComponent — jenkins-design-language.js:69744
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
_updateRenderedComponent — jenkins-design-language.js:68968
From previous event:
fetchActivity — blueocean-core-js.js:57456:108
_fetchRun — jenkins-js-extension.js:93114
componentWillMount — jenkins-js-extension.js:93090
performInitialMount — jenkins-design-language.js:68549
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
updateChildren — jenkins-design-language.js:68101:86
_reconcilerUpdateChildren — jenkins-design-language.js:74010
_updateChildren — jenkins-design-language.js:74109
updateChildren — jenkins-design-language.js:74096
_updateDOMChildren — jenkins-design-language.js:70164
updateComponent — jenkins-design-language.js:69982
receiveComponent — jenkins-design-language.js:69944
receiveComponent — jenkins-design-language.js:75201
_updateRenderedComponent — jenkins-design-language.js:68957
_performComponentUpdate — jenkins-design-language.js:68927
updateComponent — jenkins-design-language.js:68848
receiveComponent — jenkins-design-language.js:68750
receiveComponent — jenkins-design-language.js:75201
_updateRenderedComponent — jenkins-design-language.js:68957
_performComponentUpdate — jenkins-design-language.js:68927
updateComponent — jenkins-design-language.js:68848
performUpdateIfNecessary — jenkins-design-language.js:68764
performUpdateIfNecessary — jenkins-design-language.js:75233
runBatchedUpdates — jenkins-design-language.js:76481
perform — jenkins-design-language.js:78207
perform — jenkins-design-language.js:78207
flushBatchedUpdates — jenkins-design-language.js:76503
flushBatchedUpdates
closeAll — jenkins-design-language.js:78273
perform — jenkins-design-language.js:78220
enqueueUpdate — jenkins-design-language.js:76531
enqueueUpdate — jenkins-design-language.js:76130
enqueueForceUpdate — jenkins-design-language.js:76263
forceUpdate — jenkins-design-language.js:85713
runReaction — jenkins-js-extension.js:56751
runReactions — blueocean-core-js.js:41514
transactionEnd — blueocean-core-js.js:41586
executeAction — blueocean-core-js.js:40837
From previous event:
_handleParams — jenkins-js-extension.js:91300
componentWillMount — jenkins-js-extension.js:91284
performInitialMount — jenkins-design-language.js:68549
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
mountChildren — jenkins-design-language.js:74035
_createInitialChildren — jenkins-design-language.js:69925
mountComponent — jenkins-design-language.js:69744
mountComponent — jenkins-design-language.js:75122
mountChildren — jenkins-design-language.js:74035
_createInitialChildren — jenkins-design-language.js:69925
mountComponent — jenkins-design-language.js:69744
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
performInitialMount — jenkins-design-language.js:68569
mountComponent — jenkins-design-language.js:68456
mountComponent — jenkins-design-language.js:75122
mountComponentIntoNode — jenkins-design-language.js:73349
perform — jenkins-design-language.js:78207
batchedMountComponentIntoNode — jenkins-design-language.js:73370
perform — jenkins-design-language.js:78207
_renderNewRootComponent — jenkins-design-language.js:73564
_renderSubtreeIntoContainer — jenkins-design-language.js:73646
startApp — blueocean.js:58825
nextArg — blueocean-core-js.js:912
_filterExtensions — blueocean-core-js.js:950
checkLoading — blueocean-core-js.js:1067
_loadBundles — blueocean-core-js.js:1099
getExtensions — blueocean-core-js.js:923
nextArg — blueocean-core-js.js:916
doOnload — blueocean-core-js.js:964
_filterExtensions — blueocean-core-js.js:984
checkLoading — blueocean-core-js.js:1067
dec — blueocean-core-js.js:1134
doFulfill — blueocean-core-js.js:2862
resolve — blueocean-core-js.js:2867
doFulfill — blueocean-core-js.js:2862
resolve — blueocean-core-js.js:2867
notifyModuleExported — jenkins-js-extension.js:3104
exportModule — jenkins-js-extension.js:2600
___$$$___doExport — jenkins-js-extension.js:73982
___$$$___doExports — jenkins-js-extension.js:74047
onFullfilled — jenkins-js-extension.js:74014
doFulfill — jenkins-js-extension.js:3472
resolve — jenkins-js-extension.js:3477
forEach
emit — blueocean-core-js.js:30330
forEach
emit — blueocean-core-js.js:30336
forEach
loaded — blueocean-core-js.js:30009
promiseReactionJob
AFAICS the issue here is that the 'run' object here does not actually have a 'causes' member: https://github.com/jenkinsci/blueocean-plugin/blob/ce051e519adeaa23acf1bbeea492821bbd6e00ca/blueocean-dashboard/src/main/js/components/RunDetailsHeader.jsx#L187 A similar check would probably be required here: https://github.com/jenkinsci/blueocean-plugin/blob/master/blueocean-dashboard/src/main/js/components/RunMessageCell.jsx#L67 |