Skip to content

grpc-binder: Failed sending oob close transaction #10816

@CCint3

Description

@CCint3

What version of gRPC-Java are you using?

grpc-core: 1.60.1
grpc-stub: 1.60.1
grpc-api: 1.60.1
grpc-binder: 1.60.1

What is your environment?

Android 12

What did you expect to see?

What did you see instead?

When the client process is forcibly killed, the following error occurs in the server process.

How should this error be handled? If there is no need to handle it, can the log be hidden?

BinderTransport: Failed sending oob close transaction
BinderTransport: io.grpc.StatusException: UNAVAILABLE
BinderTransport: 	at io.grpc.Status.asException(Status.java:545)
BinderTransport: 	at io.grpc.binder.internal.BinderTransport.sendTransaction(BinderTransport.java:400)
BinderTransport: 	at io.grpc.binder.internal.BinderTransport.sendOutOfBandClose(BinderTransport.java:412)
BinderTransport: 	at io.grpc.binder.internal.Inbound.closeAbnormal(Inbound.java:293)
BinderTransport: 	at io.grpc.binder.internal.Inbound.closeAbnormal(Inbound.java:280)
BinderTransport: 	at io.grpc.binder.internal.BinderTransport.lambda$shutdownInternal$0(BinderTransport.java:317)
BinderTransport: 	at io.grpc.binder.internal.BinderTransport.$r8$lambda$oQtV0cIJ7P07ABal1DZ4FIrGE8U(BinderTransport.java:0)
BinderTransport: 	at io.grpc.binder.internal.BinderTransport$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
BinderTransport: 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
BinderTransport: 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
BinderTransport: 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
BinderTransport: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
BinderTransport: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
BinderTransport: 	at java.lang.Thread.run(Thread.java:920)
BinderTransport: Caused by: android.os.DeadObjectException
BinderTransport: 	at android.os.BinderProxy.transactNative(Native Method)
BinderTransport: 	at android.os.BinderProxy.transact(BinderProxy.java:571)
BinderTransport: 	at io.grpc.binder.internal.OneWayBinderProxy.transactAndRecycleParcel(OneWayBinderProxy.java:107)
BinderTransport: 	at io.grpc.binder.internal.OneWayBinderProxy$OutOfProcessImpl.transact(OneWayBinderProxy.java:97)
BinderTransport: 	at io.grpc.binder.internal.BinderTransport.sendTransaction(BinderTransport.java:398)
BinderTransport: 	... 12 more

Steps to reproduce the bug

During grpc communication, forcefully killing the client process...

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions