-
Notifications
You must be signed in to change notification settings - Fork 316
[GoogleCode Issue 457] Push over git protocol hangs in msysGit #101
Comments
@childnode please feel free to take ownership of this issue and work towards its conclusion. In the links you referenced, there is a ton of information about the problem and the suggested ways to debug/fix. |
I would, If I could do it.. unfortunatly my C skills are quite bad .. hacking and disabling the sideband would not solve the core problem and I expect you guys won't accept this patch, else you have had done this yourself in a minute, right?! ;) |
Does anyone have a self-contained script (sh or batch) to reproduce the bug? This would be the obvious first step towards fixing the bug. |
@childnode I understand. Unfortunately, the issue will need to wait, then, until somebody comes along driving the fix. |
The issue can wait while being closed to protect my time (because it would otherwise see me, not @childnode, look at it every once in a while) |
I don't understand how this bug can be ignored for so long. Gits basic push functionality does not work even on the simplest of configurations. I assume most people are hex editing the binary like me to make it work. |
First step is still Btw. hex editing binaries from FLOSS software sounds really awful. |
@slothbag I guess it is not fixed at all because people like you make it work that way. |
Using VMWare ESXi, running 2 machines with Win2k8. Install git on both machines from git-scm.com. Machine A (open up port 9418, IP:10.0.0.220) Machine B (IP 10.0.0.225): Result: Stuck sitting at writing objects, never completes (I have a few more objects from running this test a few times). |
Leaving the above comment in tack as that was the original way I discovered the problem. I was able to reproduce this on another box with a straight Win7 install using 1.8.5.2.msysgit.0 and the following batch file. mkdir c:\git\hangserver git clone git://localhost/hangserver hangclient |
@t-b I have added a script above this comment that can reproduce it on a Win7 x64 machine (home premium) i5 2300 2.8ghz quad |
Not to keep spamming this thread, but I just came across something strange, while trying to attach the VS2012 debugger to all 6 git.exe at once, it finished properly (even tho it was already sitting there for 5+ minutes while I tried to investigate). I can not consistently reproduce this. While attaching the debugger does have some sort of impact, VS2012 never successfully attached and when you end task devenv, the git push either fails or succeeds. I'm willing to put the time in to debug this as its a critical show stopper for me right now, but I have no idea where to start. I'll update this comment periodically until someone comes along. |
@cphillips83 Thanks! At last I can reproduce the problem. |
Just a hunch: could this be related to #70? |
@dscho not sure that the OP in #70 wanted to do!? Current state of affairs can be explained with applying the following patch: diff --git a/wrapper.c b/wrapper.c
index 6a015de..ab04ac5 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -155,7 +155,9 @@ ssize_t xwrite(int fd, const void *buf, size_t len)
{
ssize_t nr;
while (1) {
+ warning("xwrite0 fd=%d, buf=%s, len=%d", fd, (char*) buf, len);
nr = write(fd, buf, len);
+ warning("xwrite1 nr=%d", nr);
if ((nr < 0) && (errno == EAGAIN || errno == EINTR))
continue;
return nr; Recompile, start a daemon
with git push not returning. Which means that write does not return as already found in https://code.google.com/p/msysgit/issues/detail?id=457#c35. |
@t-b It was just a shot in the dark, as #70 purported that the socket was closed prematurely (which in my mind could be a valid explanation why the I guess that this one will be very tricky to debug, and not without instrumenting the daemon, and the Sorry that I cannot be more helpful! |
While migrating our git Server from Solaris to Red Hat Linux we ran into exactly this issue. Our Win 7 Clients could no longer push. Client and server side of git hang after the Message "Writing objects: 100% (12/12)". We wasted 3 days in analysis and trying to find a workaround. We tried differend workarounds and versions of git but nothing seemed to work. Finaly we found a hack that made git push working properly again. I would strongly reccomend you guys to solve this bug. The Issue 457 in msysgit is known for 4 years now. |
1.) Did you get any further information from your analysis? 2.) The issue here deals with git daemon only. Therefore your problem with the ssh protocol belongs either on the mailing list or in a separate issue. In case you file a separate issue please provide enough information so that we can reproduce it. AFAIK no problems are known with the ssh protocol. |
@pango Unfortunately, knowing about the bugs existence for 4 years haven't helped much in figuring out why it happens. And people affected seems to have had mixed results with disabling side-band-64k, so we're not too confident about this as a work-around. |
First of all, I believe that you meant "strongly", not "hardly" (which is the opposite). Second: you do understand that you guys have no support contract with us? We already worked very hard, without getting any money from you or anybody else, to get things where they are right now. Asking for even more, for free, without even the offer to do cooperate on solving this bug, well, you know, this is kind of counter-productive?
Again, I assume you mean "for" instead of "since". And yes, the issue is open for four years. But apparently it is not an issue for any of the people who actually contribute fixes to Git for Windows. I would strongly suggest to try motivating in a more positive way any person with enough expertise who could help you. Taking myself as example, after reading so much negativity and feeling personally insulted (despite putting in so many thousands of hours I get criticized!), I would only consider to work on the bug -- which is not a bug I have to deal with at all! -- after an apology and a contract that makes sure that I get paid to solve your problem. I seriously hope that this clarifies the situation. |
@dscho This is a common theme surrounding open source projects, people complaining about bugs in something they got for free and the contributors feeling used and unappreciated. I think its something you either have to block out or end up giving up because of. I certainly didn't expect anyone to fix this issue based on my comment, I was simply stating that i'm surprised it (the bug) has been around this long. I wish I had the expertise (and time) to fix it, but I don't. Would any of the "sufferers" of this bug like to join me in creating a bounty to get this fixed? I can start by pledging $100 (in bitcoin) for a proper fix. |
@dscho This is where I have to disagree with you. The fact that it is open You seem to get defensive every time someone comments that this bug has I have a lot more to say on this matter, but this isn't the place for this On Thu, Apr 10, 2014 at 10:01 AM, slothbag notifications@github.com wrote:
|
@dscho are you looking for an "incentive" to get this fixed? If so, what is it? Everyone here (me included) doesn't have the expertise or knowledge of git's internals to patch while some are resorting to hacks. |
One missing piece of information is this post which explains very good the reasons for this bug. Having spent more than a full day trying to understand the bug, I've come, together with all the bits and pieces found elsewhere by my predecessors, to the following conclusion:
Having said that all, I propose to merge my sideband-bug branch. Some comments:
|
This is pretty excellent and what a lot of us were looking for. We all know Unfortunately this bug was such a nightmare for me that I ended up writing Thanks for your efforts Thomas +1 On Thu, May 8, 2014 at 4:29 PM, Thomas Braun notifications@git.luolix.topwrote:
|
@t-b I agree with you. Thanks for your great suggestion.
I think so too. |
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This works around the push-over-git-protocol issues pointed out in msysgit#101. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This is a resurrected issue from the old issue tracker ... still existing .. still annoying.
patch
0c499ea60f
marked to be cause of this push hangup as mentioned by johannes in comment#4
marked as "WontFix" at Apr 25, 2010 due to "nobody wants to fix" ;/
possible patch mentioned in comment#20 / comment#41
most details of problem analysys can be found in comment#35
File that needs patch nowadays (I think): https://github.com/msysgit/git/blob/master/send-pack.c
The text was updated successfully, but these errors were encountered: