git-as-svn / git-as-svn

Subversion frontend server for Git repositories

Home Page:https://git-as-svn.github.io/git-as-svn/htmlsingle/git-as-svn.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"java.net.BindException: Address already in use" during restart

db4 opened this issue · comments

I'm trying to add a new Gitlab repo to git-as-svn 1.19. I added Gitlab topic git-as-svn:branch1 and restarted git-as-svn daemon, then did svn co. It failed with

C:\local>svn co svn://git.xxx.local/db4/test2/branch1 test2-branch1
svn: E170013: Unable to connect to a repository at URL 'svn://git.xxx.local/db4/test2/branch1'
svn: E210005: Repository not found: svn://git.xxx.local/db4/test2/branch1

Server log:

Jul  9 11:57:15 git git-as-svn[7168]: 2019-07-09T11:57:15,582  INFO [main] (GitLabProject.java:47) - [db4/test2]: initing...
Jul  9 11:57:15 git git-as-svn[7168]: 2019-07-09T11:57:15,582  INFO [main] (GitBranch.java:207) - [db4/test2@/branch1/]: loading cached revision changes: 1 revisions
Jul  9 11:57:15 git git-as-svn[7168]: 2019-07-09T11:57:15,583  INFO [main] (GitBranch.java:219) - [db4/test2@/branch1/]: 1 cached revision loaded: 1 ms
Jul  9 11:57:15 git git-as-svn[7168]: 2019-07-09T11:57:15,696  INFO [main] (GitBranch.java:264) - [db4/test2@/branch1/]: Loading revision changes: 1347 revision
Jul  9 11:57:17 git git-as-svn[7168]: 2019-07-09T11:57:17,583  INFO [main] (GitBranch.java:286) - Revision changes loaded: 1887 ms
Jul  9 11:57:17 git git-as-svn[7168]: 2019-07-09T11:57:17,794  INFO [main] (GitBranch.java:207) - [db4/test2@/branch1/]: loading cached revision changes: 1347 revisions
Jul  9 11:57:20 git git-as-svn[7168]: 2019-07-09T11:57:20,363  INFO [main] (GitBranch.java:213) - [db4/test2@/branch1/]: processed cached revision: 393/1347 (152.97781 rev/sec)
Jul  9 11:57:22 git git-as-svn[7168]: 2019-07-09T11:57:22,864  INFO [main] (GitBranch.java:213) - [db4/test2@/branch1/]: processed cached revision: 970/1347 (230.70772 rev/sec)
Jul  9 11:57:26 git git-as-svn[7168]: 2019-07-09T11:57:26,238  INFO [main] (GitBranch.java:213) - [db4/test2@/branch1/]: processed cached revision: 1259/1347 (85.65501 rev/sec)
Jul  9 11:57:26 git git-as-svn[7168]: 2019-07-09T11:57:26,800  INFO [main] (GitBranch.java:219) - [db4/test2@/branch1/]: 1347 cached revision loaded: 9006 ms
Jul  9 11:57:26 git git-as-svn[7168]: Exception in thread "main" java.net.BindException: Address already in use (Bind failed)
Jul  9 11:57:26 git git-as-svn[7168]: at java.net.PlainSocketImpl.socketBind(Native Method)
Jul  9 11:57:26 git git-as-svn[7168]: at java.net.PlainSocketImpl.socketBind(Native Method)
Jul  9 11:57:26 git git-as-svn[7168]: at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
Jul  9 11:57:26 git git-as-svn[7168]: at java.net.ServerSocket.bind(ServerSocket.java:375)
Jul  9 11:57:26 git git-as-svn[7168]: at java.net.ServerSocket.bind(ServerSocket.java:329)
Jul  9 11:57:26 git git-as-svn[7168]: at svnserver.server.SvnServer.<init>(SvnServer.java:156)
Jul  9 11:57:26 git git-as-svn[7168]: at svnserver.server.Main.main(Main.java:65)

Then I restarted git-as-svn and svn co started to work. Looks like a bug that has to be fixed?

This error means that git-as-svn failed to bind to TCP port (3690 by default) because it was already used by other process, possibly previous instance of git-as-svn. Does this happen to you when you restart git-as-svn via systemd (or whatever init system you use)?

Looks like it only happens when git-as-svn detects a new Gitlab repo (branch) that should be exposed via svn. If I restart the daemon the error won't appear again.

  1. I cannot reproduce it.
  2. Can you please check previous logs of git-as-svn instance that is shutting down? Maybe systemd doesn't wait for it to fully shutdown before starting new instance? You can compare timestamps of shutdown process with startup.
  3. You do not need to restart git-as-svn when adding/removing git-as-svn:<branch> topics, it applies changes on the fly.