Jump to content

Olaf Kober

Members
  • Posts

    76
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Olaf Kober

  1. Hi!

     

    I tried to upgrade our build infrastructure to the newest versions of TeamCity (9.1.3), Plastic SCM (5.4.16.692) and Plastic SCM plugin for Teamcity (SNAPSHOT-201504131654 which was the latest version I found on the download page today). After upgrading the first builds run fine, but then when I commited a change the next time TeamCity determines the change differences I got following error:

    Error collecting changes for VCS repository '"DarwinVCS" {instance id=2, parent internal id=1, parent id=Darwin_DarwinVCS, description: "repository "Darwin.Backbone@localhost:8087"
    path "/"
    branch "/main"
    checkout "/main""}'
    jetbrains.buildServer.vcs.VcsOperationProgressRunner$VcsOperationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    

    with stack trace:

    jetbrains.buildServer.vcs.VcsOperationProgressRunner$VcsOperationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at jetbrains.buildServer.buildTriggers.vcs.ConnectionStateReporterImpl.reportConnectionFailed(ConnectionStateReporterImpl.java:12)
    at jetbrains.buildServer.buildTriggers.vcs.ConnectionStateReporterImpl.reportConnectionFailed(ConnectionStateReporterImpl.java:0)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader$RunLoadChanges.run(VcsRootChangesLoader.java:68)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader.loadChanges(VcsRootChangesLoader.java:20)
    at jetbrains.buildServer.vcs.impl.VcsChangesFetcher$LoadChangesForRoot.run(VcsChangesFetcher.java:8)
    at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl$ImmediateFutureExecService$1.call(VcsChangesLoaderImpl.java)
    at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:59)
    at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:68)
    at jetbrains.buildServer.vcs.impl.PeriodicChangesLoader.waitForTaskToComplete(PeriodicChangesLoader.java:13)
    at jetbrains.buildServer.vcs.impl.PeriodicChangesLoader.loadChanges(PeriodicChangesLoader.java:11)
    at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl.tryLoadChanges(VcsChangesLoaderImpl.java:24)
    at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction$1.run(VcsModificationChecker.java:0)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89)
    at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction.run(VcsModificationChecker.java:2)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: jetbrains.buildServer.vcs.VcsException: jetbrains.buildServer.vcs.VcsOperationProgressRunner$VcsOperationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesWithProgress(LoadChanges.java:23)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesForCheckoutRules(LoadChanges.java:49)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesByCombinedRule(LoadChanges.java:11)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChanges(LoadChanges.java:34)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader$RunLoadChanges.run(VcsRootChangesLoader.java:39)
    ... 17 more
    Caused by: jetbrains.buildServer.vcs.VcsOperationProgressRunner$VcsOperationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at jetbrains.buildServer.vcs.VcsOperationProgressProviderImpl.runWithProgress(VcsOperationProgressProviderImpl.java:29)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesWithProgress(LoadChanges.java:26)
    ... 21 more
    Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at java.lang.String.substring(String.java:1931)
    at com.codicesoftware.plugins.teamcity.PlasticVcsSupport$1.collectChanges(PlasticVcsSupport.java:284)
    at jetbrains.buildServer.vcs.utils.VcsPluginUtil.collectBuildChanges(VcsPluginUtil.java:63)
    at jetbrains.vcs.api.services.collectChanges.CollectRepositoryChangesPolicyFactory$8.collectChanges(CollectRepositoryChangesPolicyFactory.java:2)
    at jetbrains.vcs.api.services.collectChanges.SingleVersionCollectChangesCommand.collectChanges(SingleVersionCollectChangesCommand.java:1)
    at jetbrains.vcs.api.services.collectChanges.CollectChangesServiceProvider$1.collectChanges(CollectChangesServiceProvider.java:4)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges$CollectChangesForCheckoutRules.call(LoadChanges.java:12)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges$CollectChangesForCheckoutRules.call(LoadChanges.java:8)
    at jetbrains.buildServer.vcs.VcsOperationProgressProviderImpl.runWithProgress(VcsOperationProgressProviderImpl.java:27)
    ... 22 more
    jetbrains.buildServer.vcs.VcsException: jetbrains.buildServer.vcs.VcsOperationProgressRunner$VcsOperationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesWithProgress(LoadChanges.java:23)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesForCheckoutRules(LoadChanges.java:49)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesByCombinedRule(LoadChanges.java:11)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChanges(LoadChanges.java:34)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader$RunLoadChanges.run(VcsRootChangesLoader.java:39)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader.loadChanges(VcsRootChangesLoader.java:20)
    at jetbrains.buildServer.vcs.impl.VcsChangesFetcher$LoadChangesForRoot.run(VcsChangesFetcher.java:8)
    at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl$ImmediateFutureExecService$1.call(VcsChangesLoaderImpl.java)
    at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:59)
    at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:68)
    at jetbrains.buildServer.vcs.impl.PeriodicChangesLoader.waitForTaskToComplete(PeriodicChangesLoader.java:13)
    at jetbrains.buildServer.vcs.impl.PeriodicChangesLoader.loadChanges(PeriodicChangesLoader.java:11)
    at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl.tryLoadChanges(VcsChangesLoaderImpl.java:24)
    at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction$1.run(VcsModificationChecker.java:0)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89)
    at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction.run(VcsModificationChecker.java:2)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: jetbrains.buildServer.vcs.VcsOperationProgressRunner$VcsOperationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at jetbrains.buildServer.vcs.VcsOperationProgressProviderImpl.runWithProgress(VcsOperationProgressProviderImpl.java:29)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesWithProgress(LoadChanges.java:26)
    ... 21 more
    Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at java.lang.String.substring(String.java:1931)
    at com.codicesoftware.plugins.teamcity.PlasticVcsSupport$1.collectChanges(PlasticVcsSupport.java:284)
    at jetbrains.buildServer.vcs.utils.VcsPluginUtil.collectBuildChanges(VcsPluginUtil.java:63)
    at jetbrains.vcs.api.services.collectChanges.CollectRepositoryChangesPolicyFactory$8.collectChanges(CollectRepositoryChangesPolicyFactory.java:2)
    at jetbrains.vcs.api.services.collectChanges.SingleVersionCollectChangesCommand.collectChanges(SingleVersionCollectChangesCommand.java:1)
    at jetbrains.vcs.api.services.collectChanges.CollectChangesServiceProvider$1.collectChanges(CollectChangesServiceProvider.java:4)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges$CollectChangesForCheckoutRules.call(LoadChanges.java:12)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges$CollectChangesForCheckoutRules.call(LoadChanges.java:8)
    at jetbrains.buildServer.vcs.VcsOperationProgressProviderImpl.runWithProgress(VcsOperationProgressProviderImpl.java:27)
    ... 22 more
    jetbrains.buildServer.vcs.VcsOperationProgressRunner$VcsOperationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at jetbrains.buildServer.vcs.VcsOperationProgressProviderImpl.runWithProgress(VcsOperationProgressProviderImpl.java:29)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesWithProgress(LoadChanges.java:26)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesForCheckoutRules(LoadChanges.java:49)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesByCombinedRule(LoadChanges.java:11)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChanges(LoadChanges.java:34)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader$RunLoadChanges.run(VcsRootChangesLoader.java:39)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader.loadChanges(VcsRootChangesLoader.java:20)
    at jetbrains.buildServer.vcs.impl.VcsChangesFetcher$LoadChangesForRoot.run(VcsChangesFetcher.java:8)
    at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl$ImmediateFutureExecService$1.call(VcsChangesLoaderImpl.java)
    at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:59)
    at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:68)
    at jetbrains.buildServer.vcs.impl.PeriodicChangesLoader.waitForTaskToComplete(PeriodicChangesLoader.java:13)
    at jetbrains.buildServer.vcs.impl.PeriodicChangesLoader.loadChanges(PeriodicChangesLoader.java:11)
    at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl.tryLoadChanges(VcsChangesLoaderImpl.java:24)
    at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction$1.run(VcsModificationChecker.java:0)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89)
    at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction.run(VcsModificationChecker.java:2)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at java.lang.String.substring(String.java:1931)
    at com.codicesoftware.plugins.teamcity.PlasticVcsSupport$1.collectChanges(PlasticVcsSupport.java:284)
    at jetbrains.buildServer.vcs.utils.VcsPluginUtil.collectBuildChanges(VcsPluginUtil.java:63)
    at jetbrains.vcs.api.services.collectChanges.CollectRepositoryChangesPolicyFactory$8.collectChanges(CollectRepositoryChangesPolicyFactory.java:2)
    at jetbrains.vcs.api.services.collectChanges.SingleVersionCollectChangesCommand.collectChanges(SingleVersionCollectChangesCommand.java:1)
    at jetbrains.vcs.api.services.collectChanges.CollectChangesServiceProvider$1.collectChanges(CollectChangesServiceProvider.java:4)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges$CollectChangesForCheckoutRules.call(LoadChanges.java:12)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges$CollectChangesForCheckoutRules.call(LoadChanges.java:8)
    at jetbrains.buildServer.vcs.VcsOperationProgressProviderImpl.runWithProgress(VcsOperationProgressProviderImpl.java:27)
    ... 22 more
    java.lang.StringIndexOutOfBoundsException: String index out of range: -33
    at java.lang.String.substring(String.java:1931)
    at com.codicesoftware.plugins.teamcity.PlasticVcsSupport$1.collectChanges(PlasticVcsSupport.java:284)
    at jetbrains.buildServer.vcs.utils.VcsPluginUtil.collectBuildChanges(VcsPluginUtil.java:63)
    at jetbrains.vcs.api.services.collectChanges.CollectRepositoryChangesPolicyFactory$8.collectChanges(CollectRepositoryChangesPolicyFactory.java:2)
    at jetbrains.vcs.api.services.collectChanges.SingleVersionCollectChangesCommand.collectChanges(SingleVersionCollectChangesCommand.java:1)
    at jetbrains.vcs.api.services.collectChanges.CollectChangesServiceProvider$1.collectChanges(CollectChangesServiceProvider.java:4)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges$CollectChangesForCheckoutRules.call(LoadChanges.java:12)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges$CollectChangesForCheckoutRules.call(LoadChanges.java:8)
    at jetbrains.buildServer.vcs.VcsOperationProgressProviderImpl.runWithProgress(VcsOperationProgressProviderImpl.java:27)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesWithProgress(LoadChanges.java:26)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesForCheckoutRules(LoadChanges.java:49)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChangesByCombinedRule(LoadChanges.java:11)
    at jetbrains.buildServer.buildTriggers.vcs.LoadChanges.collectChanges(LoadChanges.java:34)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader$RunLoadChanges.run(VcsRootChangesLoader.java:39)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89)
    at jetbrains.buildServer.buildTriggers.vcs.VcsRootChangesLoader.loadChanges(VcsRootChangesLoader.java:20)
    at jetbrains.buildServer.vcs.impl.VcsChangesFetcher$LoadChangesForRoot.run(VcsChangesFetcher.java:8)
    at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl$ImmediateFutureExecService$1.call(VcsChangesLoaderImpl.java)
    at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:59)
    at jetbrains.buildServer.serverSide.impl.ImmediateFuture.get(ImmediateFuture.java:68)
    at jetbrains.buildServer.vcs.impl.PeriodicChangesLoader.waitForTaskToComplete(PeriodicChangesLoader.java:13)
    at jetbrains.buildServer.vcs.impl.PeriodicChangesLoader.loadChanges(PeriodicChangesLoader.java:11)
    at jetbrains.buildServer.vcs.impl.VcsChangesLoaderImpl.tryLoadChanges(VcsChangesLoaderImpl.java:24)
    at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction$1.run(VcsModificationChecker.java:0)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:89)
    at jetbrains.buildServer.serverSide.impl.VcsModificationChecker$CollectChangesAction.run(VcsModificationChecker.java:2)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    

    I was able to reproduce it by

    • installing a fresh version of the above mentioned software packages
    • creating a new empty plastic scm repository
    • creating a new TeamCity project with a VCS root that uses the newly created plastic repository
    • creating a build configuration that uses the new VCS root
    • run that build configuration -> TC should check for pending changes, do a server-side checkout, run your build
    • now, add a new file to your repository, checkin the change
    • re-run your teamcity build configuration => StringIndexOutOfBoundsException

     

    Seems to me like a bug introduced somewhere after 5.4.16.686, because downgrading Plastic SCM to 5.4.16.686 fixed that issue for me.

     

    Kind regards,

    Olaf

×
×
  • Create New...