Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-59131

TypeError: null is not an object (evaluating 'run.causes.length')

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • blueocean-plugin
    • None
    • blue-ocean 1.19.0

      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

            kevinushey Kevin Ushey
            kevinushey Kevin Ushey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: