Thread (33 messages) flat view 33 messages, 9 authors, 2016-06-15

Re: git-fetch in 1.5.4 fails versus 1.5.3.8

From: Anand Kumria <hidden>
Date: 2016-06-15 22:44:11

On Tue, 05 Feb 2008 00:07:41 -0500, Jeff King wrote:
On Mon, Feb 04, 2008 at 06:25:25PM +0000, Anand Kumria wrote:
quoted
$ 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.
header files, it looks like error 77 is:

    CURLE_SSL_CACERT_BADFILE,  /* 77 - could not load CACERT file,
    missing
                                  or wrong format */
quoted
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.

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help