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

SVN Exception on M1 Mac/BigSur 11.4

    XMLWordPrintable

Details

    Description

      Starting from a completely wiped out work space, the svn plugin will checkout the project and start retrieving the files. After a few seconds to a minute (having already processed many files), an exception relating to unfinished transactions will happen. This seems specific to M1 based macs, and possibly specific to BigSur 11.4 update. The issue cannot be reproduced on non M1 macs, even on BigSur 11.4.

       

      11:48:06 org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '/Users/automation/.jenkins/workspace/xxxx/xxxx/Build'11:48:06 org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '/Users/automation/.jenkins/workspace/xxxx/xxxx/Build'11:48:06 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:70)11:48:06 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57)11:48:06 at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDbRoot.ensureNoUnfinishedTransactions(SVNWCDbRoot.java:177)11:48:06 at org.tmatesoft.svn.core.internal.wc17.db.SVNWCDb.ensureNoUnfinishedTransactions(SVNWCDb.java:212)11:48:06 at org.tmatesoft.svn.core.internal.wc17.SVNWCContext.ensureNoUnfinishedTransactions(SVNWCContext.java:5185)11:48:06 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.releaseWcContext(SvnOperationFactory.java:1275)11:48:06 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1255)11:48:06 at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)11:48:06 at hudson.scm.subversion.CheckoutUpdater$SubversionUpdateTask.perform(CheckoutUpdater.java:130)11:48:06 Caused: java.io.IOException: Failed to check out svn://xxxx/xxxx/trunk11:48:06 at hudson.scm.subversion.CheckoutUpdater$SubversionUpdateTask.perform(CheckoutUpdater.java:141)11:48:06 at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:168)11:48:06 at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:176)11:48:06 at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:132)11:48:06 at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:168)11:48:06 at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1040)11:48:06 at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:1016)11:48:06 at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:989)11:48:06 at hudson.FilePath.act(FilePath.java:1165)11:48:06 at hudson.FilePath.act(FilePath.java:1148)11:48:06 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:936)11:48:06 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:867)11:48:06 at hudson.scm.SCM.checkout(SCM.java:505)11:48:06 at hudson.model.AbstractProject.checkout(AbstractProject.java:1211)11:48:06 at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:636)11:48:06 at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)11:48:06 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:508)11:48:06 at hudson.model.Run.execute(Run.java:1906)11:48:06 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)11:48:06 at hudson.model.ResourceController.execute(ResourceController.java:97)11:48:06 at hudson.model.Executor.run(Executor.java:429)

      Attachments

        Activity

          gadgetfreakuk Richard created issue -

          Experiencing the same issue...

          gegles Guillaume Egles added a comment - Experiencing the same issue...

          Any update on this? I am still facing this issue.

          gegles Guillaume Egles added a comment - Any update on this? I am still facing this issue.
          paul_hirons Paul Hirons added a comment - - edited

          I am also seeing this issue with the latest version of the plugin (2.15.1).  Is there an ETA for a fix please?

          Alternatively, has anyone found a workaround?

          paul_hirons Paul Hirons added a comment - - edited I am also seeing this issue with the latest version of the plugin (2.15.1).  Is there an ETA for a fix please? Alternatively, has anyone found a workaround?
          cap Daniel Groh added a comment - - edited

          I have the same issue.

           

          System Version: macOS 12.3 (21E230)

          Model Name: Mac mini

          Model Identifier: Macmini9,1

          Chip: Apple M1

           

          Tried both the LTS and the current (2.339) release of Jenkins, used brew to install it. Using Subversion Plug-in Version2.15.2 and a Pipeline script, also tried different subversion workspace versions in the plugin config. I can observe the same issues as mentioned by Richard. The checkout starts normally, but then stops with one of the following errors:

          • org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '[...]'
          • org.tmatesoft.svn.core.SVNException: svn: E155018: '[...]' already exists and is not a directory
          • org.tmatesoft.svn.core.SVNException: svn: E155004: Error writing entries file for '[...]'
          • org.tmatesoft.svn.core.SVNException: svn: E200030: BUSY

          It seems to be random what error will occur and when it will occur. Sometimes happens after 4-5 minutes, after 2-3 GB of data have already been checked out, sometimes happens immediately during the declarative checkout of the pipeline script.

           

          Note: I also installed the subversion command line tools - I encountered no issues with these.

          cap Daniel Groh added a comment - - edited I have the same issue.   System Version: macOS 12.3 (21E230) Model Name: Mac mini Model Identifier: Macmini9,1 Chip: Apple M1   Tried both the LTS and the current (2.339) release of Jenkins, used brew to install it. Using Subversion Plug-in Version2.15.2 and a Pipeline script, also tried different subversion workspace versions in the plugin config. I can observe the same issues as mentioned by Richard. The checkout starts normally, but then stops with one of the following errors: org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in ' [...] ' org.tmatesoft.svn.core.SVNException: svn: E155018: ' [...] ' already exists and is not a directory org.tmatesoft.svn.core.SVNException: svn: E155004: Error writing entries file for ' [...] ' org.tmatesoft.svn.core.SVNException: svn: E200030: BUSY It seems to be random what error will occur and when it will occur. Sometimes happens after 4-5 minutes, after 2-3 GB of data have already been checked out, sometimes happens immediately during the declarative checkout of the pipeline script.   Note: I also installed the subversion command line tools - I encountered no issues with these.
          ivanhw Ivan Neeson added a comment -

          Same issue here. I've just completely moved away from the SVN plugin and just use execute shell tasks to recreate most of what the plugin does. Took a while to get it all working how I wanted, but now I never have to worry about it breaking again.

          Added benefit is the command-line tools are 10x faster at checking out too.

          ivanhw Ivan Neeson added a comment - Same issue here. I've just completely moved away from the SVN plugin and just use execute shell tasks to recreate most of what the plugin does. Took a while to get it all working how I wanted, but now I never have to worry about it breaking again. Added benefit is the command-line tools are 10x faster at checking out too.
          cap Daniel Groh added a comment -

          Yeah I'm also using the svn command line tools as a workaround now. Did you get build triggers and changesets working?

          cap Daniel Groh added a comment - Yeah I'm also using the svn command line tools as a workaround now. Did you get build triggers and changesets working?
          ivanhw Ivan Neeson added a comment - - edited

          Build triggers yes in a pretty hacky way: I use the File System Trigger and have another job that checks svn and writes to a file per repo/branch I’m interested in.

          Change sets in Jenkins itself no, but I get the log messages from commits and format them for our slack notifications so they appear there.

          ivanhw Ivan Neeson added a comment - - edited Build triggers yes in a pretty hacky way: I use the File System Trigger and have another job that checks svn and writes to a file per repo/branch I’m interested in. Change sets in Jenkins itself no, but I get the log messages from commits and format them for our slack notifications so they appear there.
          • org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in '[...]'
          • org.tmatesoft.svn.core.SVNException: svn: E155018: '[...]' already exists and is not a directory
          • org.tmatesoft.svn.core.SVNException: svn: E155004: Error writing entries file for '[...]'
          • org.tmatesoft.svn.core.SVNException: svn: E200030: BUSY

          Issue persists with Darwin 21.5 (macOS 12.4) and Subversion Plugin 2.16.0.

          niklas_the2nd Niklas Confidential added a comment - org.tmatesoft.svn.core.SVNException: svn: E200030: There are unfinished transactions detected in ' [...] ' org.tmatesoft.svn.core.SVNException: svn: E155018: ' [...] ' already exists and is not a directory org.tmatesoft.svn.core.SVNException: svn: E155004: Error writing entries file for ' [...] ' org.tmatesoft.svn.core.SVNException: svn: E200030: BUSY Issue persists with Darwin 21.5 (macOS 12.4) and Subversion Plugin 2.16.0.
          niklas_the2nd Niklas Confidential made changes -
          Field Original Value New Value
          Attachment SVNFileUtil.java.patch [ 59340 ]
          niklas_the2nd Niklas Confidential made changes -
          Attachment SVNLinuxUtil.java.patch [ 59341 ]
          niklas_the2nd Niklas Confidential added a comment - - edited

          The issue is caused by SVN Kit.
          The current plugin uses SVN Kit 1.10.1. The issue persists in the current SVN Kit version (1.10.8).

          I fixed the issue by recompiling SVN Kit 1.10.8 with changes in
          core/internal/wc/SVNFileUtil.java
          SVNFileUtil.java.patch

          core/internal/util/jna/SVNLinuxUtil.java
          SVNLinuxUtil.java.patch

          From the resulting build folder I took svnkit-1.10.8-SNAPSHOT.jar to replace /var/lib/jenkins/plugins/subversion/WEB-INF/lib/svnkit-1.10.1.jar
          svnkit-1.10.8-SNAPSHOT.jar

          niklas_the2nd Niklas Confidential added a comment - - edited The issue is caused by SVN Kit. The current plugin uses SVN Kit 1.10.1. The issue persists in the current SVN Kit version (1.10.8). I fixed the issue by recompiling SVN Kit 1.10.8 with changes in core/internal/wc/SVNFileUtil.java SVNFileUtil.java.patch core/internal/util/jna/SVNLinuxUtil.java SVNLinuxUtil.java.patch From the resulting build folder I took svnkit-1.10.8-SNAPSHOT.jar to replace /var/lib/jenkins/plugins/subversion/WEB-INF/lib/svnkit-1.10.1.jar svnkit-1.10.8-SNAPSHOT.jar
          niklas_the2nd Niklas Confidential made changes -
          Attachment svnkit-1.10.8-SNAPSHOT.jar [ 59342 ]
          ivanhw Ivan Neeson added a comment -

          Great work! I've posted a thread on SVNKit's forum (couldn't find anywhere else to report bugs): https://support.tmatesoft.com/t/svn-exception-on-m1-mac-bigsur-11-4/2927

          Hopefully we can get an official update one day!

          ivanhw Ivan Neeson added a comment - Great work! I've posted a thread on SVNKit's forum (couldn't find anywhere else to report bugs): https://support.tmatesoft.com/t/svn-exception-on-m1-mac-bigsur-11-4/2927 Hopefully we can get an official update one day!
          ivanhw Ivan Neeson added a comment -

          SVNKit 1.10.10 has been released which should fix this bug. We just need the SVN plugin to update to SVNKit 1.10.10 now I think?

          ivanhw Ivan Neeson added a comment - SVNKit 1.10.10 has been released which should fix this bug. We just need the SVN plugin to update to SVNKit 1.10.10 now I think?
          cap Daniel Groh added a comment -

          I updated subversion-plugin to 2.17.1, which uses SVNKit 1.10.10. Issue seems to be solved!

          cap Daniel Groh added a comment - I updated subversion-plugin to 2.17.1, which uses SVNKit 1.10.10. Issue seems to be solved!
          markewaite Mark Waite made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Closed [ 6 ]

          People

            Unassigned Unassigned
            gadgetfreakuk Richard
            Votes:
            6 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: