Opened 10 months ago

Closed 8 days ago

#13769 closed bug (fixed)

git-push failure following TCP changes

Reported by: waddlesplash Owned by: axeld
Priority: normal Milestone: Unscheduled
Component: Network & Internet/TCP Version: R1/Development
Keywords: Cc: a-star
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

I have a git-push that always fails about 10% (a few megabytes or so) the way through. The most recent TCP patch I just applied (#13704) didn't fix it, and the pcap dump seems to indicate that it's another window problem.

CC'ing Ayush, and also emailing him a copy of the pcap file. If anyone else would like to investigate, I can email them the pcap file also.

Attachments (1)

0001-tcp-fixed-RTO-update-and-dup-ACKs-generation.patch (5.8 KB) - added by a-star 10 months ago.

Download all attachments as: .zip

Change History (15)

comment:1 Changed 10 months ago by taos

In addition to git push failing, I'm also experiencing problems cloning the haiku git repository:

git clone https://git.haiku-os.org/haiku -v
Cloning into 'haiku'...
POST git-upload-pack (chunked)
error: RPC failed; HTTP 408 curl 22 The requested URL returned error: 408 Request Timeout
fatal: The remote end hung up unexpectedly

comment:2 Changed 10 months ago by a-star

I have been real busy with exams and MS admissions.

I have started to look into the problem and found two possible issues. I will start to work on them in a day or two. Can expect a patch by the end of the week.

Sorry for the wait.

comment:3 Changed 10 months ago by waddlesplash

That's alright. Thanks for looking into this!

comment:4 Changed 10 months ago by a-star

Made some changes:

i) there was an integer promotion problem in updating the retransmission timeout : a signed int was being divided by an unsigned int. This was causing the values to overflow. Thus leading to huge values for timeout which manifested in the perception of pause in data flow.

ii) for an ack to be recognised as a duplicate ack, the advertised window must remain same. This was not taken care of in the code so I added it.

I tried my latest patch with files as large as 10mb (both git pull and git push) and everything worked fine. I hope the issue will be resolved now.

comment:5 Changed 10 months ago by a-star

Has a Patch: set

comment:6 Changed 10 months ago by waddlesplash

That seems to improve things slightly: now instead of permanently stalling around 18%, it instead halts there for about 20 seconds and then jumps to 21% before stalling again. I'll send you another pcap file.

comment:7 Changed 10 months ago by waddlesplash

Committed the patch in hrev51655.

comment:8 Changed 9 months ago by taos

With hrev51703 the error message during git push changed for me to:

remote: fatal: early EOF

Error for git clone is still the same.

comment:9 Changed 9 months ago by pulkomandy

Has a Patch: unset

comment:10 Changed 9 months ago by pulkomandy

Has a Patch: unset

@waddlesplash: please remember to set patches to "obsolete" if applying them and leaving the ticket open.

comment:11 Changed 8 months ago by taos

It seems that - at least for me - the problems with git disappeared with (or around the time of) the migration of the repositories to the new server.

comment:12 Changed 8 months ago by waddlesplash

Has a Patch: unset

The git push in question was to GitHub, so it hasn't changed.

comment:13 Changed 5 months ago by waddlesplash

I have another git-push failure that looks extremely similar to this one. Any developer who wants the pcap file can have it...

comment:14 Changed 8 days ago by waddlesplash

Resolution: fixed
Status: newclosed

This specific git-push succeeded, so I don't have a way to reproduce this now.

Note: See TracTickets for help on using tickets.