Re: git svn import failure : write .git/Git_svn_hash_BmjclS: Bad file descriptor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

It seems that the same commit dfa72fdb96 is responsible for the error
in "git svn clone https://geuz.org/svn/gmsh/trunk";. But unlike in my
case, the patch doesn't fix it.

Cheers,
Valery


On 31 January 2015 at 13:51, Nico Schlömer <nico.schloemer@xxxxxxxxx> wrote:
> I tried the patch and I still get
> ```
> [...]
> r100 = e2a9b5baa2cebb18591ecb04ff350410d52f36de (refs/remotes/git-svn)
> Unexpected result returned from git cat-file at
> /home/nschloe/share/perl/5.18.2/Git/SVN/Fetcher.pm line 335.
> Failed to read object 619f9d1d857fb287d06a70c9dac6b8b534d0de6a at
> /home/nschloe/share/perl/5.18.2/Git/SVN/Fetcher.pm line 336, <GEN16>
> line 757.
>
> error closing pipe: Bad file descriptor at
> /home/nschloe/libexec/git-core/git-svn line 0.
> error closing pipe: Bad file descriptor at
> /home/nschloe/libexec/git-core/git-svn line 0.
> ```
> when
> ```
> git svn clone https://geuz.org/svn/gmsh/trunk
> ```
>
> Cheers,
> Nico
>
> On Fri, Jan 30, 2015 at 2:30 AM, Eric Wong <normalperson@xxxxxxxx> wrote:
>> Valery Yundin <yuvalery@xxxxxxxxx> wrote:
>>> Hi,
>>>
>>> Your patch seems to fix the problem.
>>> I tried several times and I can svn clone the whole repository in one
>>> go without a crash.
>>
>> Thanks for the confirmation.  Cc-ing a few other folks who encountered
>> this problem (and Bcc-ing some folks who emailed me privately).
>>
>> Can the rest of you give this patch a try on your respective platforms
>> and confirm the fix?
>>
>> http://article.gmane.org/gmane.comp.version-control.git/263168/raw
>> (also: http://mid.gmane.org/20150130002247.GA22519@xxxxxxxxxxxxx )
>>
>> Junio: assuming all goes well with testers, can you apply my patch
>> to the appropriate maintenance tracks with Tested-by:s?
>> I'm going offline in a few hours and don't think I'll be around
>> much the next week or so.
>>
>> Thanks.
>>
>>> Thanks,
>>> Valery
>>>
>>> On 30 January 2015 at 01:22, Eric Wong <normalperson@xxxxxxxx> wrote:
>>> > Valery Yundin <yuvalery@xxxxxxxxx> wrote:
>>> >> Hi,
>>> >>
>>> >> Here you go:
>>> >> dfa72fdb96befbd790f623bb2909a347176753c2 is the first bad commit
>>> >
>>> > Thank you.  Can you give the following patch a try?
>>> > I have not been able to reproduce the problem on my end.
>>> > If it doesn't work out, I might be out of ideas for a bit :/
>>> > Increasing --log-window-size will help you run longer without
>>> > the error, but that's not ideal as it can also eat memory.
>>> >
>>> > -----------------------8<----------------------
>>> > From: Eric Wong <normalperson@xxxxxxxx>
>>> > Subject: [PATCH] git-svn: destroy all tempfiles when reloading RA
>>> >
>>> > This may fix the errors some users are seeing with:
>>> > "write .git/Git_svn_hash_XXXXXX: Bad file descriptor"
>>> >
>>> > Thanks to Valery Yundin for helping bisect the problem introduced in
>>> > commit dfa72fdb96befbd790f623bb2909a347176753c2
>>> > (git-svn: reload RA every log-window-size)
>>> >
>>> > Cc: Valery Yundin <yuvalery@xxxxxxxxx>
>>> > Signed-off-by: Eric Wong <normalperson@xxxxxxxx>
>>> > ---
>>> >  perl/Git.pm        | 6 ++++++
>>> >  perl/Git/SVN/Ra.pm | 1 +
>>> >  2 files changed, 7 insertions(+)
>>> >
>>> > diff --git a/perl/Git.pm b/perl/Git.pm
>>> > index b5905ee..698018e 100644
>>> > --- a/perl/Git.pm
>>> > +++ b/perl/Git.pm
>>> > @@ -1347,6 +1347,12 @@ sub temp_path {
>>> >         $TEMP_FILES{$temp_fd}{fname};
>>> >  }
>>> >
>>> > +sub temp_reset_all {
>>> > +       unlink values %TEMP_FILEMAP if %TEMP_FILEMAP;
>>> > +       %TEMP_FILEMAP = ();
>>> > +       %TEMP_FILES = ();
>>> > +}
>>> > +
>>> >  sub END {
>>> >         unlink values %TEMP_FILEMAP if %TEMP_FILEMAP;
>>> >  }
>>> > diff --git a/perl/Git/SVN/Ra.pm b/perl/Git/SVN/Ra.pm
>>> > index 622535e..878679d 100644
>>> > --- a/perl/Git/SVN/Ra.pm
>>> > +++ b/perl/Git/SVN/Ra.pm
>>> > @@ -397,6 +397,7 @@ sub gs_fetch_loop_common {
>>> >                 $_[0] = undef;
>>> >                 $self = undef;
>>> >                 $RA = undef;
>>> > +               Git->temp_reset_all;
>>> >                 $gpool->clear;
>>> >                 $self = Git::SVN::Ra->new($ra_url);
>>> >                 $ra_invalid = undef;
>>> > --
>>> > EW
>>> --
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]