Re: [quicwg/base-drafts] unrecoverable loss pattern leads to deadlock (#2863)

Nick Banks <> Sun, 30 June 2019 14:33 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C850C120105 for <>; Sun, 30 Jun 2019 07:33:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.001
X-Spam-Status: No, score=-8.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 0fklQEySlNVd for <>; Sun, 30 Jun 2019 07:33:24 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 9505C1200F7 for <>; Sun, 30 Jun 2019 07:33:24 -0700 (PDT)
Date: Sun, 30 Jun 2019 07:33:23 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1561905203; bh=U/3MIGni9t2PGkO35apHulcx9Pry39kiz8L2yRxs5QE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=rpS6/e4QUGhfmzeX+Phe7c1BVtsbTTwCw6o3WAAiYYOuK8wlDYrXhV6e2jmfgG7iy ayPMnRXBJpYKM24pk79I9qbhxHi6W7COPqsiFKywXAszKLZ4la4j0WGi/gph75KHqF f3Ro3YXxmiqB3vlpFtkPoPPZKa71eQ4Z68rIb59c=
From: Nick Banks <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/2863/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] unrecoverable loss pattern leads to deadlock (#2863)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d18c8331ffc1_61583ff2816cd96050943d"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: nibanks
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 30 Jun 2019 14:33:27 -0000

Sounds like receiving a 1-RTT packet on the client side might need to be another way to confirm the handshake.
From: Marten Seemann <>
Sent: Sunday, June 30, 2019 12:14:22 AM
To: quicwg/base-drafts
Cc: Subscribed
Subject: [quicwg/base-drafts] unrecoverable loss pattern leads to deadlock (#2863)

There's a loss pattern that QUIC cannot recover from:
Assume client and server perform a handshake up to the point just after the server received the ClientFinished message. No packet loss happens so far. Both peers have now completed (but not yet confirmed) the handshake.

Right after sending the ClientFinished, the client sends a 1-RTT packet (e.g. containing application data). This packet is lost. The server sends an acknowledgement for the ClientFinished (in a Handshake packet), and this packet is lost as well. Furthermore, the server also sends a 1-RTT packet (e.g. containing a session ticket). This packet is successfully received and acknowledged by the client.

At this point the endpoint are in the following state: Since it received an acknowledgement for a packet sent with 1-RTT keys, the server now confirmed the handshake, and drops the Handshake keys. On the other hand, the client is still waiting for an acknowledgement for the ClientFinished, and retransmits it. It will however never receive an acknowledgement, since the server dropped the keys already.

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<>, or mute the thread<>.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: