lwIP - A Lightweight TCP/IP stack - Bugs: bug #26267, Simultaneous close
You are not allowed to post comments on this tracker with your current authentication level.
bug #26267: Simultaneous close
Submitter: | Oleg Tyshev <olegreen> | ||
Submitted: | Tue 21 Apr 2009 09:19:12 AM UTC | ||
Category: | TCP | Severity: | 3 - Normal |
Item Group: | Faulty Behaviour | Status: | Fixed |
Privacy: | Public | Assigned to: | None |
Open/Closed: | Closed | Planned Release: | None |
lwIP version: | CVS Head |
Jump to the original submission
Thu 25 Jun 2009 09:58:32 AM UTC, comment #22: |
Kieran Mansley <kieranm> |
Thu 18 Jun 2009 08:36:18 AM UTC, comment #21: Greg, you can try patch applied
|
Oleg Tyshev <olegreen> |
Tue 16 Jun 2009 08:22:21 PM UTC, comment #20: I have a possibly related issue that needs to be considered when looking at what to do with SND_NXT and SND_MAX.
|
Greg Nelson <gnelson> |
Wed 10 Jun 2009 03:26:11 PM UTC, comment #19: Simultaneous close is easy to reproduce:
|
Oleg Tyshev <olegreen> |
Fri 24 Apr 2009 11:59:41 AM UTC, comment #18: In reply to comment #13.
|
Oleg Tyshev <olegreen> |
Thu 23 Apr 2009 07:59:04 AM UTC, comment #17: In reply to comment #14: that issue now being tracked in BUG #26301 |
Kieran Mansley <kieranm> |
Wed 22 Apr 2009 03:23:50 PM UTC, comment #16: In reply to comment #15
|
Kieran Mansley <kieranm> |
Wed 22 Apr 2009 03:06:52 PM UTC, comment #15: Again about CLOSING :)
|
Oleg Tyshev <olegreen> |
Wed 22 Apr 2009 12:26:06 PM UTC, comment #14: Exists one more issue with close of the connection.
|
Oleg Tyshev <olegreen> |
Wed 22 Apr 2009 12:05:31 PM UTC, comment #13: I've had another look and think I understand now: I was wrong about what snd_max is. I thought it was the maximum value that we could send, but it is actually the maximum value we have sent. snd_nxt can change to be smaller when we retransmit things. This is a problem because lots of code (e.g. stuff I've written) uses snd_nxt where snd_max would be better. I'm not sure why we need both, so I'd quite like to get rid of snd_nxt.
|
Kieran Mansley <kieranm> |
Wed 22 Apr 2009 11:47:57 AM UTC, comment #12: I'm getting more confused: we should not be comparing ACK fields to snd_max. snd_nxt, as the code is now, seems correct to me. Why do you think snd_max is right? |
Kieran Mansley <kieranm> |
Wed 22 Apr 2009 11:35:29 AM UTC, comment #11: reply to comment 9
|
Oleg Tyshev <olegreen> |
Wed 22 Apr 2009 09:20:07 AM UTC, comment #10: If we wait ACK to the FIN, we should compare not with pcb->snd_nxt but with pcb->snd_max.
|
Oleg Tyshev <olegreen> |
Wed 22 Apr 2009 08:37:17 AM UTC, comment #9: I'm afraid I don't understand the last comment.
|
Kieran Mansley <kieranm> |
Tue 21 Apr 2009 05:40:24 PM UTC, comment #8: I debugged
|
Oleg Tyshev <olegreen> |
Tue 21 Apr 2009 02:25:34 PM UTC, comment #7: Taking a look at tcp_slowtmr() it's hard to see how this isn't working. To do a RTO retransmission you have to have:
|
Kieran Mansley <kieranm> |
Tue 21 Apr 2009 02:15:03 PM UTC, comment #6: The second capture shows, as you said, no FIN being retransmitted by one side. This capture only lasts for a few seconds. Is that because no more packets were sent after this, or because the capture was stopped? I wonder if lwIP would have retransmitted the FIN eventually. |
Kieran Mansley <kieranm> |
Tue 21 Apr 2009 02:08:22 PM UTC, comment #5: Sorry, applied capture log is false. (host2 was 1st who sent FIN)
|
Oleg Tyshev <olegreen> |
Tue 21 Apr 2009 12:47:14 PM UTC, comment #4: If the retransmission timer isn't working, that is definitely a bug, but adding an explicit retransmission there isn't the right solution - we should fix the retransmission timer.
|
Kieran Mansley <kieranm> |
Tue 21 Apr 2009 12:17:16 PM UTC, comment #3: After both sides calls close() they are in FIN_WAIT_1 state,
|
Oleg Tyshev <olegreen> |
Tue 21 Apr 2009 09:43:49 AM UTC, comment #2: I'm not sure what the problem is here. Can you explain more what you think is wrong?
|
Kieran Mansley <kieranm> |
Tue 21 Apr 2009 09:25:51 AM UTC, comment #1: but host1 never received FIN from host2.
|
Oleg Tyshev <olegreen> |
Tue 21 Apr 2009 09:19:12 AM UTC, original submission:
It seems to me simultaneous close doesn't work right way.
|
Oleg Tyshev <olegreen> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 5 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2009-07-27 | kieranm | Status | Ready For Test | Fixed | |
Open/Closed | Open | Closed | |||
2009-06-25 | kieranm | Status | None | Ready For Test | |
2009-04-21 | olegreen | Attached File | - | Added simult_2.pcap, #17985 | |
2009-04-21 | olegreen | Attached File | - | Added simult.pcap, #17982 |
Powered by Savane 3.13-758e.
Corresponding source code
I've checked in some code which I hope should fix this, but I would welcome a second opinion if you're able to test it.