• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

grpc / grpc-java / #20223
89%

Build:
DEFAULT BRANCH: master
Ran 26 Mar 2026 03:09AM UTC
Jobs 1
Files 630
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Mar 2026 02:56AM UTC coverage: 88.688% (-0.03%) from 88.715%
#20223

push

github

ejona86
core: Close InputStream in NoopClientStream.writeMessage() to prevent resource leaks

NoopClientStream.writeMessage() silently discards the InputStream without
closing it. When a Marshaller.stream() returns an InputStream backed by a
ref-counted ByteBuf (e.g. Netty's PooledByteBufAllocator), this causes a
direct memory leak.

This affects any code path where writeMessage() is called on a
NoopClientStream or its subclass FailingClientStream:
- Context cancelled before stream start (ClientCallImpl line 197)
- Compressor not found (ClientCallImpl line 219)
- Deadline already exceeded (ClientCallImpl line 262, via FailingClientStream)
- DelayedStream draining buffered messages after cancellation sets
  realStream to NoopClientStream.INSTANCE

The fix calls GrpcUtil.closeQuietly(message) to ensure the InputStream is
always closed, matching the contract in AbstractStream.writeMessage().

35491 of 40018 relevant lines covered (88.69%)

0.89 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
94.12
-1.18% ../netty/src/main/java/io/grpc/netty/WriteBufferingAndExceptionHandler.java
1
93.21
-0.14% ../okhttp/src/main/java/io/grpc/okhttp/OkHttpClientTransport.java
1
74.23
-1.03% ../servlet/src/main/java/io/grpc/servlet/AsyncServletOutputStreamWriter.java
1
74.14
-0.86% ../servlet/src/main/java/io/grpc/servlet/ServletServerStream.java
1
93.33
-0.48% ../xds/src/main/java/io/grpc/xds/client/ControlPlaneClient.java
2
87.75
-0.4% ../core/src/main/java/io/grpc/internal/DelayedClientCall.java
3
95.07
-0.44% ../core/src/main/java/io/grpc/internal/RetriableStream.java
5
83.02
-9.43% ../core/src/main/java/io/grpc/internal/Http2Ping.java
5
68.18
1.52% ../core/src/main/java/io/grpc/internal/NoopClientStream.java
Jobs
ID Job ID Ran Files Coverage
1 #20223.1 26 Mar 2026 03:09AM UTC 630
88.69
Source Files on build #20223
  • Tree
  • List 630
  • Changed 11
  • Source Changed 0
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20223
  • fbc3a162 on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc