Skip to main content
0x07

FRAME_ENCODING_ERROR

RFC 9000 §20

QUIC FRAME_ENCODING_ERROR (0x07) is sent when a QUIC frame cannot be decoded. The frame type is unknown, the frame is truncated, or the frame contains fields with invalid values. QUIC frames do not have a self-describing format – each type must be explicitly handled, and an unknown or malformed type is fatal.

Code

0x07

Decimal

7

Standard

RFC 9000 §20

Description

QUIC frames are variable-length and type-specific. Each packet contains a sequence of frames, and the receiver must parse every frame type it encounters. RFC 9000 §19 defines all standard frame types. An unknown frame type (one not recognized by the implementation) or a frame that cannot be fully decoded due to truncation or invalid variable-length integer encoding triggers FRAME_ENCODING_ERROR. This is unlike HTTP/2 which defines rules for ignoring unknown frame types. In QUIC, unknown or malformed frames are fatal. This strictness is intentional: QUIC extensions that add new frame types must negotiate support via transport parameters before using them. Common implementation triggers: a malformed variable-length integer in a frame field, a frame whose declared length does not match its actual encoding, or an ACK frame with more ranges than fit in the remaining packet space.

Common Causes

  • Frame type unknown to the receiver (not negotiated as an extension)
  • Malformed variable-length integer in a frame field
  • Frame payload truncated – declared length exceeds packet remainder
  • ACK frame with more acknowledgment ranges than packet space allows
  • QUIC implementation bug generating frames with invalid encoding