Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tcb:rcv.reject with segment drop stops TCP #18

Open
marcofeltmann opened this issue Apr 22, 2024 · 1 comment
Open

tcb:rcv.reject with segment drop stops TCP #18

marcofeltmann opened this issue Apr 22, 2024 · 1 comment

Comments

@marcofeltmann
Copy link

I tried both the reference implementation from the book Automate Your Home Using Go and your example/http-server code.

It works until the first request appears.
(Sometimes !dhcpclient.IsDone() although the DHCP server assigned that IP, but yeah, I can somewhat fix that setting the same RequestedIP in config)

-- snip ---
time=1970-01-01T00:00:09.011Z level=INFO msg=listening addr=http://192.168.160.203:80
time=1970-01-01T00:00:25.714Z level=INFO msg=TCP:rx-statechange port=80 old=Listen new=SynRcvd rxflags=[SYN]
time=1970-01-01T00:00:25.869Z level=ERROR msg=tcb:rcv.reject err="drop segment"

After that happened all TCP requests time out or fail as the particular IP address is no longer reachable.
No more logs are spawned, it seems dead.

With curl sometimes I can get up to three requests through and then it stops. But with Firefox Developer Edition it stops directly at the first approach.

I know that TCP/IP is kinda fragile and things like that might happen.
Yet I'd expect that system to somehow discard these errors gracefully and keep on receiving.

If you do have any idea on what makes this happen and how to cope with it, I'd happily fork and fiddle around.

@soypat
Copy link
Owner

soypat commented Apr 22, 2024

Could you upload wireshark captures of this bug in action? With a wireshark capture of packets it should be relatively easy to write a test for this bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants