Eric Wong wrote:
> Todd Zullinger <t...@pobox.com> wrote:
> Just a guess, but it might be related to destruction order.
> Running t9128 on a 32-bit Pentium-M, it took me 39 tries to
> fail.
> 
> diff --git a/git-svn.perl b/git-svn.perl
> index 76a75d0b3d..2ba14269bb 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -1200,6 +1200,11 @@ sub cmd_branch {
>       $ctx->copy($src, $rev, $dst)
>               unless $_dry_run;
>  
> +     # Release resources held by ctx before creating another SVN::Ra
> +     # so destruction is orderly.  This seems necessary Subversion 1.9.5
> +     # to avoid segfaults.
> +     $ctx = undef;
> +
>       $gs->fetch_all;
>  }
>  
> I'll be looping t9128, t9141 and t9167 with that for a few
> hours or day.  Will report back sooner if it fails.
> I'm on an ancient 32-bit system, I guess you guys encountered
> it on 64-bit machines?

Yeah.  I saw it on numerous architectures, x86 and x86_64.
I believe I saw it on aarch64 and ppc as well, but I don't
have build logs at hand to confirm.

I'm running the tests with and without your patch as well.
So far I've run t9128 300 times with the patch and no
failures.  Without it, it's failed 3 times in only a few
dozen runs.  That's promising.

Thanks for poking this Eric, and Brian for bringing it up.
I had intended to look at it again and mention it,
eventually. :)

-- 
Todd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I figure that if God actually does exist, He's big enough to
understand an honest difference of opinion.
    -- Isaac Asimov

Reply via email to