-
Notifications
You must be signed in to change notification settings - Fork 435
Closed
Description
moving from #350 (comment).
New Issue Checklist
- Updated grpc-swift to the latest version
- I read the Contribution Guidelines
- I searched for existing GitHub issues(especially, there are many resolved issues related to SSL)
Issue Description
A SwiftNIO-based gRPC server can crash when sent an empty HTTP request, e.g. curl http://localhost:8080
:
Complete output when running grpc-swift, including the stack trace and command used
$ swift run EchoNIO serve
starting insecure server
Precondition failed: : file /Users/timburks/Desktop/grpc-swift/.build/checkouts/swift-nio.git-3446246794268775558/Sources/NIOHTTP1/HTTPServerProtocolErrorHandler.swift, line 67
Illegal instruction: 4
That's a NIO precondition, and it gets hit if the HTTPServerRequestParts are being sent out-of-order. Specifically, in this case, we received a sequence of parts where we received a
.end
before a.head
.
Environment
Key Value OS Version Mac OS 10.14.3 Swift Version 4.2.1 gRPC-Swift Version 0.7.0 / master
Metadata
Metadata
Assignees
Labels
No labels