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

Duplicate symbols in different plugins cause NPEs

    XMLWordPrintable

Details

    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 jglick 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

            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.

            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.
            drulli Ulli Hafner added a comment - See https://issues.jenkins-ci.org/browse/INFRA-2012 .
            teilo James Nord added a comment - and commentrary on  https://github.com/jenkinsci/structs-plugin/pull/40

            People

              Unassigned Unassigned
              drulli Ulli Hafner
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: