Error mirroring the SVN repositories

Hi,

  1. SCM-Server version: 2.32.2 (Verified the error on 2.32.1 as well)
  2. Plugin

image


Issue:

  1. A new SVN repository is configured to MIRROR from a server
  2. Mirroring failed with below error:
    LOGS:

ScreenShot:

Error: Not found

The requested entity could not be found. It may have been deleted in another session.

Context

  • Revision: 462
  • Repository: svn/TRIM

Transaction ID 8zT2TXoZE7Y

Error Code AGR7UzkhA1

  1. Interestingly, SCM-Manager interface doesn’t allow to see anything under the REPOSITORY interface

  2. SCM-Manager Logs:


2022-04-09 08:55:25.324 [ScmEventBus-1-0] [          ] WARN  sonia.scm.authormapping.MappingPreProcessor - person object has no name
2022-04-09 08:55:25.327 [ScmEventBus-1-0] [          ] ERROR com.github.legman.EventBus - ScmEventBus-1 - could not dispatch event: RepositoryHookEvent{repository=svn/TRIM (FgT2TSyvO7), type=POST_RECEIVE} to handler SynchronizedEventHandler{null, public void sonia.scm.jenkins.JenkinsHook.onEvent(sonia.scm.repository.PostReceiveRepositoryHookEvent), true}
java.lang.reflect.InvocationTargetException: null
        at jdk.internal.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at com.github.legman.InvocationContext.invoke(InvocationContext.java:108)
        at com.github.legman.InvocationContext.proceed(InvocationContext.java:101)
        at com.github.legman.micrometer.MicrometerInvocationInterceptor.invoke(MicrometerInvocationInterceptor.java:47)
        at com.github.legman.InvocationContext.proceed(InvocationContext.java:99)
        at com.github.legman.EventHandler.handleEvent(EventHandler.java:103)
        at com.github.legman.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:52)
        at com.github.legman.EventBus.dispatchSynchronous(EventBus.java:452)
        at com.github.legman.EventBus.lambda$dispatch$1(EventBus.java:444)
        at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120)
        at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NullPointerException: null
        at sonia.scm.util.HttpUtil.getUriWithoutEndSeperator(HttpUtil.java:810)
        at sonia.scm.jenkins.JenkinsSvnGlobalHookHandler.createUrl(JenkinsSvnGlobalHookHandler.java:133)
        at sonia.scm.jenkins.JenkinsSvnGlobalHookHandler.sendRequest(JenkinsSvnGlobalHookHandler.java:70)
        at sonia.scm.jenkins.JenkinsHook.onEvent(JenkinsHook.java:129)
        ... 16 common frames omitted
2022-04-09 08:55:25.330 [ScmEventBus-1-0] [          ] WARN  com.jb.pushevent.PushEventSubscriber - Event was not propagated as the event propagation is turned off. If you want to propagate events go to the settings of this plugin and mark it as active.
2022-04-09 08:55:25.332 [ScmEventBus-1-0] [          ] ERROR sonia.scm.repository.spi.SvnPostReceiveHookChangesetProvier - could not open repository
org.tmatesoft.svn.core.SVNException: svn: E160006: No such revision 172
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:70)
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57)
        at org.tmatesoft.svn.core.internal.io.fs.FSFS.getRevisionPropertiesFile(FSFS.java:1281)
        at org.tmatesoft.svn.core.internal.io.fs.FSFS.readRevisionProperties(FSFS.java:758)
        at org.tmatesoft.svn.core.internal.io.fs.FSFS.getRevisionProperties(FSFS.java:744)
        at org.tmatesoft.svn.core.internal.io.fs.FSLog.fillLogEntry(FSLog.java:347)
        at org.tmatesoft.svn.core.internal.io.fs.FSLog.sendLog(FSLog.java:290)
        at org.tmatesoft.svn.core.internal.io.fs.FSLog.runLog(FSLog.java:162)
        at org.tmatesoft.svn.core.internal.io.fs.FSRepository.logImpl(FSRepository.java:383)
        at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:1041)
        at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:946)
        at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:870)
        at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:1418)
        at sonia.scm.repository.spi.SvnPostReceiveHookChangesetProvier.fetchChangeset(SvnPostReceiveHookChangesetProvier.java:110)
        at sonia.scm.repository.spi.AbstractSvnHookChangesetProvider.handleRequest(AbstractSvnHookChangesetProvider.java:79)
        at sonia.scm.repository.api.HookChangesetBuilder.getChangesets(HookChangesetBuilder.java:112)
        at sonia.scm.notify.NotifyRepositoryHook.handleEvent(NotifyRepositoryHook.java:87)
        at sonia.scm.notify.NotifyRepositoryHook.onEvent(NotifyRepositoryHook.java:76)
        at jdk.internal.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at com.github.legman.InvocationContext.invoke(InvocationContext.java:108)
        at com.github.legman.InvocationContext.proceed(InvocationContext.java:101)
        at com.github.legman.micrometer.MicrometerInvocationInterceptor.invoke(MicrometerInvocationInterceptor.java:47)
        at com.github.legman.InvocationContext.proceed(InvocationContext.java:99)
        at com.github.legman.EventHandler.handleEvent(EventHandler.java:103)
        at com.github.legman.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:52)
        at com.github.legman.EventBus.dispatchSynchronous(EventBus.java:452)
        at com.github.legman.EventBus.lambda$dispatch$1(EventBus.java:444)
        at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120)
        at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
2022-04-09 08:55:25.338 [ScmEventBus-1-0] [          ] INFO  sonia.scm.repository.LastModifiedUpdateListener - update last modified date of repository FgT2TSyvO7
2022-04-09 08:55:25.338 [ScmEventBus-1-0] [          ] INFO  sonia.scm.repository.DefaultRepositoryManager - modify repository svn/TRIM (FgT2TSyvO7) of type svn
2022-04-09 08:55:25.346 [CentralWorkQueue-0] [          ] ERROR sonia.scm.work.UnitOfWork - task sonia.scm.search.LuceneSimpleIndexTask@22182357 failed after 9.399 ms
sonia.scm.repository.InternalRepositoryException: could not open repository
        at sonia.scm.repository.spi.SvnLogCommand.getChangesets(SvnLogCommand.java:109)
        at sonia.scm.repository.api.LogCommandBuilder.getChangesets(LogCommandBuilder.java:231)
        at com.cloudogu.scm.search.LatestRevisionResolver.resolve(LatestRevisionResolver.java:58)
        at com.cloudogu.scm.search.IndexSyncWorker.ensureIndexIsUpToDate(IndexSyncWorker.java:77)
        at com.cloudogu.scm.search.IndexSyncWorker.ensureIndexIsUpToDate(IndexSyncWorker.java:68)
        at com.cloudogu.scm.search.IndexSyncer.ensureIndexIsUpToDate(IndexSyncer.java:79)
        at com.cloudogu.scm.search.IndexSyncer.ensureIndexIsUpToDate(IndexSyncer.java:59)
        at com.cloudogu.scm.search.IndexerTask.update(IndexerTask.java:57)
        at sonia.scm.search.LuceneIndexTask.run(LuceneIndexTask.java:68)
        at sonia.scm.work.UnitOfWork.run(UnitOfWork.java:120)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.tmatesoft.svn.core.SVNException: svn: E160006: No such revision 177
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:70)
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57)
        at org.tmatesoft.svn.core.internal.io.fs.FSFS.getRevisionPropertiesFile(FSFS.java:1281)
        at org.tmatesoft.svn.core.internal.io.fs.FSFS.readRevisionProperties(FSFS.java:758)
        at org.tmatesoft.svn.core.internal.io.fs.FSFS.getRevisionProperties(FSFS.java:744)
        at org.tmatesoft.svn.core.internal.io.fs.FSLog.fillLogEntry(FSLog.java:347)
        at org.tmatesoft.svn.core.internal.io.fs.FSLog.sendLog(FSLog.java:290)
        at org.tmatesoft.svn.core.internal.io.fs.FSLog.runLog(FSLog.java:162)
        at org.tmatesoft.svn.core.internal.io.fs.FSRepository.logImpl(FSRepository.java:383)
        at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:1041)
        at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:946)
        at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:870)
        at sonia.scm.repository.spi.SvnLogCommand.getChangesets(SvnLogCommand.java:126)
        at sonia.scm.repository.spi.SvnLogCommand.getChangesets(SvnLogCommand.java:106)

Hey @girishkg

From the stacktrace it seems like the URL is kinda corrupt because it throws a NPE. Could you double check your mirror configuration if there is anything suspicious in the URL? Maybe the protocol or port is odd formatted?

BR,
Eduard

Hi @eheimbuch ,
The SOURCE URL is: http://cmsvn.mydomain.net/repo/svn/REPOS

I also tried with the PORT 8080 (http://cmsvn.mydomain.net:8080/repo/svn/REPOS)

Interestingly, I can sync this source with another machine using CLI. The issue is only with SCM-Manager.
So I suspect the SVN-KIT used in the SCM-Manager because when we try to sync through the SCM-Manager as it invokes the SVN-KIT, whereas the command line on the Linux box invokes subversion tools.

Well… The stacktraces in your logs regarding SVN-KIT are triggered by the Notify Plugin. It should not block the mirroring at all.

Could you check your logs if there are some errors regarding the actual mirroring?

Hi @eheimbuch ,
Thanks for the reply.

I have noticed that there would be no such issues with Apache+SVN-DAV and this shows that the issue is specific to SVN-KIT.

I’m a little bit confused, may I go back to start?

From you logs I can see that SCM-Manager tries to read revisions 172 and 177 and fails for both. But this does not match your error show above that mentiones revision 462.

What I’m mission in your log is the transaction id from the error message (8zT2TXoZE7Y). This should be somewhere (a transaction id is created for each user request and is logged in front of each line, where we can see the empty brackets in your log snippet).

So my questions/requests:

  1. What is the head revision of the source repository?
  2. Do you have the revisions 172, 177 and 462 in the source repository and are they valid?
  3. Can you create a log excerpt from the mirror process, best created with the support plugin (go to “Administration” - “Support”, start the trace log, start the mirror, wait till it finishes, stop the trace log and send us the log from the tar ‒ you can obfuscate private strings, first).
  4. Start a second trace log and open the repository, so that the error you linked is shown, and send us this log, too.

Thanks for your help!

Hi @pfeuffer
Thanks for the reply,
I will come back with latest logs on this.

Looks like this is a bug as reported here: Malformed network data errors and infinite loop with svn+ssh
https://issues.tmatesoft.com/issue/SVNKIT-476

Hi Girish,

we are not sure if this is related to this old incident. The latest post is from 2016.

Could you please provide your log? Also we would like to know if you are using a ssh URL?

Hi @christoph.loose ,
I was using the SSH URL and this approach has OPEN ISSUES with the svnsync because of the way the SVNKit call the local repositories through the FILE (file:///repositories/mysvnrepo) protocol. I have changed it to HTTP to get it going.

You can close this for now.

1 Like