"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.
- I cannot reproduce it.
- 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.
- You do not need to restart git-as-svn when adding/removing
git-as-svn:<branch>
topics, it applies changes on the fly.