Skip to content

Instantly share code, notes, and snippets.

@vi
Created November 8, 2010 01:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vi/667250 to your computer and use it in GitHub Desktop.
Save vi/667250 to your computer and use it in GitHub Desktop.
The Git I built from source code fails while the git from binary distribution works.
vi@vi-notebook:/tmp/mod$ git config remote.origin.url
http://127.0.0.1/gitmod/
vi@vi-notebook:/tmp/mod$ ~/src/git/git/git push origin master:refs/heads/master
Counting objects: 5, done.
Writing objects: 100% (3/3), 288 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
# it freezes
^C
vi@vi-notebook:/tmp/mod$ /usr/bin/git push origin master:refs/heads/master
Counting objects: 5, done.
Writing objects: 100% (3/3), 288 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://127.0.0.1/gitmod/
c2ea360..0d44157 master -> master
vi@vi-notebook:/tmp/mod$ ~/src/git/git/git --version
git version 1.7.2.3
vi@vi-notebook:/tmp/mod$ /usr/bin/git --version
git version 1.7.2.3
# tail -n 1 /var/log/apache2/error.log
[Mon Nov 08 03:05:21 2010] [error] [client 127.0.0.1] fatal: protocol error: bad line length character: \x01
~/src/git/git/git attempt:
http://vi-server.org/vi/d/git_http_push_failure.cap
0084f4ff491badd7290e3bcc83b7e783b0b34b8fa5ce 157b8e24592ee8a587da4aa19ae0d2b5395308dc refs/heads/master.....!..........I0..I...I............!............... ...8...P...h..................I.......................I.......................I............`...`......I.......................I.......................I.......................I.....................................................a..............(.......p...http.....
/usr/bin/git attempt:
http://vi-server.org/vi/d/git_http_push_success.cap
0084f4ff491badd7290e3bcc83b7e783b0b34b8fa5ce 157b8e24592ee8a587da4aa19ae0d2b5395308dc refs/heads/master. report-status side-band-64k0000PACK..........x....
.1...|...l.....Xj..J6.`..;....{.`3...&...........LF'..xC..-..spj...
.+...1/a@....LB...c_.&..s{...k.....
......~.......6.5.........X.ATix.kk..@.............N.....~..J...x.340031Q(gH>.w.Z
g..M.....b.w.h........x....S../SP.P00.24.2.Tpu
Q0204...o...K..a..'u..?..lH:P...
vi@vi-notebook:/tmp/mod$ date > w && git add w && git commit -m "`date`"
[master cd3cc92] Mon Nov 8 03:18:43 EET 2010
1 files changed, 1 insertions(+), 1 deletions(-)
vi@vi-notebook:/tmp/mod$ GIT_TRACE=1 ~/src/git/git/git push origin master:refs/heads/master
trace: built-in: git 'push' 'origin' 'master:refs/heads/master'
trace: run_command: 'git-remote-http' 'origin' 'http://127.0.0.1/gitmod/'
trace: run_command: 'send-pack' '--stateless-rpc' '--helper-status' '--thin' 'http://127.0.0.1/gitmod/' 'refs/heads/master:refs/heads/master'
trace: exec: 'git' 'send-pack' '--stateless-rpc' '--helper-status' '--thin' 'http://127.0.0.1/gitmod/' 'refs/heads/master:refs/heads/master'
trace: built-in: git 'send-pack' '--stateless-rpc' '--helper-status' '--thin' 'http://127.0.0.1/gitmod/' 'refs/heads/master:refs/heads/master'
trace: run_command: 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset'
trace: exec: 'git' 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset'
trace: built-in: git 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset'
Counting objects: 5, done.
Writing objects: 100% (3/3), 286 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
^C
vi@vi-notebook:/tmp/mod$ GIT_TRACE=1 /usr/bin/git push origin master:refs/heads/master
trace: built-in: git 'push' 'origin' 'master:refs/heads/master'
trace: run_command: 'git-remote-http' 'origin' 'http://127.0.0.1/gitmod/'
trace: run_command: 'send-pack' '--stateless-rpc' '--helper-status' '--thin' 'http://127.0.0.1/gitmod/' 'refs/heads/master:refs/heads/master'
trace: exec: 'git' 'send-pack' '--stateless-rpc' '--helper-status' '--thin' 'http://127.0.0.1/gitmod/' 'refs/heads/master:refs/heads/master'
trace: built-in: git 'send-pack' '--stateless-rpc' '--helper-status' '--thin' 'http://127.0.0.1/gitmod/' 'refs/heads/master:refs/heads/master'
trace: run_command: 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset'
trace: exec: 'git' 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset'
trace: built-in: git 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset'
Counting objects: 5, done.
Writing objects: 100% (3/3), 286 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://127.0.0.1/gitmod/
157b8e2..cd3cc92 master -> master
~/src/git/git/git:
trace: run_command: 'receive-pack' '--stateless-rpc' '--advertise-refs' '.'
trace: exec: 'git' 'receive-pack' '--stateless-rpc' '--advertise-refs' '.'
trace: built-in: git 'receive-pack' '--stateless-rpc' '--advertise-refs' '.'
trace: run_command: 'receive-pack' '--stateless-rpc' '.'
trace: exec: 'git' 'receive-pack' '--stateless-rpc' '.'
trace: built-in: git 'receive-pack' '--stateless-rpc' '.'
fatal: protocol error: bad line length character: /*here is byte \x01*/
/usr/bin/git:
trace: run_command: 'receive-pack' '--stateless-rpc' '--advertise-refs' '.'
trace: exec: 'git' 'receive-pack' '--stateless-rpc' '--advertise-refs' '.'
trace: built-in: git 'receive-pack' '--stateless-rpc' '--advertise-refs' '.'
trace: run_command: 'receive-pack' '--stateless-rpc' '.'
trace: exec: 'git' 'receive-pack' '--stateless-rpc' '.'
trace: built-in: git 'receive-pack' '--stateless-rpc' '.'
trace: run_command: 'unpack-objects' '--pack_header=2,3'
trace: exec: 'git' 'unpack-objects' '--pack_header=2,3'
trace: built-in: git 'unpack-objects' '--pack_header=2,3'
trace: run_command: 'gc' '--auto' '--quiet'
trace: exec: 'git' 'gc' '--auto' '--quiet'
trace: built-in: git 'gc' '--auto' '--quiet'
$ ldd /usr/lib/git-core/git-remote-http
linux-gate.so.1 => (0xffffe000)
libz.so.1 => /usr/lib/libz.so.1 (0x4984f000)
libpthread.so.0 => /lib/libpthread.so.0 (0x49834000)
libcurl-gnutls.so.4 => /usr/lib/libcurl-gnutls.so.4 (0x4cfad000)
libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x49be1000)
libc.so.6 => /lib/libc.so.6 (0x496bf000)
/lib/ld-linux.so.2 (0x496a0000)
libidn.so.11 => /usr/lib/libidn.so.11 (0x4bc4e000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0x4bfe6000)
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0x4bf9f000)
librt.so.1 => /lib/librt.so.1 (0x49865000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x4d34c000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x4bbb4000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x4b730000)
libresolv.so.2 => /lib/libresolv.so.2 (0x49de2000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x4bf86000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x4d231000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x4d19a000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x4bff4000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x4d1bf000)
libdl.so.2 => /lib/libdl.so.2 (0x49806000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x4c4a2000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x4b823000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x4b34b000)
$ ldd ~/src/git/git/git-remote-http
linux-gate.so.1 => (0xffffe000)
libz.so.1 => /usr/lib/libz.so.1 (0x4984f000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0x4b090000)
libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x499b6000)
libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x49be1000)
libpthread.so.0 => /lib/libpthread.so.0 (0x49834000)
libc.so.6 => /lib/libc.so.6 (0x496bf000)
libdl.so.2 => /lib/libdl.so.2 (0x49806000)
libidn.so.11 => /usr/lib/libidn.so.11 (0x4bc4e000)
libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0x4afdb000)
/lib/ld-linux.so.2 (0x496a0000)
@vi
Copy link
Author

vi commented Nov 8, 2010

GIT_TRACE=1 output is the same (on client)

@vi
Copy link
Author

vi commented Nov 8, 2010

The same with binary git-http-backend.

@vi
Copy link
Author

vi commented Nov 8, 2010

The problem seems to be in git-remote-http.
"cp /usr/lib/git-core/git-remote-http ~/src/git/git/" makes pushes work.

@vi
Copy link
Author

vi commented Nov 9, 2010

The problem was in libcurl/libexpat that were in /usr/local/lib.
Removing them fixed things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment