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

Duplicate symbols in different plugins cause NPEs

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      If two different plugins define the same symbol name in steps or parameters then the workflow cps plugin can't instantiate the right element.

      I.e., in JENKINS-55328 a user created a step

      recordIssues tools: [checkStyle(), pmd(pattern: 'target/pmd.xml'), spotBugs(), cpd(pattern: 'target/cpd.xml')]
      

      Since the user already installed the PMD plugin, the symbol pmd has been reserved for the step in the PMD plugin already. That means, rather then providing the pmd tool to my recordIssues step, it started the pmd step and set the corresponding array element to null.

      The same happened in JENKINS-53181. In the comments Jesse Glick noted that this behavior could not be changed (or is hard to change). It would help other plugin developers, if in such cases at least the workflow-cps engine could provide a meaningful exception (with the conflicting Jenkinsfile line) rather then assigning null to a parameter.

        Attachments

          Issue Links

            Activity

            Hide
            drulli Ulli Hafner added a comment -

            It might make also sense that we have a tool that scans all plugin symbols for duplications, e.g. before these symbols are aggregated in our pipeline online help page. It is only a matter of time that someone else will create an object with a symbol that has been used already.

            Show
            drulli Ulli Hafner added a comment - It might make also sense that we have a tool that scans all plugin symbols for duplications, e.g. before these symbols are aggregated in our pipeline online help page. It is only a matter of time that someone else will create an object with a symbol that has been used already.
            Show
            drulli Ulli Hafner added a comment - See https://issues.jenkins-ci.org/browse/INFRA-2012 .
            Hide
            teilo James Nord added a comment -
            Show
            teilo James Nord added a comment - and commentrary on  https://github.com/jenkinsci/structs-plugin/pull/40

              People

              • Assignee:
                Unassigned
                Reporter:
                drulli Ulli Hafner
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: