Re: [PATCH v2] git-svn: Fix termination issues for remote svn connections
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 9, 2013, 15:42 UTC
- Message-ID
- <xmqqfvtd1u7n.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <522D643E.2000901@daemons-point.com>
Uli Heller <uli.heller@daemons-point.com> writes:
> From a763550fc59b756580f9b162839d2737c27f2fe3 Mon Sep 17 00:00:00 2001 > From: Uli Heller <uli.heller@daemons-point.com> > Date: Tue, 3 Sep 2013 09:14:03 +0200 > Subject: [PATCH] git-svn: Fix termination issues for remote svn connections
None of the above need to be in the e-mail body (the first one must not be in the e-mail body, and the other three are redundant).
Show 19 quoted lines
> When using git-svn in combination with serf-1.2.1 core dumps are > created on termination. This is caused by a bug in serf, a fix for > the bug exists (see https://code.google.com/p/serf/source/detail?r=2146). > Nevertheless, I think it makes sense to fix the issue within the > git perl module Ra.pm, too. The change frees the private copy of > the remote access object on termination which prevents the error > from happening. > > Note: Since subversion-1.8.0 and later do require serf-1.2.1 or later, > the core dumps typically do show up when upgrading to a recent version > of subversion. > > Credits: Jonathan Lambrechts for proposing a fix to Ra.pm. > Evgeny Kotkov and Ivan Zhakov for fixing the issue in serf and > pointing me to that fix. > Junio C Hamano for proposing a great code comment. > Kyle J. McKay for testing against latest serf (1.3.1). > ... and various others - thanks! > ---
Hmph, the only change I see relative to the version in the message you are responding to is reversion of the proposed commit log message rewrite I did, and missing sign-off from you, and the latter of which matters most.
I'd keep the one queued on 'pu' 73ffac3b (git-svn: fix termination issues for remote svn connections, 2013-09-03) for now.
Thanks.
Show 22 quoted lines
> perl/Git/SVN/Ra.pm | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/perl/Git/SVN/Ra.pm b/perl/Git/SVN/Ra.pm
> index 75ecc42..a7b0119 100644
> --- a/perl/Git/SVN/Ra.pm
> +++ b/perl/Git/SVN/Ra.pm
> @@ -32,6 +32,14 @@ BEGIN {
> }
> }
>
> +# serf has a bug that leads to a coredump upon termination if the
> +# remote access object is left around (not fixed yet in serf 1.3.1).
> +# Explicitly free it to work around the issue.
> +END {
> + $RA = undef;
> + $ra_invalid = 1;
> +}
> +
> sub _auth_providers () {
> my @rv = (
> SVN::Client::get_simple_provider(),