I have a matrix build which contains three slave labels. In the example below, they are (64&&solarisstudio&&solaris). The matrix builder cannot find a suitable node. It can find a suitable node if only two (any two) labels are used, but fails with three.

      Started by user anonymous
      Building on master
      Checkout:workspace / /var/lib/hudson/jobs/solaris/workspace - hudson.remoting.LocalChannel@158fa97
      Using strategy: Default
      Last Built Revision: Revision 3151e6760e9177d1f10eabc050453b93b241f45a (origin/master)
      Checkout:workspace / /var/lib/hudson/jobs/solaris/workspace - hudson.remoting.LocalChannel@158fa97
      GitAPI created
      Fetching changes from the remote Git repository
      Fetching upstream changes from git@git.kayasoft.com:$REPO
      [workspace] $ /opt/csw/bin/git fetch -t git@git.kayasoft.com:$REPO +refs/heads/:refs/remotes/origin/
      [workspace] $ /opt/csw/bin/git ls-tree HEAD
      [workspace] $ /opt/csw/bin/git rev-parse origin/master
      Commencing build of Revision 3151e6760e9177d1f10eabc050453b93b241f45a (origin/master)
      GitAPI created
      Checking out Revision 3151e6760e9177d1f10eabc050453b93b241f45a (origin/master)
      [workspace] $ /opt/csw/bin/git checkout -f 3151e6760e9177d1f10eabc050453b93b241f45a
      [workspace] $ /opt/csw/bin/git tag -a -f -m "Hudson Build #12" hudson-solaris-12
      Recording changes in branch origin/master
      [workspace] $ /opt/csw/bin/git whatchanged --no-abbrev -M --pretty=raw 3151e6760e9177d1f10eabc050453b93b241f45a..3151e6760e9177d1f10eabc050453b93b241f45a
      Triggering 64,solarisstudio,solaris,release
      Triggering 64,solarisstudio,solaris,debug
      Triggering 64,gcc,solaris,debug
      Triggering 32,solarisstudio,solaris,debug
      Triggering 32,gcc,solaris,release
      Triggering 64,gcc,solaris,release
      Triggering 32,solarisstudio,solaris,release
      Triggering 32,gcc,solaris,debug
      64,solarisstudio,solaris,release is still in the queue: All nodes of label '64&&solarisstudio&&solaris' are offline

          [JENKINS-8537] Node label queries fail when # labels > 2

          kayabek added a comment - - edited

          .

          kayabek added a comment - - edited .

          mfawcett added a comment -

          I'm having the same issue, but the bug isn't because of the
          multi-configuration, it's because the label filtering logic can't
          handle expressions such as:

          a && b && c

          You can verify this even in a "free-style software project" job. Just
          choose "Restrict where this project can be run" and enter in 3 valid
          labels, like windows && build && 32bit and it will say no node exists.
          Modify it so that it reads (windows && build) && 32bit and it will
          now run.

          The problem is, this workaround doesn't work for multi-configuration
          projects since we don't make the label expression, Hudson makes it based
          on the axes we define.

          mfawcett added a comment - I'm having the same issue, but the bug isn't because of the multi-configuration, it's because the label filtering logic can't handle expressions such as: a && b && c You can verify this even in a "free-style software project" job. Just choose "Restrict where this project can be run" and enter in 3 valid labels, like windows && build && 32bit and it will say no node exists. Modify it so that it reads (windows && build) && 32bit and it will now run. The problem is, this workaround doesn't work for multi-configuration projects since we don't make the label expression, Hudson makes it based on the axes we define.

          josephalevin added a comment -

          I've just run into this issues as well. Is anyone working on this issue? If not, could you point me in the direction of the relevant code handling the label expression creation?

          josephalevin added a comment - I've just run into this issues as well. Is anyone working on this issue? If not, could you point me in the direction of the relevant code handling the label expression creation?

          mjmac added a comment -

          Seeing this on 1.403 myself.

          mjmac added a comment - Seeing this on 1.403 myself.

          josephalevin added a comment -

          I've submitted a pull request for this bug.

          https://github.com/jenkinsci/jenkins/pull/81

          josephalevin added a comment - I've submitted a pull request for this bug. https://github.com/jenkinsci/jenkins/pull/81

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          changelog.html
          core/src/main/grammar/labelExpr.g
          test/src/test/java/hudson/model/labels/LabelExpressionTest.java
          http://jenkins-ci.org/commit/jenkins/51562a2a92126299e30c7105ccd5d56eb36a708d
          Log:
          [FIXED JENKINS-8537] expanded the grammer to support binary operator sequence

          Compare: https://github.com/jenkinsci/jenkins/compare/b5756b1...51562a2

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: changelog.html core/src/main/grammar/labelExpr.g test/src/test/java/hudson/model/labels/LabelExpressionTest.java http://jenkins-ci.org/commit/jenkins/51562a2a92126299e30c7105ccd5d56eb36a708d Log: [FIXED JENKINS-8537] expanded the grammer to support binary operator sequence Compare: https://github.com/jenkinsci/jenkins/compare/b5756b1...51562a2

          dogfood added a comment -

          Integrated in jenkins_main_trunk #641
          [FIXED JENKINS-8537] expanded the grammer to support binary operator sequence

          Kohsuke Kawaguchi : 51562a2a92126299e30c7105ccd5d56eb36a708d
          Files :

          • test/src/test/java/hudson/model/labels/LabelExpressionTest.java
          • core/src/main/grammar/labelExpr.g
          • changelog.html

          dogfood added a comment - Integrated in jenkins_main_trunk #641 [FIXED JENKINS-8537] expanded the grammer to support binary operator sequence Kohsuke Kawaguchi : 51562a2a92126299e30c7105ccd5d56eb36a708d Files : test/src/test/java/hudson/model/labels/LabelExpressionTest.java core/src/main/grammar/labelExpr.g changelog.html

          Mark Waite added a comment -

          I thought there was a work around that the expression could be written as

          ((a && b) && c)

          instead of using

          a && b && c

          Maybe that will help those users who are unable to upgrade to the repaired version.

          Mark Waite added a comment - I thought there was a work around that the expression could be written as ((a && b) && c) instead of using a && b && c Maybe that will help those users who are unable to upgrade to the repaired version.

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          changelog.html
          core/src/main/grammar/labelExpr.g
          test/src/test/java/hudson/model/labels/LabelExpressionTest.java
          http://jenkins-ci.org/commit/jenkins/51562a2a92126299e30c7105ccd5d56eb36a708d
          Log:
          [FIXED JENKINS-8537] expanded the grammer to support binary operator sequence

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: changelog.html core/src/main/grammar/labelExpr.g test/src/test/java/hudson/model/labels/LabelExpressionTest.java http://jenkins-ci.org/commit/jenkins/51562a2a92126299e30c7105ccd5d56eb36a708d Log: [FIXED JENKINS-8537] expanded the grammer to support binary operator sequence

            josephalevin josephalevin
            kayabek kayabek
            Votes:
            6 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: