Re: QUIC error codes -- too many *and* too few

Jana Iyengar <jri@google.com> Wed, 22 March 2017 21:27 UTC

Return-Path: <jri@google.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 EB84C12922E for <quic@ietfa.amsl.com>; Wed, 22 Mar 2017 14:27:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 eRHjn71ethu4 for <quic@ietfa.amsl.com>; Wed, 22 Mar 2017 14:26:59 -0700 (PDT)
Received: from mail-vk0-x236.google.com (mail-vk0-x236.google.com [IPv6:2607:f8b0:400c:c05::236]) (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 07E37127097 for <quic@ietf.org>; Wed, 22 Mar 2017 14:26:58 -0700 (PDT)
Received: by mail-vk0-x236.google.com with SMTP id r69so26384095vke.2 for <quic@ietf.org>; Wed, 22 Mar 2017 14:26:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=v6RNCJMEi5ozcZyS8HxrAKjEe1hx7BjAdPxwBG4ALNM=; b=VmVNMtOKOtffIal6Gw538i9ZAiODQumT35woH9bBj0pqWB1DHfyk/3gPRdAe0TAYEf 1tbr/dNQSvjC7E0RLTD70/OWTszAHiJnmeJ/OU2jYo8je9M+Xt560KxWkhgiFepMZtjt vaQsEJymNBA9vgC5fDgDRw92DxVhJSQJzYjbcFv+qDaTUggJK5uwO+Z57Z22AYgvdUi+ FjWFs0ouIbtHv0f/w1riWL0KPPKCHx2pZ4U+MtF8QCOTx78izxnSBlpSpPV7W97ou+FQ 29/z+9hnfHjeN3oxjC2ln2KdwcPmVX2b6XA1Z/PodsBOaotV/7it2r/fyQlF8g4bWrIR /1xQ==
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=v6RNCJMEi5ozcZyS8HxrAKjEe1hx7BjAdPxwBG4ALNM=; b=hjM+ktBYIAeV9ywjYQrk7lJgtsJGochKhGJUsXurLt+D+vSkQHzDIukuHM29S6eJv+ T2aWdbK+qld5bIEExBqHzVVRpRMcDvvnwsmZ9ksjK9PsJRqGmBaPFfXr9ZKeos/Xah6O 4QPf94AbLUfCSg03ghLCimycYTyJ7d4mf1bx7OO1JrU9vird/0fjj+cSullzeIc552p4 MO2ccUxWbLS7qlIwAdxj1iWF2mPrw2ML2CVnUBR3sWGedBIIgpDp6LII2DjEo+vUv6Z9 CbgYs9IjS0JxpqaC1F+Ynt9touPwrFHBQ/K/dMYnB1h/QrNP4ImsIb+BQHbrR6t800Nn hGow==
X-Gm-Message-State: AFeK/H2gL2wQSaY3YD+/+BWkugdLjyCaqD9lLLyulVy2mhKqxY3BYNCm8lZv6oJkvYq0EsLO1f7aG6K9B3pRBy8c
X-Received: by 10.159.36.238 with SMTP id 101mr3639844uar.61.1490218017624; Wed, 22 Mar 2017 14:26:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.103.15.6 with HTTP; Wed, 22 Mar 2017 14:26:57 -0700 (PDT)
In-Reply-To: <CAGudDpMEw9DwuYg_mgGy6VrS=wdvZ20bzwA7Bs1sAc+gZzKrEw@mail.gmail.com>
References: <CAGudDpMEw9DwuYg_mgGy6VrS=wdvZ20bzwA7Bs1sAc+gZzKrEw@mail.gmail.com>
From: Jana Iyengar <jri@google.com>
Date: Wed, 22 Mar 2017 14:26:57 -0700
Message-ID: <CAGD1bZbNg3LGZmpc-YcMpBWsVUGBKiVqE0PQQ7zUWWh2sjSHVA@mail.gmail.com>
Subject: Re: QUIC error codes -- too many *and* too few
To: "Aron ." <aron.schats@gmail.com>
Cc: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="001a1139895494b6af054b586b15"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/IlaGeP64UOUNuJJFGi438inhoG4>
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, 22 Mar 2017 21:27:01 -0000

Hi Aron,

Yes, this is definitely an issue we want to address going forward. Issue 211
<https://github.com/quicwg/base-drafts/issues/211> was filed for exactly
this.

- jana

On Wed, Mar 22, 2017 at 10:50 AM, Aron . <aron.schats@gmail.com> wrote:

> Dear QUICsters,
>
> I believe that the QUIC protocol specification goes overboard in trying to
> have an error code for each error condition.  Of course, the roots of this
> are historic: since both first client and server use the same code base, it
> makes sense to enumerate all possible errors to facilitate debugging.  (An
> error code like QUIC_MAYBE_CORRUPTED_MEMORY is a good example of this.)
> However, as the number of QUIC implementations grows, a list of errors this
> long and this specific is, I think, ill-advised.
>
> My copy of *HTTP: The Definitive Guide (O'Reilly, 2002)* lists a
> grand total of eighteen 400-level codes.  15 years later, Wikipedia's
> list of HTTP status codes
> <https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_errors>
> has twenty-eight.  draft-ietf-quic-transport.md
> <https://github.com/quicwg/base-drafts/blob/master/draft-ietf-quic-transport.md>
> has about sixty.  What is the client to do with these error codes?  It can
> probably not do much more than log them.
>
> On the server side, finding a matching error code for an error condition
> would probably be a difficult task, especially if the implementation folds
> several checks into one.  Other error codes are potential information
> leaks, such as some crypto-related codes.
>
> In regards to having too few error codes, it would be useful to have two
> catch-all error codes (like HTTP 400 and 500), one for client errors and
> one for server errors, which could be used (something like a MAY in the
> spec?) when an appropriate error code does not exist.
>
>   An aspiring QUIC implementer.
>
>