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

org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRevert.restore(SvnNgRevert.java:194)

XMLWordPrintable

      Occasionally SVN checkout started to fail. An exception is thrown during working copy revert action:

      Reverting /path/to/workspace to depth infinity with ignoreExternals: false
      FATAL: null
      java.lang.StackOverflowError
      	at java.io.UnixFileSystem.canonicalize0(Native Method)
      	at java.io.UnixFileSystem.canonicalize(UnixFileSystem.java:172)
      	at java.io.File.getCanonicalPath(File.java:618)
      	at java.io.File.getCanonicalFile(File.java:643)
      	at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileSystem.open(SqlJetFileSystem.java:140)
      	at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.openJournal(SqlJetPager.java:3003)
      	at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.begin(SqlJetPager.java:2782)
      	at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.beginTrans(SqlJetBtree.java:931)
      	at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.doBeginTransaction(SqlJetEngine.java:561)
      	at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.access$100(SqlJetEngine.java:55)
      	at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine$9.runSynchronized(SqlJetEngine.java:475)
      	at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.runSynchronized(SqlJetEngine.java:217)
      	at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.beginTransaction(SqlJetEngine.java:471)
      	at org.tmatesoft.svn.core.internal.db.SVNSqlJetDb.beginTransaction(SVNSqlJetDb.java:204)
      	at org.tmatesoft.svn.core.internal.wc17.db.SvnWcDbRevert.readRevertInfo(SvnWcDbRevert.java:280)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRevert.restore(SvnNgRevert.java:194)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRevert.restore(SvnNgRevert.java:352)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRevert.restore(SvnNgRevert.java:352)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRevert.restore(SvnNgRevert.java:352)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRevert.restore(SvnNgRevert.java:352)
      

      This start to happen occasionally on some jobs after upgrading Jenkins to version 1.648 (from 1.536).
      In this upgrade we move SVN plugin to version 2.5.7 with subversion 1.8 format but svn credentials on externals was not recognized, so that jenkins was not able to trigger correctly the job via scm polling or to analyse the change set.
      For this reason, plugin has been reverted to 2.4.5 and subversion 1.7.

      This seems to be related by Check-out Strategy being set to Use 'svn update' as much as possible, with 'svn revert' before update in project settings (which causes SVN revert to run as a result).
      By changing the Check-out startegy with one that not perform a revert action works fine.

      This issue is similar to https://issues.jenkins-ci.org/browse/JENKINS-32515 but in our case no "org.tmatesoft.svn.core.SVNException" is thrown.

      We can not understand what could be the problem because not systematically present.
      But each time that happen the workspace is dirty and we need to clean it up before restarting the job.
      Any advice to solve the problem is welcome.

            Unassigned Unassigned
            luca86 Luca Fusari
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: