{"thread":{"id":"31232","subject":"Git hangs on clone","startedAt":"2012-08-11T02:48:55Z","lastAt":"2012-08-11T16:08:57Z","messageCount":3,"participants":["Paul Alesius","Elia Pinto"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"196851","messageId":"CAL8jUGVZFott2Tp0mYTjGAG-4jCw_pgf70ZkYJ3XYOF9DZqVNQ@mail.gmail.com","threadId":"31232","inReplyTo":null,"subject":"Git hangs on clone","fromName":"Paul Alesius","fromEmail":"paul@unnservice.com","sentAt":"2012-08-11T02:48:55Z","receivedAt":"2012-08-11T02:48:55Z","isPatch":false,"sender":{"key":"paul@unnservice.com","avatar":null},"body":"80 out of 100 times git will hang indefinitely during a clone operation.\nHere's the state of things during the hangs:\n\n\n----------------------- scenario 1:\nremote: Counting objects: 306395, done.\nremote: Compressing objects: 100% (47753/47753), done.\nremote: Total 306395 (delta 259044), reused 305469 (delta 258264)\nReceiving objects: 100% (306395/306395), 207.20 MiB | 5.80 MiB/s, done.\nResolving deltas: 100% (259044/259044), done.\n----------------------- ps aux | grep git:\nbuild    28122  0.1  0.0 126032  2092 pts/1    Sl+  04:19   0:00 git clone\ngit://git.gnome.org/gtk+\n---------------------- backtrace for scenario 1:\n(gdb) bt\n#0  0x0000003c9ee08e60 in pthread_join (threadid=47144800229120,\nthread_return=thread_return@entry=0x7fff19edc928) at pthread_join.c:93\n#1  0x00000000004cb6ab in finish_async (async=async@entry=0x7fff19edca00) at\nrun-command.c:739\n#2  0x0000000000428318 in get_pack (pack_lockfile=0x121df80, xd=0x121dfc0)\nat builtin/fetch-pack.c:773\n#3  do_fetch_pack (pack_lockfile=0x121df80, match=0x125e0a0, nr_match=544,\norig_ref=<optimized out>, fd=0x121dfc0) at builtin/fetch-pack.c:835\n#4  fetch_pack (my_args=my_args@entry=0x7fff19edd1b0, fd=fd@entry=0x121dfc0,\nconn=<optimized out>, ref=<optimized out>, dest=dest@entry=0x1217e70\n\"git://git.gnome.org/gtk+\",\n    nr_heads=nr_heads@entry=544, heads=heads@entry=0x125e0a0,\npack_lockfile=pack_lockfile@entry=0x121df80) at builtin/fetch-pack.c:1090\n#5  0x00000000004de08e in fetch_refs_via_pack (transport=0x121df20,\nnr_heads=544, to_fetch=0x125c880) at transport.c:549\n#6  0x00000000004e0472 in transport_fetch_refs\n(transport=transport@entry=0x121df20, refs=refs@entry=0x123d3c0) at\ntransport.c:1167\n#7  0x000000000041cbce in cmd_clone (argc=<optimized out>, argv=<optimized\nout>, prefix=<optimized out>) at builtin/clone.c:859\n#8  0x00000000004057d8 in run_builtin (argv=0x7fff19edd900, argc=2,\np=0x74a040) at git.c:308\n#9  handle_internal_command (argc=2, argv=0x7fff19edd900) at git.c:468\n#10 0x0000000000404be2 in run_argv (argv=0x7fff19edd790,\nargcp=0x7fff19edd79c) at git.c:514\n#11 main (argc=2, argv=0x7fff19edd900) at git.c:589\n----------------------\n\n\n\n\n---------------------- scenario 2:\nremote: Counting objects: 306395, done.\nremote: Compressing objects: 100% (47753/47753), done.\nReceiving objects:  99% (303332/306395), 205.18 MiB | 452 KiB/s\n----------------------- ps aux | grep git:\nbuild    28247  0.5  0.0 126032  2088 pts/1    Sl+  04:30   0:00 git clone\ngit://git.gnome.org/gtk+\nbuild    28249  8.4  0.3 144908 30480 pts/1    S+   04:30   0:12 git\nindex-pack --stdin -v --fix-thin --keep=fetch-pack 28247 on mydomain\n---------------------- backtrace for scenario 1:\n#0  0x0000003c9ee0e0ad in read () at ../sysdeps/unix/syscall-template.S:82\n#1  0x00000000004ea29f in read (__nbytes=46, __buf=0x7fffeb4d8cc0, __fd=7)\nat /usr/include/bits/unistd.h:45\n#2  xread (fd=fd@entry=7, buf=buf@entry=0x7fffeb4d8cc0, len=len@entry=46) at\nwrapper.c:142\n#3  0x00000000004ea38b in read_in_full (fd=7, buf=buf@entry=0x7fffeb4d8cc0,\ncount=count@entry=46) at wrapper.c:171\n#4  0x00000000004ad78c in index_pack_lockfile (ip_out=<optimized out>) at\npack-write.c:298\n#5  0x00000000004285d4 in get_pack (pack_lockfile=0x1928f80, xd=0x1928fc0)\nat builtin/fetch-pack.c:767\n#6  do_fetch_pack (pack_lockfile=0x1928f80, match=0x19690a0, nr_match=544,\norig_ref=<optimized out>, fd=0x1928fc0) at builtin/fetch-pack.c:835\n#7  fetch_pack (my_args=my_args@entry=0x7fffeb4da580, fd=fd@entry=0x1928fc0,\nconn=<optimized out>, ref=<optimized out>, dest=dest@entry=0x1922e70\n\"git://git.gnome.org/gtk+\",\n    nr_heads=nr_heads@entry=544, heads=heads@entry=0x19690a0,\npack_lockfile=pack_lockfile@entry=0x1928f80) at builtin/fetch-pack.c:1090\n#8  0x00000000004de08e in fetch_refs_via_pack (transport=0x1928f20,\nnr_heads=544, to_fetch=0x1967880) at transport.c:549\n#9  0x00000000004e0472 in transport_fetch_refs\n(transport=transport@entry=0x1928f20, refs=refs@entry=0x19483c0) at\ntransport.c:1167\n#10 0x000000000041cbce in cmd_clone (argc=<optimized out>, argv=<optimized\nout>, prefix=<optimized out>) at builtin/clone.c:859\n#11 0x00000000004057d8 in run_builtin (argv=0x7fffeb4dacd0, argc=2,\np=0x74a040) at git.c:308\n#12 handle_internal_command (argc=2, argv=0x7fffeb4dacd0) at git.c:468\n#13 0x0000000000404be2 in run_argv (argv=0x7fffeb4dab60,\nargcp=0x7fffeb4dab6c) at git.c:514\n#14 main (argc=2, argv=0x7fffeb4dacd0) at git.c:589\n----------------------\n\n\n\n---------------------- facts:\n- Happens on multiple machines on this LAN, which made me believe it's the\nNAT router.\n- Happens when using any repository.\n- There's nothing filtering egress ports (Other than the NAT)\n- Kernel 3(?) to 3.5 which I run currently\n- I often see it hang at __read_nocancel too in the backtrace, which is part\nof the read()\n- I have to abort the clone operation and retry indefinitely until it works,\nwhich may be never.\n\n\n\n\n- Paul\n"},{"id":"196858","messageId":"CAL8jUGUUkK-82BzJZ1iLVZ00_KbzsLhzAub26P8mddXipVoAng@mail.gmail.com","threadId":"31232","inReplyTo":"CAL8jUGVZFott2Tp0mYTjGAG-4jCw_pgf70ZkYJ3XYOF9DZqVNQ@mail.gmail.com","subject":"Re: Git hangs on clone","fromName":"Paul Alesius","fromEmail":"paul@unnservice.com","sentAt":"2012-08-11T10:44:15Z","receivedAt":"2012-08-11T10:44:15Z","isPatch":false,"sender":{"key":"paul@unnservice.com","avatar":null},"body":"I should add to the facts that:\n\n\n- git version: git version 1.7.11.2\n- Happens only when using protocols git:// and have seen it with\nhttps:// too, but never with http://\n- Saw a similar issue here:\nhttp://code.google.com/p/msysgit/issues/detail?id=361\n\n\nOn 11 August 2012 04:48, Paul Alesius <paul@unnservice.com> wrote:\n> 80 out of 100 times git will hang indefinitely during a clone operation.\n> Here's the state of things during the hangs:\n>\n>\n> ----------------------- scenario 1:\n> remote: Counting objects: 306395, done.\n> remote: Compressing objects: 100% (47753/47753), done.\n> remote: Total 306395 (delta 259044), reused 305469 (delta 258264)\n> Receiving objects: 100% (306395/306395), 207.20 MiB | 5.80 MiB/s, done.\n> Resolving deltas: 100% (259044/259044), done.\n> ----------------------- ps aux | grep git:\n> build    28122  0.1  0.0 126032  2092 pts/1    Sl+  04:19   0:00 git clone\n> git://git.gnome.org/gtk+\n> ---------------------- backtrace for scenario 1:\n> (gdb) bt\n> #0  0x0000003c9ee08e60 in pthread_join (threadid=47144800229120,\n> thread_return=thread_return@entry=0x7fff19edc928) at pthread_join.c:93\n> #1  0x00000000004cb6ab in finish_async (async=async@entry=0x7fff19edca00) at\n> run-command.c:739\n> #2  0x0000000000428318 in get_pack (pack_lockfile=0x121df80, xd=0x121dfc0)\n> at builtin/fetch-pack.c:773\n> #3  do_fetch_pack (pack_lockfile=0x121df80, match=0x125e0a0, nr_match=544,\n> orig_ref=<optimized out>, fd=0x121dfc0) at builtin/fetch-pack.c:835\n> #4  fetch_pack (my_args=my_args@entry=0x7fff19edd1b0, fd=fd@entry=0x121dfc0,\n> conn=<optimized out>, ref=<optimized out>, dest=dest@entry=0x1217e70\n> \"git://git.gnome.org/gtk+\",\n>     nr_heads=nr_heads@entry=544, heads=heads@entry=0x125e0a0,\n> pack_lockfile=pack_lockfile@entry=0x121df80) at builtin/fetch-pack.c:1090\n> #5  0x00000000004de08e in fetch_refs_via_pack (transport=0x121df20,\n> nr_heads=544, to_fetch=0x125c880) at transport.c:549\n> #6  0x00000000004e0472 in transport_fetch_refs\n> (transport=transport@entry=0x121df20, refs=refs@entry=0x123d3c0) at\n> transport.c:1167\n> #7  0x000000000041cbce in cmd_clone (argc=<optimized out>, argv=<optimized\n> out>, prefix=<optimized out>) at builtin/clone.c:859\n> #8  0x00000000004057d8 in run_builtin (argv=0x7fff19edd900, argc=2,\n> p=0x74a040) at git.c:308\n> #9  handle_internal_command (argc=2, argv=0x7fff19edd900) at git.c:468\n> #10 0x0000000000404be2 in run_argv (argv=0x7fff19edd790,\n> argcp=0x7fff19edd79c) at git.c:514\n> #11 main (argc=2, argv=0x7fff19edd900) at git.c:589\n> ----------------------\n>\n>\n>\n>\n> ---------------------- scenario 2:\n> remote: Counting objects: 306395, done.\n> remote: Compressing objects: 100% (47753/47753), done.\n> Receiving objects:  99% (303332/306395), 205.18 MiB | 452 KiB/s\n> ----------------------- ps aux | grep git:\n> build    28247  0.5  0.0 126032  2088 pts/1    Sl+  04:30   0:00 git clone\n> git://git.gnome.org/gtk+\n> build    28249  8.4  0.3 144908 30480 pts/1    S+   04:30   0:12 git\n> index-pack --stdin -v --fix-thin --keep=fetch-pack 28247 on mydomain\n> ---------------------- backtrace for scenario 1:\n> #0  0x0000003c9ee0e0ad in read () at ../sysdeps/unix/syscall-template.S:82\n> #1  0x00000000004ea29f in read (__nbytes=46, __buf=0x7fffeb4d8cc0, __fd=7)\n> at /usr/include/bits/unistd.h:45\n> #2  xread (fd=fd@entry=7, buf=buf@entry=0x7fffeb4d8cc0, len=len@entry=46) at\n> wrapper.c:142\n> #3  0x00000000004ea38b in read_in_full (fd=7, buf=buf@entry=0x7fffeb4d8cc0,\n> count=count@entry=46) at wrapper.c:171\n> #4  0x00000000004ad78c in index_pack_lockfile (ip_out=<optimized out>) at\n> pack-write.c:298\n> #5  0x00000000004285d4 in get_pack (pack_lockfile=0x1928f80, xd=0x1928fc0)\n> at builtin/fetch-pack.c:767\n> #6  do_fetch_pack (pack_lockfile=0x1928f80, match=0x19690a0, nr_match=544,\n> orig_ref=<optimized out>, fd=0x1928fc0) at builtin/fetch-pack.c:835\n> #7  fetch_pack (my_args=my_args@entry=0x7fffeb4da580, fd=fd@entry=0x1928fc0,\n> conn=<optimized out>, ref=<optimized out>, dest=dest@entry=0x1922e70\n> \"git://git.gnome.org/gtk+\",\n>     nr_heads=nr_heads@entry=544, heads=heads@entry=0x19690a0,\n> pack_lockfile=pack_lockfile@entry=0x1928f80) at builtin/fetch-pack.c:1090\n> #8  0x00000000004de08e in fetch_refs_via_pack (transport=0x1928f20,\n> nr_heads=544, to_fetch=0x1967880) at transport.c:549\n> #9  0x00000000004e0472 in transport_fetch_refs\n> (transport=transport@entry=0x1928f20, refs=refs@entry=0x19483c0) at\n> transport.c:1167\n> #10 0x000000000041cbce in cmd_clone (argc=<optimized out>, argv=<optimized\n> out>, prefix=<optimized out>) at builtin/clone.c:859\n> #11 0x00000000004057d8 in run_builtin (argv=0x7fffeb4dacd0, argc=2,\n> p=0x74a040) at git.c:308\n> #12 handle_internal_command (argc=2, argv=0x7fffeb4dacd0) at git.c:468\n> #13 0x0000000000404be2 in run_argv (argv=0x7fffeb4dab60,\n> argcp=0x7fffeb4dab6c) at git.c:514\n> #14 main (argc=2, argv=0x7fffeb4dacd0) at git.c:589\n> ----------------------\n>\n>\n>\n> ---------------------- facts:\n> - Happens on multiple machines on this LAN, which made me believe it's the\n> NAT router.\n> - Happens when using any repository.\n> - There's nothing filtering egress ports (Other than the NAT)\n> - Kernel 3(?) to 3.5 which I run currently\n> - I often see it hang at __read_nocancel too in the backtrace, which is part\n> of the read()\n> - I have to abort the clone operation and retry indefinitely until it works,\n> which may be never.\n>\n>\n>\n>\n> - Paul\n"},{"id":"196861","messageId":"CA+EOSBkD_R5-5JGX-VZ82dz=8Vp-TvyU3eurBzrapD3DoQcEJQ@mail.gmail.com","threadId":"31232","inReplyTo":"CAL8jUGUUkK-82BzJZ1iLVZ00_KbzsLhzAub26P8mddXipVoAng@mail.gmail.com","subject":"Re: Git hangs on clone","fromName":"Elia Pinto","fromEmail":"gitter.spiros@gmail.com","sentAt":"2012-08-11T16:08:57Z","receivedAt":"2012-08-11T16:08:57Z","isPatch":false,"sender":{"key":"gitter.spiros@gmail.com","avatar":"https://avatars.githubusercontent.com/u/158490?v=4"},"body":"Difficult that it is a git problem. It is better to trace the network\ncommunication, a wireshark trace for example. But it is probably a\nfirewall or UTM, if you have, issue.\n\nBest\n\n2012/8/11, Paul Alesius <paul@unnservice.com>:\n> I should add to the facts that:\n>\n>\n> - git version: git version 1.7.11.2\n> - Happens only when using protocols git:// and have seen it with\n> https:// too, but never with http://\n> - Saw a similar issue here:\n> http://code.google.com/p/msysgit/issues/detail?id=361\n>\n>\n> On 11 August 2012 04:48, Paul Alesius <paul@unnservice.com> wrote:\n>> 80 out of 100 times git will hang indefinitely during a clone operation.\n>> Here's the state of things during the hangs:\n>>\n>>\n>> ----------------------- scenario 1:\n>> remote: Counting objects: 306395, done.\n>> remote: Compressing objects: 100% (47753/47753), done.\n>> remote: Total 306395 (delta 259044), reused 305469 (delta 258264)\n>> Receiving objects: 100% (306395/306395), 207.20 MiB | 5.80 MiB/s, done.\n>> Resolving deltas: 100% (259044/259044), done.\n>> ----------------------- ps aux | grep git:\n>> build    28122  0.1  0.0 126032  2092 pts/1    Sl+  04:19   0:00 git\n>> clone\n>> git://git.gnome.org/gtk+\n>> ---------------------- backtrace for scenario 1:\n>> (gdb) bt\n>> #0  0x0000003c9ee08e60 in pthread_join (threadid=47144800229120,\n>> thread_return=thread_return@entry=0x7fff19edc928) at pthread_join.c:93\n>> #1  0x00000000004cb6ab in finish_async (async=async@entry=0x7fff19edca00)\n>> at\n>> run-command.c:739\n>> #2  0x0000000000428318 in get_pack (pack_lockfile=0x121df80,\n>> xd=0x121dfc0)\n>> at builtin/fetch-pack.c:773\n>> #3  do_fetch_pack (pack_lockfile=0x121df80, match=0x125e0a0,\n>> nr_match=544,\n>> orig_ref=<optimized out>, fd=0x121dfc0) at builtin/fetch-pack.c:835\n>> #4  fetch_pack (my_args=my_args@entry=0x7fff19edd1b0,\n>> fd=fd@entry=0x121dfc0,\n>> conn=<optimized out>, ref=<optimized out>, dest=dest@entry=0x1217e70\n>> \"git://git.gnome.org/gtk+\",\n>>     nr_heads=nr_heads@entry=544, heads=heads@entry=0x125e0a0,\n>> pack_lockfile=pack_lockfile@entry=0x121df80) at builtin/fetch-pack.c:1090\n>> #5  0x00000000004de08e in fetch_refs_via_pack (transport=0x121df20,\n>> nr_heads=544, to_fetch=0x125c880) at transport.c:549\n>> #6  0x00000000004e0472 in transport_fetch_refs\n>> (transport=transport@entry=0x121df20, refs=refs@entry=0x123d3c0) at\n>> transport.c:1167\n>> #7  0x000000000041cbce in cmd_clone (argc=<optimized out>,\n>> argv=<optimized\n>> out>, prefix=<optimized out>) at builtin/clone.c:859\n>> #8  0x00000000004057d8 in run_builtin (argv=0x7fff19edd900, argc=2,\n>> p=0x74a040) at git.c:308\n>> #9  handle_internal_command (argc=2, argv=0x7fff19edd900) at git.c:468\n>> #10 0x0000000000404be2 in run_argv (argv=0x7fff19edd790,\n>> argcp=0x7fff19edd79c) at git.c:514\n>> #11 main (argc=2, argv=0x7fff19edd900) at git.c:589\n>> ----------------------\n>>\n>>\n>>\n>>\n>> ---------------------- scenario 2:\n>> remote: Counting objects: 306395, done.\n>> remote: Compressing objects: 100% (47753/47753), done.\n>> Receiving objects:  99% (303332/306395), 205.18 MiB | 452 KiB/s\n>> ----------------------- ps aux | grep git:\n>> build    28247  0.5  0.0 126032  2088 pts/1    Sl+  04:30   0:00 git\n>> clone\n>> git://git.gnome.org/gtk+\n>> build    28249  8.4  0.3 144908 30480 pts/1    S+   04:30   0:12 git\n>> index-pack --stdin -v --fix-thin --keep=fetch-pack 28247 on mydomain\n>> ---------------------- backtrace for scenario 1:\n>> #0  0x0000003c9ee0e0ad in read () at\n>> ../sysdeps/unix/syscall-template.S:82\n>> #1  0x00000000004ea29f in read (__nbytes=46, __buf=0x7fffeb4d8cc0,\n>> __fd=7)\n>> at /usr/include/bits/unistd.h:45\n>> #2  xread (fd=fd@entry=7, buf=buf@entry=0x7fffeb4d8cc0, len=len@entry=46)\n>> at\n>> wrapper.c:142\n>> #3  0x00000000004ea38b in read_in_full (fd=7,\n>> buf=buf@entry=0x7fffeb4d8cc0,\n>> count=count@entry=46) at wrapper.c:171\n>> #4  0x00000000004ad78c in index_pack_lockfile (ip_out=<optimized out>) at\n>> pack-write.c:298\n>> #5  0x00000000004285d4 in get_pack (pack_lockfile=0x1928f80,\n>> xd=0x1928fc0)\n>> at builtin/fetch-pack.c:767\n>> #6  do_fetch_pack (pack_lockfile=0x1928f80, match=0x19690a0,\n>> nr_match=544,\n>> orig_ref=<optimized out>, fd=0x1928fc0) at builtin/fetch-pack.c:835\n>> #7  fetch_pack (my_args=my_args@entry=0x7fffeb4da580,\n>> fd=fd@entry=0x1928fc0,\n>> conn=<optimized out>, ref=<optimized out>, dest=dest@entry=0x1922e70\n>> \"git://git.gnome.org/gtk+\",\n>>     nr_heads=nr_heads@entry=544, heads=heads@entry=0x19690a0,\n>> pack_lockfile=pack_lockfile@entry=0x1928f80) at builtin/fetch-pack.c:1090\n>> #8  0x00000000004de08e in fetch_refs_via_pack (transport=0x1928f20,\n>> nr_heads=544, to_fetch=0x1967880) at transport.c:549\n>> #9  0x00000000004e0472 in transport_fetch_refs\n>> (transport=transport@entry=0x1928f20, refs=refs@entry=0x19483c0) at\n>> transport.c:1167\n>> #10 0x000000000041cbce in cmd_clone (argc=<optimized out>,\n>> argv=<optimized\n>> out>, prefix=<optimized out>) at builtin/clone.c:859\n>> #11 0x00000000004057d8 in run_builtin (argv=0x7fffeb4dacd0, argc=2,\n>> p=0x74a040) at git.c:308\n>> #12 handle_internal_command (argc=2, argv=0x7fffeb4dacd0) at git.c:468\n>> #13 0x0000000000404be2 in run_argv (argv=0x7fffeb4dab60,\n>> argcp=0x7fffeb4dab6c) at git.c:514\n>> #14 main (argc=2, argv=0x7fffeb4dacd0) at git.c:589\n>> ----------------------\n>>\n>>\n>>\n>> ---------------------- facts:\n>> - Happens on multiple machines on this LAN, which made me believe it's\n>> the\n>> NAT router.\n>> - Happens when using any repository.\n>> - There's nothing filtering egress ports (Other than the NAT)\n>> - Kernel 3(?) to 3.5 which I run currently\n>> - I often see it hang at __read_nocancel too in the backtrace, which is\n>> part\n>> of the read()\n>> - I have to abort the clone operation and retry indefinitely until it\n>> works,\n>> which may be never.\n>>\n>>\n>>\n>>\n>> - Paul\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n\n-- \nInviato dal mio dispositivo mobile\n"}]}