Public bug reported: When accepting client connections under load, duplicate endpoints may be returned. These endpoints will have different (usually sequential) file descriptors but will refer to the same connection (same server IP, same server port, same client IP, same client port). Both copies of the endpoint appear to be functional.
Reproduction requires: - compilation of the attached server.c program - wrk (https://github.com/wg/wrk) to generate load The steps to reproduce are: - run 'server' application in one console window - run 'for i in {1..50}; do /opt/wrk/wrk -t 2 -c 1000 -d 5s --latency --timeout 1s http://localhost:5555/post; done' in a second console window - run the same command in a third window to generate concurrent load You may need to run additional instance of the wrk command in multiple windows to trigger the issue. When the problem occurs the server executable will exit and print some debugging info. e.g.: accerror = 1950892, counter = 10683, port = 59892, clientfd = 233, lastClient = 232 This indicates that the sockets with file descriptors 233 and 232 are duplicates. The issue has been reproduced on fully patched versions of Ubuntu 20.04 and 18.04. Other versions have not been tested. This issue was originally observed in Java and was reported against the Spring Framework: https://github.com/spring-projects/spring-framework/issues/26434 Investigation from the Spring team and the Apache Tomcat team identified that it appeared to be a JDK issue: https://bugs.openjdk.java.net/browse/JDK-8263243 Further research from the JDK team determined that the issue was at the OS level. Hence this report. ProblemType: Bug DistroRelease: Ubuntu 20.04 Package: linux-image-5.4.0-71-generic 5.4.0-71.79 ProcVersionSignature: Ubuntu 5.4.0-71.79-generic 5.4.101 Uname: Linux 5.4.0-71-generic x86_64 NonfreeKernelModules: nvidia_modeset nvidia ApportVersion: 2.20.11-0ubuntu27.16 Architecture: amd64 CasperMD5CheckResult: skip CurrentDesktop: ubuntu:GNOME Date: Thu Apr 15 12:52:53 2021 HibernationDevice: RESUME=UUID=f5a46e09-d99b-4475-8ab6-2cd70da8418d InstallationDate: Installed on 2017-02-02 (1532 days ago) InstallationMedia: Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719) IwConfig: lo no wireless extensions. docker0 no wireless extensions. eno1 no wireless extensions. MachineType: Gigabyte Technology Co., Ltd. Default string ProcFB: 0 VESA VGA ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.4.0-71-generic root=/dev/mapper/ubuntu--vg-root ro text RelatedPackageVersions: linux-restricted-modules-5.4.0-71-generic N/A linux-backports-modules-5.4.0-71-generic N/A linux-firmware 1.187.10 RfKill: SourcePackage: linux UpgradeStatus: Upgraded to focal on 2020-09-07 (219 days ago) dmi.bios.date: 06/13/2016 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: F22 dmi.board.asset.tag: Default string dmi.board.name: X99-SLI-CF dmi.board.vendor: Gigabyte Technology Co., Ltd. dmi.board.version: x.x dmi.chassis.asset.tag: Default string dmi.chassis.type: 3 dmi.chassis.vendor: Default string dmi.chassis.version: Default string dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrF22:bd06/13/2016:svnGigabyteTechnologyCo.,Ltd.:pnDefaultstring:pvrDefaultstring:rvnGigabyteTechnologyCo.,Ltd.:rnX99-SLI-CF:rvrx.x:cvnDefaultstring:ct3:cvrDefaultstring: dmi.product.family: Default string dmi.product.name: Default string dmi.product.sku: Default string dmi.product.version: Default string dmi.sys.vendor: Gigabyte Technology Co., Ltd. ** Affects: linux (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug focal ** Attachment added: "Simple listening server to demonstrate issue" https://bugs.launchpad.net/bugs/1924298/+attachment/5488298/+files/server.c -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1924298 Title: accept returns duplicate endpoints under load To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1924298/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs