-
Bug
-
Resolution: Unresolved
-
Major
-
Systemeigenschaften
Name ↓
Wert
user.timezone Europe/Berlin
user.name jenkins
user.language de
user.home /var/lib/jenkins
user.dir /
user.country DE
sun.os.patch.level unknown
sun.management.compiler HotSpot 64-Bit Tiered Compilers
sun.jnu.encoding UTF-8
sun.java.launcher SUN_STANDARD
sun.java.command /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --ajp13Port=8009 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
sun.io.unicode.encoding UnicodeLittle
sun.font.fontmanager sun.awt.X11FontManager
sun.cpu.isalist
sun.cpu.endian little
sun.boot.library.path /usr/java/jdk1.8.0_45/jre/lib/amd64
sun.boot.class.path /usr/java/jdk1.8.0_45/jre/lib/resources.jar:/usr/java/jdk1.8.0_45/jre/lib/rt.jar:/usr/java/jdk1.8.0_45/jre/lib/sunrsasign.jar:/usr/java/jdk1.8.0_45/jre/lib/jsse.jar:/usr/java/jdk1.8.0_45/jre/lib/jce.jar:/usr/java/jdk1.8.0_45/jre/lib/charsets.jar:/usr/java/jdk1.8.0_45/jre/lib/jfr.jar:/usr/java/jdk1.8.0_45/jre/classes
sun.arch.data.model 64
path.separator :
os.version 3.8.13-68.3.3.el7uek.x86_64
os.name Linux
os.arch amd64
mail.smtps.sendpartial true
mail.smtp.sendpartial true
line.separator
lib.svnkit.ssh2.persistent false
lib.svnkit.http.methods Digest,Basic,NTLM,Negotiate
jnidispatch.path /tmp/jna--1712433994/jna4244853536295263288.tmp
jna.platform.library.path /usr/lib64:/lib64:/usr/lib:/lib
JENKINS_HOME /var/lib/jenkins
java.vm.version 25.45-b02
java.vm.vendor Oracle Corporation
java.vm.specification.version 1.8
java.vm.specification.vendor Oracle Corporation
java.vm.specification.name Java Virtual Machine Specification
java.vm.name Java HotSpot(TM) 64-Bit Server VM
java.vm.info mixed mode
java.version 1.8.0_45
java.vendor.url.bug http://bugreport.sun.com/bugreport/
java.vendor.url http://java.oracle.com/
java.vendor Oracle Corporation
java.specification.version 1.8
java.specification.vendor Oracle Corporation
java.specification.name Java Platform API Specification
java.runtime.version 1.8.0_45-b14
java.runtime.name Java(TM) SE Runtime Environment
java.library.path /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.io.tmpdir /tmp
java.home /usr/java/jdk1.8.0_45/jre
java.ext.dirs /usr/java/jdk1.8.0_45/jre/lib/ext:/usr/java/packages/lib/ext
java.endorsed.dirs /usr/java/jdk1.8.0_45/jre/lib/endorsed
java.class.version 52.0
java.class.path /usr/lib/jenkins/jenkins.war
java.awt.printerjob sun.print.PSPrinterJob
java.awt.headless true
java.awt.graphicsenv sun.awt.X11GraphicsEnvironment
hudson.Functions.autoRefreshSeconds 30
hudson.diyChunking true
file.separator /
file.encoding.pkg sun.io
file.encoding UTF-8
executable-war /usr/lib/jenkins/jenkins.war
com.sun.akuma.Daemon daemonized
awt.toolkit sun.awt.X11.XToolkit
Umgebungsvariablen
Name ↓
Wert
XFILESEARCHPATH /usr/dt/app-defaults/%L/Dt
USER jenkins
SHLVL 2
SHELL /bin/bash
PWD /
PATH /sbin:/usr/sbin:/bin:/usr/bin
NLSPATH /usr/dt/lib/nls/msg/%L/%N.cat
LOGNAME jenkins
LANG de_DE.UTF-8
HOME /var/lib/jenkins
_ /usr/java/jdk1.8.0_45/jre/bin/java
Plugins
Name ↓
Version
Aktiviert
Gesperrt
ws-cleanup 0.26 true false
workflow-support 1.8 true false
workflow-step-api 1.8 true false
workflow-api 1.8 true false
windows-slaves 1.1 true true
vsphere-cloud 2.6 true false
viewVC 1.7 true false
translation 1.12 true true
token-macro 1.10 true false
throttle-concurrents 1.8.4 true false
template-workflows 1.2 true false
subversion 2.5 true true
ssh-slaves 1.9 true false
ssh-credentials 1.11 true true
ssh-agent 1.7 true false
ssh 2.4 true false
slave-proxy 1.1 true false
shared-workspace 1.0.2 true false
script-security 1.14 true true
scm-api 0.2 true false
run-condition 1.0 true false
promoted-builds 2.21 true false
project-inheritance 1.5.3 true false
PrioritySorter 3.4 true false
preSCMbuildstep 0.3 true false
plain-credentials 1.1 true false
parameterized-trigger 2.27 true false
pam-auth 1.2 true true
next-executions 1.0.10 true false
multiple-scms 0.4 true false
mercurial 1.54 true false
maven-plugin 2.10 true true
matrix-project 1.6 true true
matrix-auth 1.2 true true
mapdb-api 1.0.6.0 true false
mailer 1.15 true true
lenientshutdown 1.0.0 true false
ldap 1.11 true true
junit 1.6 true true
jquery-ui 1.0.2 true false
jquery 1.11.2-0 true false
jobrequeue 1.0 true false
jobgenerator 1.22 true false
job-restrictions 0.4 true false
job-poll-action-plugin 1.0 true false
jenkins-multijob-plugin 1.16 true false
javadoc 1.3 true true
greenballs 1.14 true false
global-variable-string-parameter 1.2 true false
global-build-stats 1.3 true false
github-api 1.68 true false
github 1.11.3 true false
git-client 1.17.1 true false
git 2.3.5 true false
ghprb 1.24.3 true false
extra-columns 1.15 true false
external-monitor-job 1.4 true false
envinject 1.91.3 true false
durable-task 1.5 true false
downstream-buildview 1.9 true false
docker-plugin 0.9.3 true false
depgraph-view 0.11 true false
debian-package-builder 1.6.9 true false
database-postgresql 1.0 true false
database 1.3 true false
dashboard-view 2.9.5 true false
cvs 2.12 true true
credentials 1.22 true true
copy-project-link 1.4 true false
console-column-plugin 1.5 true false
configure-job-column-plugin 1.0 true false
config-autorefresh-plugin 1.0 true false
conditional-buildstep 1.3.3 true false
compact-columns 1.10 true false
collapsing-console-sections 1.4.1 true false
chroot 0.1.4 true false
categorized-view 1.8 true false
buildtriggerbadge 2.0 true false
buildgraph-view 1.1.1 true false
build-user-vars-plugin 1.4 true false
build-timeout 1.14.1 true false
build-pipeline-plugin 1.4.7 true false
build-history-metrics-plugin 1.2 true false
build-flow-toolbox-plugin 0.1 true false
build-flow-test-aggregator 1.1 true false
build-flow-plugin 0.18 true false
build-environment 1.5 true false
antisamy-markup-formatter 1.3 true true
ant 1.2 true false
all-changes 1.3 true false
active-directory 1.41 true falseSystemeigenschaften Name ↓ Wert user.timezone Europe/Berlin user.name jenkins user.language de user.home /var/lib/jenkins user.dir / user.country DE sun.os.patch.level unknown sun.management.compiler HotSpot 64-Bit Tiered Compilers sun.jnu.encoding UTF-8 sun.java.launcher SUN_STANDARD sun.java.command /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --ajp13Port=8009 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 sun.io.unicode.encoding UnicodeLittle sun.font.fontmanager sun.awt.X11FontManager sun.cpu.isalist sun.cpu.endian little sun.boot.library.path /usr/java/jdk1.8.0_45/jre/lib/amd64 sun.boot.class.path /usr/java/jdk1.8.0_45/jre/lib/resources.jar:/usr/java/jdk1.8.0_45/jre/lib/rt.jar:/usr/java/jdk1.8.0_45/jre/lib/sunrsasign.jar:/usr/java/jdk1.8.0_45/jre/lib/jsse.jar:/usr/java/jdk1.8.0_45/jre/lib/jce.jar:/usr/java/jdk1.8.0_45/jre/lib/charsets.jar:/usr/java/jdk1.8.0_45/jre/lib/jfr.jar:/usr/java/jdk1.8.0_45/jre/classes sun.arch.data.model 64 path.separator : os.version 3.8.13-68.3.3.el7uek.x86_64 os.name Linux os.arch amd64 mail.smtps.sendpartial true mail.smtp.sendpartial true line.separator lib.svnkit.ssh2.persistent false lib.svnkit.http.methods Digest,Basic,NTLM,Negotiate jnidispatch.path /tmp/jna--1712433994/jna4244853536295263288.tmp jna.platform.library.path /usr/lib64:/lib64:/usr/lib:/lib JENKINS_HOME /var/lib/jenkins java.vm.version 25.45-b02 java.vm.vendor Oracle Corporation java.vm.specification.version 1.8 java.vm.specification.vendor Oracle Corporation java.vm.specification.name Java Virtual Machine Specification java.vm.name Java HotSpot(TM) 64-Bit Server VM java.vm.info mixed mode java.version 1.8.0_45 java.vendor.url.bug http://bugreport.sun.com/bugreport/ java.vendor.url http://java.oracle.com/ java.vendor Oracle Corporation java.specification.version 1.8 java.specification.vendor Oracle Corporation java.specification.name Java Platform API Specification java.runtime.version 1.8.0_45-b14 java.runtime.name Java(TM) SE Runtime Environment java.library.path /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib java.io.tmpdir /tmp java.home /usr/java/jdk1.8.0_45/jre java.ext.dirs /usr/java/jdk1.8.0_45/jre/lib/ext:/usr/java/packages/lib/ext java.endorsed.dirs /usr/java/jdk1.8.0_45/jre/lib/endorsed java.class.version 52.0 java.class.path /usr/lib/jenkins/jenkins.war java.awt.printerjob sun.print.PSPrinterJob java.awt.headless true java.awt.graphicsenv sun.awt.X11GraphicsEnvironment hudson.Functions.autoRefreshSeconds 30 hudson.diyChunking true file.separator / file.encoding.pkg sun.io file.encoding UTF-8 executable-war /usr/lib/jenkins/jenkins.war com.sun.akuma.Daemon daemonized awt.toolkit sun.awt.X11.XToolkit Umgebungsvariablen Name ↓ Wert XFILESEARCHPATH /usr/dt/app-defaults/%L/Dt USER jenkins SHLVL 2 SHELL /bin/bash PWD / PATH /sbin:/usr/sbin:/bin:/usr/bin NLSPATH /usr/dt/lib/nls/msg/%L/%N.cat LOGNAME jenkins LANG de_DE.UTF-8 HOME /var/lib/jenkins _ /usr/java/jdk1.8.0_45/jre/bin/java Plugins Name ↓ Version Aktiviert Gesperrt ws-cleanup 0.26 true false workflow-support 1.8 true false workflow-step-api 1.8 true false workflow-api 1.8 true false windows-slaves 1.1 true true vsphere-cloud 2.6 true false viewVC 1.7 true false translation 1.12 true true token-macro 1.10 true false throttle-concurrents 1.8.4 true false template-workflows 1.2 true false subversion 2.5 true true ssh-slaves 1.9 true false ssh-credentials 1.11 true true ssh-agent 1.7 true false ssh 2.4 true false slave-proxy 1.1 true false shared-workspace 1.0.2 true false script-security 1.14 true true scm-api 0.2 true false run-condition 1.0 true false promoted-builds 2.21 true false project-inheritance 1.5.3 true false PrioritySorter 3.4 true false preSCMbuildstep 0.3 true false plain-credentials 1.1 true false parameterized-trigger 2.27 true false pam-auth 1.2 true true next-executions 1.0.10 true false multiple-scms 0.4 true false mercurial 1.54 true false maven-plugin 2.10 true true matrix-project 1.6 true true matrix-auth 1.2 true true mapdb-api 1.0.6.0 true false mailer 1.15 true true lenientshutdown 1.0.0 true false ldap 1.11 true true junit 1.6 true true jquery-ui 1.0.2 true false jquery 1.11.2-0 true false jobrequeue 1.0 true false jobgenerator 1.22 true false job-restrictions 0.4 true false job-poll-action-plugin 1.0 true false jenkins-multijob-plugin 1.16 true false javadoc 1.3 true true greenballs 1.14 true false global-variable-string-parameter 1.2 true false global-build-stats 1.3 true false github-api 1.68 true false github 1.11.3 true false git-client 1.17.1 true false git 2.3.5 true false ghprb 1.24.3 true false extra-columns 1.15 true false external-monitor-job 1.4 true false envinject 1.91.3 true false durable-task 1.5 true false downstream-buildview 1.9 true false docker-plugin 0.9.3 true false depgraph-view 0.11 true false debian-package-builder 1.6.9 true false database-postgresql 1.0 true false database 1.3 true false dashboard-view 2.9.5 true false cvs 2.12 true true credentials 1.22 true true copy-project-link 1.4 true false console-column-plugin 1.5 true false configure-job-column-plugin 1.0 true false config-autorefresh-plugin 1.0 true false conditional-buildstep 1.3.3 true false compact-columns 1.10 true false collapsing-console-sections 1.4.1 true false chroot 0.1.4 true false categorized-view 1.8 true false buildtriggerbadge 2.0 true false buildgraph-view 1.1.1 true false build-user-vars-plugin 1.4 true false build-timeout 1.14.1 true false build-pipeline-plugin 1.4.7 true false build-history-metrics-plugin 1.2 true false build-flow-toolbox-plugin 0.1 true false build-flow-test-aggregator 1.1 true false build-flow-plugin 0.18 true false build-environment 1.5 true false antisamy-markup-formatter 1.3 true true ant 1.2 true false all-changes 1.3 true false active-directory 1.41 true false
Assume one project triggered parts of triggered by different upstream projects:
freebsd-all
- freebsd-checkout-source
- freebsd-checkout-ports
- freebsd-makeindex
- freebsd-portversion
- freebsd-buildworld
- freebsd-buildkernel
- freebsd-installkernel
- reboot
- freebsd-installworld
- reboot
- freebsd-portupgrade
- reboot
- freebsd-testsuite
freebsd-ports
- freebsd-checkout-ports
- freebsd-makeindex
- freebsd-portversion
- freebsd-portupgrade
- reboot
- freebsd-testsuite
now lets trigger freebsd-all if scm changes in the source tree are detected, and lets trigger freebsd-ports if sm changes in the ports tree are detected. Since both builds share some downstream builders it is necessary to block freebsd-all if freebsd-ports is running and to block freebsd-ports if freebsd-all is running. To achieve it I'd defined token freebsd.
Now freebsd-all sets token freebsd -> blocking itself and freebsd-ports if it is running.
Same for freebsd-ports: sets token freebsd -> blocking itself and freebsd-all.
If you now trigger both at the very same time, both will acquire token freebsd and both jobs will run in parallel messing up some things – or at least doing them twice!
Looks like locking implemented by trottle-concurrent-builds leads to a race condition allowing both builds to acquire the same token and both think its all OK to run now.