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
Multiple test failures using AdoptOpenJDK 8u252 (hs) #946
Comments
Following is a test result matrix with more information.
The variants The variant
Note that the matrix above still doesn't indicate the actual cause of failure of each particular test (which varies). Examples of failures: 1. `io.grpc.StatusRuntimeException: UNKNOWN: Channel Pipeline: [SslHandler#0, ProtocolNegotiators$ClientTlsHandler#0, WriteBufferingAndExceptionHandler#0, DefaultChannelPipeline$TailContext#0]` `Caused by: java.lang.NoSuchFieldError: nullSession`That makes sense since the agent can't instrument the target bytecode.
2. `io.grpc.StatusRuntimeException: UNKNOWN: Channel Pipeline: [SslHandler#0, ProtocolNegotiators$ClientTlsHandler#0, WriteBufferingAndExceptionHandler#0, DefaultChannelPipeline$TailContext#0]` `Caused by: java.lang.NoSuchFieldError: nullSession`This one is confusing since the version
UPDATE: apparently both 3. `UNAVAILABLE: Failed ALPN negotiation: Unable to find compatible protocol Channel Pipeline: [SslHandler#0, ProtocolNegotiators$ClientTlsHandler#0, WriteBufferingAndExceptionHandler#0, DefaultChannelPipeline$TailContext#0]`This should have worked. I think the error in this one is on our code, though...
|
Something I realized on my tests is that when running 8u252 the handshake message doesn't include the
Note that the fields listed on each screenshot differ because the first screenshot is a debug session over the Jetty ALPN Another (related?) difference is that when using |
I've narrowed down the problem to how akka-grpc creates Netty's I'm not entirely sure what is the correct sorcery we need to invoke but we're not setting up a |
Note to self: (thanks @raboof) extend the matrix above combining #933 and akka-http#3125 |
The reason why all the tests that use the vanilla In my machine, the vanilla Netty tools decide they can use the
|
To make the build succeed until we fix akka#946
To make the build succeed until we fix akka#946
To make the build succeed until we fix #946
Fixed by #964 |
Inserting a JDK `javax.net.ssl.SSLContext` into Netty originated in commit https://github.com/richdougherty/akka-grpc/blob/aa05239c6cddcb20dfa0770e8e8e7649e3bbaaef/runtime/src/main/scala/akka/grpc/internal/NettyClientUtils.scala#L59-L82 in PR akka#266 It was removed in PR akka#964 to address Issue akka#946 It was returned in PR akka#979 to address Issue akka#978 --- Original comment was ```scala // FIXME: Create a JdkSslContext using a normal constructor. Need to work out sensible values for all args first. // In the meantime, use a Netty SslContextBuild to create a JdkSslContext, then use reflection to patch the // object's internal SSLContext. It's not pretty, but it gets something working for now. ``` --- This commit addresses the original `FIXME` comment, and avoids using deprecated constructors on `io.grpc.netty.shaded.io.netty.handler.ssl.JdkSslContext`
Inserting a JDK `javax.net.ssl.SSLContext` into Netty originated in commit https://github.com/richdougherty/akka-grpc/blob/aa05239c6cddcb20dfa0770e8e8e7649e3bbaaef/runtime/src/main/scala/akka/grpc/internal/NettyClientUtils.scala#L59-L82 in PR #266 It was removed in PR #964 to address Issue #946 It was returned in PR #979 to address Issue #978 --- Original comment was ```scala // FIXME: Create a JdkSslContext using a normal constructor. Need to work out sensible values for all args first. // In the meantime, use a Netty SslContextBuild to create a JdkSslContext, then use reflection to patch the // object's internal SSLContext. It's not pretty, but it gets something working for now. ``` --- This commit addresses the original `FIXME` comment, and avoids using deprecated constructors on `io.grpc.netty.shaded.io.netty.handler.ssl.JdkSslContext`
Versions used
master
on commit52f006d6269ff7867d1abe39e92acb2d6c8486bb
Using SDKman I installed and setup the 8u252 JDK (
sdk use java 8.0.252.hs-adpt
).Note that I can't reproduce any of the failures when rolling back to 8u242.
Expected Behavior
All tests pass when running
sbt test
Actual Behavior
There are multiple test failures (consistently):
The text was updated successfully, but these errors were encountered: