Re: Deadlocking in the transport

Martin Thomson <martin.thomson@gmail.com> Wed, 10 January 2018 22:42 UTC

Return-Path: <martin.thomson@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D299B1241FC for <quic@ietfa.amsl.com>; Wed, 10 Jan 2018 14:42:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gl9o5hNcv_jN for <quic@ietfa.amsl.com>; Wed, 10 Jan 2018 14:42:24 -0800 (PST)
Received: from mail-ot0-x22a.google.com (mail-ot0-x22a.google.com [IPv6:2607:f8b0:4003:c0f::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AA3951205F0 for <quic@ietf.org>; Wed, 10 Jan 2018 14:42:24 -0800 (PST)
Received: by mail-ot0-x22a.google.com with SMTP id s3so534754otc.9 for <quic@ietf.org>; Wed, 10 Jan 2018 14:42:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=SMPKRNdzjp6tQXmQjZ0OuZI6iM+v+vaPGhdYPiDaDeE=; b=qjBvcLmqySnDPagGG4ujoYCYp00uzYK90t7VeS+6W0WJnXSXwBm84RF2fZ10NIOQa8 g7ZLXf61MfozmRk8sP9AsHdp5wW+4BsrqxCY2Fkbh+RdK6fgWv4skOryTF2tfqDsz0Cl xNhdUUU9eyeb2795u99hZVRmKju+Mb1VJ4gPCE2J/sUq9d0acmSknm7fhHPMSI6s+CFV GOR6/dp23Ifxb0u7cGwRuooXYrvX0CGAhpwlpcIbbNuHSCElK2wMTDLFcALMPIlHfyNW 8XvHqqZMjcuynzrbMhzxceiub4nCmvpcwXY+i2SFod8tq2nDi42DSKy7HMjOB2huWohE isZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=SMPKRNdzjp6tQXmQjZ0OuZI6iM+v+vaPGhdYPiDaDeE=; b=MKY3dHK/9cElwD6xkZ5PD7IT0zkQ879e5tvkcY06Y8LpKROCdznlOby5Wm/K7YQXXc 7SfJvs4KK+IPqgdQuS6WltulvnqGpy7NQAUOyGYB/gAkvvELqYLHXMfCj9oHUHzFBj8v 1Vijfa/2yPpwvyOV+N+Ju9vASHyG7RJkxPqqr0f1PkXhNyVkFL3gjQnScNbNy8nMQdiR SCcVksiLbJrpfX+9IQTnzOJzhh1KUlImmEbpQkDfZ7eeKmZhN5UUGFJPqYbypxXe7kar X/x7DEME5hxGIzHnVF5ZOAVNxN2pZUgw2dP4Xk/A8tCEyWC6mt6LpzTz/bAnFWCPmGjL za1w==
X-Gm-Message-State: AKwxytcZvYuPf/Htg/jez0iANfWzsac+Pw1JUv0cs0LLNKpk783aqkrH 8QC5APbGWD1v4ZQvhHOlasx7YuLByKmCShFsuJM=
X-Google-Smtp-Source: ACJfBovNfETW1ZTNXZw0I/GoCFI24eUA1kb+A0V4LqXypbQKmJLyy8GRApXFor1m2lXRS83i0MfyzuIpUtxAa7mEoc0=
X-Received: by 10.157.85.233 with SMTP id z38mr12349113oti.16.1515624144049; Wed, 10 Jan 2018 14:42:24 -0800 (PST)
MIME-Version: 1.0
Received: by 10.157.39.16 with HTTP; Wed, 10 Jan 2018 14:42:23 -0800 (PST)
In-Reply-To: <CAGD1bZbrtMEJE-OOXqG02yWmHy_2baEvaZu=rFCBTtcq94JrOg@mail.gmail.com>
References: <CABkgnnUSMYRvYNUwzuJk4TQ28qb-sEHmgXhxpjKOBON43_rWCg@mail.gmail.com> <CAGD1bZYV7iHg_YarUMqUSnpbAB2q8dwEWO=dHE2wbw8Oea_zfA@mail.gmail.com> <CAD-iZUY-Y-MO_T74JmP6B9XVj=91eVovfcWnE=9s9kd0Ji+CnA@mail.gmail.com> <CAGD1bZa7ugOTT11qOKfCm4NFdi+t-pdrXnscWHgg0bO5tgUqmg@mail.gmail.com> <20180110194716.GA30573@ubuntu-dmitri> <CAGD1bZYiDOakLYNppMBr=99JreX3Xr2zkS7O2DRNfvr_o0NUbg@mail.gmail.com> <20180110200646.GB30573@ubuntu-dmitri> <CAGD1bZa-ZOw5J6oSWBYdk3uYHOpGvak+vwGp0XsZB44zbLvRrw@mail.gmail.com> <20180110202357.GC30573@ubuntu-dmitri> <CAGD1bZbPM3wnatLLN5938wGPo3e1qmxnGzobSTym6XX3W8FNJQ@mail.gmail.com> <CABkgnnU3CQkvd7m+G80sCOPJfzb_=HonbRDSQJC8wqD_uWoj0w@mail.gmail.com> <CAGD1bZbrtMEJE-OOXqG02yWmHy_2baEvaZu=rFCBTtcq94JrOg@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Thu, 11 Jan 2018 09:42:23 +1100
Message-ID: <CABkgnnWtmprf291pBgTOrfi6yU9tXSfKi5J5uQpm7Z4JHuiGWg@mail.gmail.com>
Subject: Re: Deadlocking in the transport
To: Jana Iyengar <jri@google.com>
Cc: Charles 'Buck' Krasic <ckrasic@google.com>, QUIC WG <quic@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/xEZNQrn61N4-XULkf5YRndA7TsI>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Jan 2018 22:42:27 -0000

On Thu, Jan 11, 2018 at 9:39 AM, Jana Iyengar <jri@google.com> wrote:
> Yes, I think there's easy misinterpretation here -- something I realized
> today as I've had conversations about this. What I meant was specifically at
> the API between the app and the transport, at the sender. This is basically
> saying that to avoid deadlock due to dependencies across streams, the
> transport write API must allow the app to express strict priorities.

Ahh, excellent, then I think at least we two are in agreement.  It
seems like there is an emerging acceptance of the problem and proposed
approach, I guess we might start considering how to address it.

I think that this needs to be in the main spec.  Failing to document
this sort of pitfall could be fatal.  Does anyone disagree?