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
OutOfMemoryError getting swallowed by SerializingExecutor #2270
Comments
Can you please print out the stack trace logged? |
Stacktrace follows.
|
I think this is a bug. The ClientCall and ServerCall classes should propagate such exceptions back to the listener. |
I don't think the line you linked to is it, because it only catches |
Somehow the OutOfMemoryError is wrapped with a RuntimeException according to the stacktrace. Not sure who did it though. |
The link I provided in my comment shows the wrapping in |
Looking at this again, it seems like this can happen if the ServerCallStreamObserver has a onReady handler added to it, since thats the only place that stack trace could feasibly come from. @biran0079 Its my guess that yo uhave a onReady handler added somewhere, which is not catching exceptions. I am going to punt this to 1.2. |
You are right. I probably used onReady handler to control response stream so that I don't overwhelm buffer pool. |
The thing is, I don't see your handler in the stack trace. Did you remove it before pasting it? If so that's okay, but it would make me more comfortable closing this bug. |
I am closing this, but feel free to reopen if it is still happening. |
My application throws OutOfMemoryError and got swallowed by following code,
https://github.com/grpc/grpc-java/blob/master/core/src/main/java/io/grpc/internal/SerializingExecutor.java#L156
I hope to handle OutOfMemoryError in my default uncaught exception handler, but it is not happening.
Is this a bug?
The text was updated successfully, but these errors were encountered: