Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.x: gRPC handler send :status headers twice #7991

Closed
lilac opened this issue Nov 13, 2023 · 0 comments · Fixed by #7995
Closed

4.x: gRPC handler send :status headers twice #7991

lilac opened this issue Nov 13, 2023 · 0 comments · Fixed by #7995
Labels
4.x Version 4.x bug Something isn't working grpc P2

Comments

@lilac
Copy link
Contributor

lilac commented Nov 13, 2023

Environment Details

  • Helidon Version:
    • Helidon SE
  • JDK version: 21
  • OS: Mac
  • Docker version (if applicable):

Problem Description

Calls to a simple echo gRPC server from Postman or other gRPC clients result in an internal error. The error message is like Received RST_STREAM with code 1.

image

Steps to reproduce

This issue can be reproduced every time a gRPC method is called from a strict gRPC client like postman. I've capture the data packets, and found the root cause of it: 2 headers frames both have set the:status header.

Below are quoted from the http/2 standard

Pseudo-header fields MUST NOT appear in a trailer section.

The same pseudo-header field name MUST NOT appear more than once in a field block. A field block for an HTTP request or response that contains a repeated pseudo-header field name MUST be treated as malformed (Section 8.1.1).

Apparently the current gRPC implementation does not conform to that.

First headers frame

image

Second headers frame

image
@lilac lilac changed the title gRPC handler send headers frames with end_headers flags set twice 4.x: gRPC handler send headers frames with end_headers flags set twice Nov 13, 2023
@lilac lilac changed the title 4.x: gRPC handler send headers frames with end_headers flags set twice 4.x: gRPC handler send :status headers twice Nov 13, 2023
@m0mus m0mus added bug Something isn't working grpc 4.x Version 4.x P2 labels Nov 13, 2023
@m0mus m0mus added this to Backlog Aug 12, 2024
@m0mus m0mus moved this to Closed in Backlog Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4.x Version 4.x bug Something isn't working grpc P2
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants