git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-fetch in 1.5.4 fails versus 1.5.3.8

From
AKAnand Kumria <wildfire@progsoc.org>
Date
Feb 6, 2008, 21:56 UTC
Message-ID
<pan.2008.02.06.21.56.35@progsoc.org>
In-Reply-To
<20080205050741.GA4624@coredump.intra.peff.net>
On Tue, 05 Feb 2008 00:07:41 -0500, Jeff King wrote:
Show 13 quoted lines
> On Mon, Feb 04, 2008 at 06:25:25PM +0000, Anand Kumria wrote:
> 
>> $ cat .git/config
>> {{ ... }}
>> [remote "richard"]
>>     url = https://server.example.com/~richard/newfoo.git fetch =
>>     +refs/heads/*:refs/remotes/richard/*
>> 
>> $ git fetch richard
>> error:  (curl_result = 77, http_code = 0, sha1 =
>> 0bc27e5162d0e74053b71fc637cbbf8fc942e969)
> 
> I was unable to reproduce your problem here. However, peeking in curl's

I bisected this down to the patch that makes git-fetch a builtin (b888d61c8308027433df9c243fa551f42db1c76a) -- which is where I guessed the functionality changed.

Show 10 quoted lines
> header files, it looks like error 77 is:
> 
>     CURLE_SSL_CACERT_BADFILE,  /* 77 - could not load CACERT file,
>     missing
>                                   or wrong format */
> 
>> Downgrading to git-core in Debian (1.5.3.8) and it works perfectly.
> 
> Since you are running Debian, can you confirm whether you have the
> 'ca-certificates' package installed? 
Yes, I have it installed.
> It creates the
> /etc/ssl/certs/ca-certificates.crt file, which is presumably the source
> of the complaining.
Yes, I have this file.
Show 6 quoted lines
> That being said, there seems to be some difference between 1.5.3.8 and
> 1.5.4 that made us care more about SSL certs (though I note that the
> SSL_VERIFYPEER curl knob has been set since pre-1.0). Have you tried
> setting GIT_SSL_NO_VERIFY?
> 
> -Peff
With git 1.5.4 I can merrily clone the repository via https without issue.
Only using git-fetch seems to have an issue.
With GIT_SSL_NO_VERIFY defined, it fails with:

$ GIT_SSL_NO_VERIFY=1 ../git/git-fetch richard error: gnutls_handshake() failed: ASN1 parser: Element was not found. (curl_result = 35, http_code = 0, sha1 = 510567ca41e201253445528ca6eb89ed43e71fce) Getting pack list for https://server.example.com/~richard/newfoo.git error: gnutls_handshake() failed: ASN1 parser: Element was not found. Getting alternates list for https://server.example.com/~richard/newfoo.git error: Unable to find 510567ca41e201253445528ca6eb89ed43e71fce under https://server.example.com/~richard/newfoo.git Cannot obtain needed object 510567ca41e201253445528ca6eb89ed43e71fce fatal: Fetch failed.

I *think* what is happening is that it is it is trying for the object - not seeing it and then not attempting to get the pack file.
But I'm having a hard time debugging this as git-fetch launches git-rev-list internally and it seems to be failing in there, really.

Thanks, Anand

Bisect log:

git-bisect start # good: [aadd4efa715f56e0eac5ac459c8ff4933b56d4ce] GIT 1.5.3.8 git-bisect good aadd4efa715f56e0eac5ac459c8ff4933b56d4ce # bad: [c3c135291a62a01f7fd385f46cde34091767259b] GIT 1.5.4 git-bisect bad c3c135291a62a01f7fd385f46cde34091767259b # bad: [183f84365de7b4b1fe0e15cebce80a95023aa1d6] git-p4: Fix typo in --detect-labels git-bisect bad 183f84365de7b4b1fe0e15cebce80a95023aa1d6 # bad: [6ca8b977e4f678050db8fcb0eec2091dd44a2bd0] Bisect: add "skip" to the short usage string. git-bisect bad 6ca8b977e4f678050db8fcb0eec2091dd44a2bd0 # good: [e66273a6abb8e9cd0967d52113e29c8014a255f8] Merge branch 'lh/merge' git-bisect good e66273a6abb8e9cd0967d52113e29c8014a255f8 # good: [f5bf6feb05b8c89c448ded6e6fad0eb58ef35463] Merge branch 'maint' git-bisect good f5bf6feb05b8c89c448ded6e6fad0eb58ef35463 # bad: [2b5a06edca8f7237aad6464b349b79772024d2a2] Restore default verbosity for http fetches. git-bisect bad 2b5a06edca8f7237aad6464b349b79772024d2a2 # bad: [3278cd0a39c30c6c3082fc5feed0f9bd98b5f628] Properly cleanup in http_cleanup so builtin-fetch does not segfault git-bisect bad 3278cd0a39c30c6c3082fc5feed0f9bd98b5f628 # good: [c7a8a16239c6bdbb4041dd8a8773ae055d3cccf8] Add bundle transport git-bisect good c7a8a16239c6bdbb4041dd8a8773ae055d3cccf8 # bad: [7a2bff45937a60d846abf3ccb42015539aedcb40] Replace custom memory growth allocator with ALLOC_GROW git-bisect bad 7a2bff45937a60d846abf3ccb42015539aedcb40 # bad: [4ad1eada9774a1f340beb4fdf78f1735534741bb] Fix off by one bug in reflog messages written by builtin-fetch git-bisect bad 4ad1eada9774a1f340beb4fdf78f1735534741bb # bad: [1aad91f5a715af92892aea7764beb829938ab111] Correct builtin-fetch to handle + in refspecs git-bisect bad 1aad91f5a715af92892aea7764beb829938ab111 # bad: [b888d61c8308027433df9c243fa551f42db1c76a] Make fetch a builtin git-bisect bad b888d61c8308027433df9c243fa551f42db1c76a

Previous: Jari AaltoNext: Jeff King
Message 4 of 44 in “git-fetch in 1.5.4 fails versus 1.5.3.8”
  1. Anand KumriaFeb 4, 2008
  2. Jeff KingFeb 5, 2008
  3. Jari AaltoFeb 5, 2008
  4. Anand KumriaFeb 6, 2008
  5. Jeff KingFeb 7, 2008
  6. Mike HommeyFeb 7, 2008
  7. Anand KumriaFeb 7, 2008
  8. Jeff KingFeb 7, 2008
  9. Mike HommeyFeb 7, 2008
  10. Jeff KingFeb 7, 2008
  11. Mike HommeyFeb 7, 2008
  12. Jeff KingFeb 8, 2008
  13. Mike HommeyFeb 8, 2008
  14. Mike HommeyFeb 8, 2008
  15. Work around curl-gnutls not liking to be reinitializedMike Hommey, Feb 8, 2008
  16. Mike HommeyFeb 8, 2008
  17. Junio C HamanoFeb 8, 2008
  18. Mike HommeyFeb 8, 2008
  19. Mike HommeyFeb 8, 2008
  20. Work around curl-gnutls not liking to be reinitializedMike Hommey, Feb 8, 2008
  21. Johannes SchindelinFeb 8, 2008
  22. Work around curl-gnutls not liking to be reinitializedMike Hommey, Feb 8, 2008
  23. Mike HommeyFeb 8, 2008
  24. Work around curl-gnutls not liking to be reinitializedMike Hommey, Feb 9, 2008
  25. Daniel StenbergFeb 9, 2008
  26. Florian WeimerFeb 9, 2008
  27. Mike HommeyFeb 9, 2008
  28. Johannes SchindelinFeb 8, 2008
  29. Mike HommeyFeb 8, 2008
  30. Jeff KingFeb 9, 2008
  31. Frank LichtenheldFeb 7, 2008
  32. Linus TorvaldsFeb 7, 2008
  33. Frank LichtenheldFeb 7, 2008
  34. Linus TorvaldsFeb 7, 2008
  35. Anand KumriaFeb 7, 2008
  36. Jeff KingFeb 7, 2008
  37. Linus TorvaldsFeb 7, 2008
  38. Martin LanghoffFeb 7, 2008
  39. Dmitry PotapovFeb 7, 2008
  40. Jeff KingFeb 7, 2008
  41. Jeff KingFeb 7, 2008
  42. Dmitry PotapovFeb 7, 2008
  43. Anand KumriaFeb 8, 2008
  44. Dmitry PotapovFeb 8, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.