From owner-freebsd-bugs@freebsd.org Mon Aug 12 16:07:54 2019 Return-Path: Delivered-To: freebsd-bugs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3DF3DB7D28 for ; Mon, 12 Aug 2019 16:07:54 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 466gjk0xdgz4XCC for ; Mon, 12 Aug 2019 16:07:54 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.nyi.freebsd.org (Postfix) id 1E584B7D27; Mon, 12 Aug 2019 16:07:54 +0000 (UTC) Delivered-To: bugs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1CFADB7D25 for ; Mon, 12 Aug 2019 16:07:54 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 466gjj6wNgz4XC9 for ; Mon, 12 Aug 2019 16:07:53 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CB125105C for ; Mon, 12 Aug 2019 16:07:53 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id x7CG7rSo079515 for ; Mon, 12 Aug 2019 16:07:53 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id x7CG7r0D079514 for bugs@FreeBSD.org; Mon, 12 Aug 2019 16:07:53 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 239803] Problem with concurrent transfer of file descriptors Date: Mon, 12 Aug 2019 16:07:53 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 12.0-STABLE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: knizhnik@garret.ru X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter attachments.mimetype attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Aug 2019 16:07:54 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D239803 Bug ID: 239803 Summary: Problem with concurrent transfer of file descriptors Product: Base System Version: 12.0-STABLE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: knizhnik@garret.ru Attachment #206476 text/plain mime type: Created attachment 206476 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D206476&action= =3Dedit Reporduce the problem with file description corruption Transferring file descriptors to another process without waiting confirmati= ons leads to unexpected behavior: descriptor is successfully transferred but attempt to read from is reported as EOF (recv returns 0). Attached example reproduces the problem (please build it with -pthread opti= on). If number of client threads is set to 1, then problem is not reproduced. Another way to fix the problem is to wait confirmation about descriptor delivery and close socket only after it. It is seems to be critical that socket should not be closed before confirma= tion of the transfer: if we wait confirmation but close socket before, then the problem is still persists. The bug is reproduced at several versions of FreeBSD including 12.0-stable = and also recent Mac-OS/X. There was bug report with similar symptoms: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D131876 But looks likes r343784 is not fixing it. --=20 You are receiving this mail because: You are the assignee for the bug.=