From nobody Tue Dec 19 14:51:25 2023 X-Original-To: transport@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Svflf2HQnz54MQC for ; Tue, 19 Dec 2023 14:51:26 +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) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Svfld4R1lz4bLq for ; Tue, 19 Dec 2023 14:51:25 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1702997485; a=rsa-sha256; cv=none; b=XN6W4h14VsGO6oS4R0UVj7ewonI1RYn4qqKf5RPLYTdiZs4dfM0gQSghX4w6Qw4V7mHrma lu9y5FPx/VrOwNIe6fqQIVHH/vhkya57WV2yV0d53zZkgr1ceo0aDifwEZQ8ARalvK5Bca tMxKCnRoEX8fQXB5lnDj66rL5S0y22ktwgYjRMn8OLUodqmengRS3NRn5kuLyi35KzSFiX 4jRl3hG1UUU85e3eEq5luWMlLHK2Zh6+SYmKH9CugYp6OYbF6q8DWSNNbV38Iw9VxBtpTc tc8buTyiiS5j7jVRsY2XWVQGUTgVl9ZtW3sQUBWHXusp13pVU/yRKVQlMsvLMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1702997485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5WmAXuCkLXnDtq1VqwynwqTzdPa8yDEEk0SgXRAqksY=; b=Yh3HcvJpP44o7N4gCIvGI6JwA9RAe4F9tUDayWNFoP415U8ZeGlzub8ilR5mgUBif2Cj26 2z4YyNPWwn1T+mDWLO+g4r5s2BkLW2hroj4ZxFsOTirJhL29JAdHslvXN69zgleDTc+KY+ ZeP6zsd5akubiMj0fzEqTPxHAM+lFpja3ju8TKEDMRs1oi2ejbUTJpOWmGicNuX/3rCZSd Q/cCgzrQokKG3TfIveljDhBiJGg5Sf4H20bLv5hg+mO7LhcjQaiygqz7cq+bdGb/6Gn7+j PbB7Lm87yjryL1xTxCyNxSJ9CNVsV+hbvwew9hF5WDgK9Ct09i7csVTePqM3yg== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Svfld27Lvz18Dk for ; Tue, 19 Dec 2023 14:51:25 +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 3BJEpP0X060963 for ; Tue, 19 Dec 2023 14:51:25 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 3BJEpPc8060962 for transport@FreeBSD.org; Tue, 19 Dec 2023 14:51:25 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: transport@FreeBSD.org Subject: [Bug 275798] panic: sackhint bytes rtx >= 0 Date: Tue, 19 Dec 2023 14:51:25 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: rscheff@freebsd.org X-Bugzilla-Status: Closed X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: rscheff@freebsd.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: resolution bug_status Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Discussions List-Archive: https://lists.freebsd.org/archives/freebsd-transport List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-transport@freebsd.org X-BeenThere: freebsd-transport@freebsd.org MIME-Version: 1.0 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D275798 Richard Scheffenegger changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|New |Closed --- Comment #11 from Richard Scheffenegger --- e3b9058e5cd0f541da596624a366e14cabcf2e2a / D43085 was found early on during= a code review after this issue. Completed the inspection of the bblog traces - and confirmed that the above= fix actually addressed the root cause. The issue is indeed connected to an error during ip_output (55 - ENOBUFS), which had to be dealt with appropriately by the TCP stack. The in-depth explanation: When there is no response from the remote side for some time, TCP will retransmit some packets as classical retransmits after a (lengthy) timeout - RTO - outside of SACK. When an ACK with SACK information now arrives, the SACK scoreboard is re-populated (the RTO had previously cleared it all).=20 At a subsequent transmission opportunity, the SACK hole is transmitted - if this transmission fails, the unrolling of the transmission could end up not in the expected state, if the entire hole was to be transmitted. This effect got introduced by the Lost Retransmission Detection (LRD) featu= re, where the hole->rxmit pointer tracks when a retransmission ought to have arrived at the receiver. Once a hole is fully retransmitted, it set to snd_recover. So, in order to elicit this: LRD has to be enabled (now enabled by default in CURRENT) SACK loss recovery must have started RTO occurs Overlapping packets get retransmitted by RTO without SACK SACK information is recovered SACK retransmits same data as RTO - and the entrie hole, but fails due to an internal error If the non-SACK transmission eventually makes it, because of the improper handling of the SACK hole retransmit pointer, we could end up with incorrect accounting - running in to the panic. In the bblog, we can see the ip_output error for the SACK retransmission and preceeding this, a RTO retransmission. Furthermore, the hole->rxmit pointer is exactly the size of the hole beneath snd_recover. --=20 You are receiving this mail because: You are on the CC list for the bug.=