jenkinsci / jenkinsci/subversion-plugin

[JENKINS-28817] When canceling a free style build during svn checkout, the build is not marked as cancelled

Open
#1,274 0 comments 0 reactions 0 assignees View on GitHub
component:subversion-plugin imported-jira-issue priority:minor resolution:unresolved ux
Dominant language
Java
Stars
131
Forks
275
Avg merge
12h 4m
Merged PRs (30d)
6

Description

When canceling a free style job during the subversion checkout phase, the build is not marked as cancelled, but as failed.

This is caused by the svn plugin throwing an SVNException due to detected unfinished transactions during cleanup (see stack trace below).

This in turn causes for two problems with Jenkins:

1. the build is not marked as cancelled, but as failed.

This in turn causes the next build (triggered manually) to show that there were no changes even tough it does contain changes from the last revision (the cancelled revision doesn't have change information at all, since the checkout was not finished).

The check-out strategy is "Always checkout a fresh copy".

Stack Trace:

ERROR: Failed to check out svn:///trunk@​HEAD

org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '/var/lib/jenkins/jobs//workspace'

at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)

at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)

at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDbRoot.ensureNoUnfinishedTransactions(SVNWCDbRoot.java:177)

at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDb.ensureNoUnfinishedTransactions(SVNWCDb.java:209)

at org.tmatesoft.svn.core.internal.wc17.SVNWCContext.ensureNoUnfinishedTransactions(SVNWCContext.java:5147)

at org.tmatesoft.svn.core.wc2.SvnOperationFactory.releaseWcContext(SvnOperationFactory.java:1283)

at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1273)

at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)

at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:115)

at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)

at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:991)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:972)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:948)

at hudson.FilePath.act(FilePath.java:991)

at hudson.FilePath.act(FilePath.java:969)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:897)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:833)

at hudson.scm.SCM.checkout(SCM.java:485)

at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)

at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)

at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)

at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)

at hudson.model.Run.execute(Run.java:1744)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)

at hudson.model.ResourceController.execute(ResourceController.java:98)

at hudson.model.Executor.run(Executor.java:374)

java.io.IOException: Failed to check out svn:///trunk@​HEAD

at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:126)

at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)

at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:991)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:972)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:948)

at hudson.FilePath.act(FilePath.java:991)

at hudson.FilePath.act(FilePath.java:969)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:897)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:833)

at hudson.scm.SCM.checkout(SCM.java:485)

at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)

at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)

at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)

at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)

at hudson.model.Run.execute(Run.java:1744)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)

at hudson.model.ResourceController.execute(ResourceController.java:98)

at hudson.model.Executor.run(Executor.java:374)

Caused by: org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '/var/lib/jenkins/jobs//workspace'

at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)

at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)

at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDbRoot.ensureNoUnfinishedTransactions(SVNWCDbRoot.java:177)

at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDb.ensureNoUnfinishedTransactions(SVNWCDb.java:209)

at org.tmatesoft.svn.core.internal.wc17.SVNWCContext.ensureNoUnfinishedTransactions(SVNWCContext.java:5147)

at org.tmatesoft.svn.core.wc2.SvnOperationFactory.releaseWcContext(SvnOperationFactory.java:1283)

at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1273)

at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)

at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:115)

... 17 more

---
Originally reported by diffuse, imported from: When canceling a free style build during svn checkout, the build is not marked as cancelled


  • status: Open
  • priority: Minor
  • component(s): subversion-plugin
  • label(s): build, subversion, user-experience
  • resolution: Unresolved
  • votes: 2
  • watchers: 2
  • imported: 20251212-090250

Raw content of original issue

When canceling a free style job during the subversion checkout phase, the build is not marked as cancelled, but as failed.
This is caused by the svn plugin throwing an SVNException due to detected unfinished transactions during cleanup (see stack trace below).
This in turn causes for two problems with Jenkins:
1. the build is not marked as cancelled, but as failed.
This in turn causes the next build (triggered manually) to show that there were no changes even tough it does contain changes from the last revision (the cancelled revision doesn't have change information at all, since the checkout was not finished).
The check-out strategy is "Always checkout a fresh copy".

Stack Trace:
ERROR: Failed to check out svn://<redacted>/trunk@HEAD
org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '/var/lib/jenkins/jobs/<redacted>/workspace'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDbRoot.ensureNoUnfinishedTransactions(SVNWCDbRoot.java:177)
at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDb.ensureNoUnfinishedTransactions(SVNWCDb.java:209)
at org.tmatesoft.svn.core.internal.wc17.SVNWCContext.ensureNoUnfinishedTransactions(SVNWCContext.java:5147)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.releaseWcContext(SvnOperationFactory.java:1283)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1273)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:115)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:991)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:972)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:948)
at hudson.FilePath.act(FilePath.java:991)
at hudson.FilePath.act(FilePath.java:969)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:897)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:833)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
at hudson.model.Run.execute(Run.java:1744)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
java.io.IOException: Failed to check out svn://<redacted>/trunk@HEAD
at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:126)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:991)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:972)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:948)
at hudson.FilePath.act(FilePath.java:991)
at hudson.FilePath.act(FilePath.java:969)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:897)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:833)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1282)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
at hudson.model.Run.execute(Run.java:1744)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
Caused by: org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '/var/lib/jenkins/jobs/<redacted>/workspace'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDbRoot.ensureNoUnfinishedTransactions(SVNWCDbRoot.java:177)
at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDb.ensureNoUnfinishedTransactions(SVNWCDb.java:209)
at org.tmatesoft.svn.core.internal.wc17.SVNWCContext.ensureNoUnfinishedTransactions(SVNWCContext.java:5147)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.releaseWcContext(SvnOperationFactory.java:1283)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1273)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:115)
... 17 more

environment

```
Operating system: CentOS 6.6

Java version: jdk 1.8.0_45

Jenkins version is 1.617-1.1

Installed from the Jenkins yum repository.

I added the list of system properties below.

The relevant plugin is subversion - version 2.5

Jenkins is run directly from a system service.

Browser is 38.0.5 (not relevant to issue)

System Properties

Name ↓

Value

user.timezone Asia/Jerusalem

user.name jenkins

user.language en

user.home /var/lib/jenkins

user.dir /

user.country US

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=-1 --httpsPort=6080 --ajp13Port=8009 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 --httpsCertificate=/var/lib/jenkins/secrets/jenkins.crt --httpsPrivateKey=/var/lib/jenkins/secrets/jenkins.key

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 2.6.32-504.16.2.el6.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/jna3058986336509069121.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.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

Environment Variables

Name ↓

Value

XFILESEARCHPATH /usr/dt/app-defaults/%L/Dt

USER jenkins

TERM xterm

SHLVL 4

SHELL /bin/bash

PWD /

PATH /sbin:/usr/sbin:/bin:/usr/bin

NLSPATH /usr/dt/lib/nls/msg/%L/%N.cat

LOGNAME jenkins

LANG en_US.UTF-8

HOME /var/lib/jenkins

_ /etc/alternatives/java

Plugins

Name ↓

Version

Enabled

Pinned

windows-slaves 1.0 false false

translation 1.12 false true

token-macro 1.10 true false

svn-tag 1.17-h-1 false false

subversion 2.5 true true

ssh-slaves 1.9 true false

ssh-credentials 1.11 true true

script-security 1.14 true true

scm-api 0.2 true false

pam-auth 1.2 true true

maven-plugin 2.10 true true

matrix-project 1.5 true true

matrix-auth 1.2 true true

mapdb-api 1.0.6.0 true false

mailer 1.15 true true

ldap 1.11 true true

junit 1.6 true true

jna-native-support-plugin 3.0.4 true false

javadoc 1.3 true true

groovy-support-plugin 3.0.3 false false

external-monitor-job 1.4 true false

cvs 2.12 false true

credentials 1.22 true true

build-timeout 1.14.1 true false

birt-charts 3.0.3 true false

antisamy-markup-formatter 1.3 true true

ant 1.2 true false

active-directory 1.41 true false
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.