Bug 1217502

Summary: Data of an ACKed tcp segment does not reach user space
Product: [openSUSE] openSUSE Tumbleweed Reporter: Marcus Hüwe <suse-tux>
Component: Kernel:NetworkingAssignee: Kernel Bugs <kernel-bugs>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Description and initial analysis
src code, tcpdump output, strace output

Description Marcus Hüwe 2023-11-26 17:12:29 UTC
Created attachment 870988 [details]
Description and initial analysis

We are facing a very strange behavior in a java.nio.channels.ServerSocketChannel
based single-threaded tcp server, when "lots" of client threads try to connect
to this server at the same time: It looks as if an ACKed tcp segment went
astray because its data does not seem to reach user space. Instead, the data
of the subsequent tcp segment arrives in user space.

The attached description.txt contains a detailed description + an initial analysis.
The attached repro.tar contains the java source code, the tcpdump output, and
the strace output.

Any ideas what's going on?:)
Comment 1 Marcus Hüwe 2023-11-26 17:14:06 UTC
Created attachment 870989 [details]
src code, tcpdump output, strace output