2

Quite some time ago, our corporate network environment required a proxy for all http-related traffic. Consequently, I configured my Subversion distribution to allow it access through the firewall.

Instructions were pretty simple... I modified ~/.subversion/servers and set http-proxy-host=10.0.6.251. I also modified my Eclipse preferences->General->Network connections to use the proxy. Piece of cake so far. It worked like that for years.

Fast forward to 2014, and the network wonks have gone proxyless. Consequently, I have reconfigured my Subversion distribution to remove the firewall settings - simply removing the http-proxy-host and http-proxy-port entries. I've also removed every trace of the proxy from Eclipse.

I've rebooted, relaunched everything, etc.. but my environment is still trying to use the proxy:

org.tigris.subversion.svnclientadapter.SVNClientException: org.apache.subversion.javahl.ClientException: svn: E175002: CONNECT request failed on 'http://10.0.6.251:3128'
svn: E175002: CONNECT of 'my-svn-server.corp:443': 504 Gateway Time-out (https://my-svn-server.corp)
    at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.update(AbstractJhlClientAdapter.java:1133)
    at org.tigris.subversion.subclipse.core.commands.UpdateResourcesCommand.run(UpdateResourcesCommand.java:81)
    at org.tigris.subversion.subclipse.ui.operations.UpdateOperation.execute(UpdateOperation.java:82)
    at org.tigris.subversion.subclipse.ui.operations.ReplaceOperation.execute(ReplaceOperation.java:97)
    at org.tigris.subversion.subclipse.ui.operations.RepositoryProviderOperation.execute(RepositoryProviderOperation.java:74)
    at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:90)
    at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:144)
    at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:72)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: org.apache.subversion.javahl.ClientException: svn: E175002: CONNECT request failed on 'http://10.0.6.251:3128'

Note that 10.0.6.251:3128 is the ip/port of the old (unneeded) proxy server. The one that I removed. Only SVN is complaining about this, everything else works ok

My question: where else might SVN be reading this proxy server information from? As far as I can tell, every reference to it has been removed. It's NOT being set in my environment, in the subversion servers file, or in Eclipse (as far as I can tell).

Anyone else have any ideas where I could look?

Edit 1:

I had the suspicion that the proxy settings might be set in java properties, so I did this:

public class Prop {
    public static void main(String[] args) {
        Properties p = System.getProperties();
        Enumeration keys = p.keys();
        while (keys.hasMoreElements()) {
          String key = (String)keys.nextElement();
          String value = (String)p.get(key);
          System.out.println(key + ": " + value);
        }
    }
}

No luck at all. Phantom proxy server is in none of the system properties visible to Java. Also checked the Java control panel in Mac OSX system properties, and my connection is set to "Direct".

Edit 2: The Plot Thickens

So I'm looking around in Eclipse and I notice this message: enter image description here

And I'm certain this is the cause of it. I just have no idea what in my external environment (Mac OSX Mavericks) is setting this. If I use SVN after Eclipse has reset the value using what I have in preference, SVN works. But then something in my environment overrides it again and it fails, sometimes in mid-sync.

AWT
  • 3,657
  • 5
  • 32
  • 60
  • Are you using Subversion JavaHL or SVNKit with Eclipse? Does the same behavior happen with the command line client? – Ben Reser Jan 14 '14 at 17:07
  • SVNKit with Eclipse. Yes, I see this behavior with the command line client as well - though only sometimes. It's driving me mad. 'svn update' will work fine all day, and then I'll try it and get '504 Gateway timeout' on my non-existent proxy server. I've also tried two different versions of Eclipse using two brand new workspaces - I still see the "System property xxx has been set to yyy by an external source" so it's definitely something external to Eclipse. – AWT Jan 14 '14 at 18:05
  • SVNKit may have entirely different behavior with respect to proxies. But Subversion itself doesn't use anything other than those config files you've already checked to decide to use a proxy. One possibility is that you have a transparent proxy that's having issues that's handling your requests. Might be interesting to run Wireshark while you're trying to use the command line client and capture the failure. If Wireshark shows you directly connecting to the server then it's not a local issue. – Ben Reser Jan 14 '14 at 18:31

1 Answers1

0

I'd say that this is a slightly more specific duplicate of Where is the user's Subversion config file stored on the major operating systems?

Only other place you could have set the proxy server would be in /etc/subversion/servers.

Subversion doesn't respect any other proxy settings (environment variables, OS settings, etc).

Community
  • 1
  • 1
Ben Reser
  • 5,695
  • 1
  • 21
  • 29
  • No luck there, I don't even have an /etc/subversion folder. I did learn some new stuff (see edits above) and found a similar SO discussion here (with no solution) http://stackoverflow.com/questions/619567/zombie-http-proxyhost-settings-for-jvm-on-osx – AWT Jan 14 '14 at 15:11