Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2009-07

SVN "connection was closed" error

12 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

Hi,

I have been received the following "connection was closed" error from SubVersion's SVN client. I have to constantly resume the connection after a timeout error and is very annoying. The SVN client affected is any 1.4x, 1.5x or 1.6x client supplied by Collabnet.

==============================
....
A fixes_2_0/fv/gadgets.pas
A fixes_2_0/fv/colortxt.pas
A fixes_2_0/fv/outline.pas
RA layer request failed: REPORT of '/svn/fpc/!svn/vcc/default': Could not read response body: connection was closed by server (http://svn2.freepascal.org) at /usr/local/libexec/git-core/git-svn line 4505
==============================

It's a bug in the TCP traffic handling in all SVN clients from Collabnet. Here is a recent bug report about this exact issue.

http://sourceforge.net/apps/trac/sourceforge/ticket/1576

The problem gets triggered on slow connections and large revisions (commits) or large files checkouts.

Our slow connection is probably why I keep getting the issue. Even though we have a 4MB ADSL connection, we hardly ever reach that speed. Plus some more research revealed the shaped ADSL connection goes through our ISP's transparent proxy, making the connection even more flaky/slow. We are based in South Africa - I'm not sure where the svn2.freepascal.org server is located.

The solution (for us so far):
-----------------------------
Luckily the FPC repository has an alternative port that it listens to as well (port 8080) which bypasses the transparent proxies introduced by our ISP. Using the new port, the 'svn co ...' is flying!!!! :-) At Last!

I just thought I would mention this to everybody in case you were affected by this issue and wasn't sure why.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Vincent Snijders
to Florian Klaempfl
Florian Klaempfl wrote 6 lines
Graeme Geldenhuys schrieb: > We are based in South Africa - I'm not sure where the > svn2.freepascal.org server is located. Austria. If it helps you, we can also setup a git read only mirror on one of the European server.

If I clone that mirror, can I commit (is that push?) changes to the svn repository?

Vincent

Reply by email

Florian Klaempfl
to Vincent Snijders
Show quoted text 10 lines
Florian Klaempfl schreef: > Graeme Geldenhuys schrieb: >> We are based in South Africa - I'm not sure where the >> svn2.freepascal.org server is located. > > Austria. If it helps you, we can also setup a git read only mirror on > one of the European server. If I clone that mirror, can I commit (is that push?) changes to the svn repository?

With tricks, I think it's explained on the git-svn man/help? page.

Reply by email

Graeme Geldenhuys
to Florian Klaempfl: Austria. If it helps you, we can also setup a git read only mirror on one of the European…
Florian Klaempfl wrote
Austria. If it helps you, we can also setup a git read only mirror on one of the European server.

I'm almost done cloning the FPC repository for Git usage. I'll place it on the GitHub server - same as was done for the Lazarus (trunk) repository.

Difference being, the FPC mirror will contain all branches and tags - the Lazarus one was only Trunk.

I think I passed the major obstacles with the SubVersion repository. The first few commits were huge (lots and lots of files per revision) - because of the CVS import and cloning the various branches (which again flags many, many files per revision). It took me 5 days to clone up till r4000 - r5000. Yes I'm persistent in getting the Git mirror going. :)

But today, it is flying! I'm already at r10600, thanks to the new port number and because the latter commits are only small changes so the SVN timeout doesn't get triggered.

I don't know where the GitHub servers are located, but I have never experienced any timeouts using Git. So clearly they handle TCP traffic differently - and I have cloned quite large projects with it. Thanks for the offer though, but I think it should be fine now.

Hopefully in a hour or two the FPC git mirror will be active. I'll post a notice in this mailing list when I am done.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Vincent Snijders: If I clone that mirror, can I commit (is that push?) changes to the svn repository?…
Vincent Snijders wrote
If I clone that mirror, can I commit (is that push?) changes to the svn repository?

It is possible via a GitHub hosted repository, but I have never done that before - and I don't have write access to the FPC or Lazarus repositories. As far as I know you can also clone the mirror from (GitHub once it's available) and then add a second remote branch to which you can push changes upstream, bypassing HitHub. At the next sync from SubVersion to Git, the GitHub mirror will then get automatically updated with your changes (as they filter through from origin).

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Florian Klaempfl: With tricks, I think it's explained on the git-svn man/help? page.
Florian Klaempfl wrote
With tricks, I think it's explained on the git-svn man/help? page.

I believe, to push back to SubVersion you use:

   $ git svn dcommit

Just make sure you have a linear development path (using rebase command), because SubVersion doesn't support parallel development paths like Git. I think maybe the newer 1.6.x versions of git does more safety checks before blindly pushing back to SubVersion (like git 1.5.x did).

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Michael Schnell
to Florian Klaempfl: Austria. If it helps you, we can also setup a git read only mirror on one of the European…
Florian Klaempfl wrote 6 lines
Graeme Geldenhuys schrieb: > We are based in South Africa - I'm not sure where the > svn2.freepascal.org server is located. Austria. If it helps you, we can also setup a git read only mirror on one of the European server.

unfortunately
fpgui.git.sourceforge.net/gitroot/fpgui
is not able to accept http requests, so everybody behind a firewall is excluded.

Is it possible to access it with ssh+git: ?

If yes where to find the access specs ?

If no, yes, please set up a server that offers these capabilities.

-Michael

Reply by email

Graeme Geldenhuys
to Michael Schnell
Michael Schnell wrote 5 lines
unfortunately fpgui.git.sourceforge.net/gitroot/fpgui is not able to accept http requests, so everybody behind a firewall is excluded.

Ummm, seems SourceForge.net only support read-only access via the git protocol. This is not an issue with GitHub though - and where the FPC and Lazarus mirrors are hosted.

Here is more information on Sourceforge.net and Git support.

http://sourceforge.net/apps/trac/sourceforge/wiki/Git

Maybe the firewall issue should be taken up with SourceForge.net so they can fix the problem.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Michael Schnell
to Graeme Geldenhuys
Graeme Geldenhuys wrote

This does talk about ssh. Same can be run through a firewall with an appropriate tool (e.g. Corkscrew). But only if the server site provides the appropriate receiver.

I do use this method with another git server via an url = prefix. Works great, some 10 times faster and
much more reliable than http:

If sourceforge does support this method (as the page suggests) I would need a read-only username and a password.

The username does not seem to be anonymous:

======================================================================= git clone
Initialized empty Git repository in /home/mschnell/fpc_source/fpgui/.git/ Proxy could not open connnection to fpgui.git.sourceforge.net: Forbidden ssh_exchange_identification: Connection closed by remote host fatal: The remote end hung up unexpectedly
=======================================================================

If the username is correct, a question for a password would have been issued.

-Michael

Reply by email

Graeme Geldenhuys
to Michael Schnell

2009/7/10 Michael Schnell :

Show quoted text 9 lines
I do use this method with another git server via an url = prefix. Works great, some 10 times faster and much more reliable than http: If sourceforge does support this method (as the page suggests) I would need a read-only username and a password. The username does not seem to be anonymous:

Reading about the Git user permissions, it seems that you can access a git repository in (read-only) mode via ssh as long as you are a registered SourceForge.net user. So it seems the username in question will be your registered username, instead of anonymous.

http://sourceforge.net/apps/trac/sourceforge/wiki/Git%20permission%20management

This is how I understood the above web page, but they are not very clear on that point. An example would have been nice. If this does not work, I would suggest you take up the issue with SourceForge support. Alternatively, asb your network admin to open the Git port (I really can't see issues with such a task) or I can add you as a developer to fpGUI but with read access only.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Michael Schnell
to Graeme Geldenhuys
Reading about the Git user permissions, it seems that you can access a git repository in (read-only) mode via ssh as long as you are a registered SourceForge.net user. So it seems the username in question will be your registered username, instead of anonymous.

I created a sourceforge user account and tried using same instead of anonymous and it did not work. I understand the wording to be that this only works for users allowed for a write access to the repository.

-Michael

Reply by email