Staring MockWebServerExtension fails with NotSslRecordException
Using armeria 1.32.5 when unsafe is disabled (netty 4.1.121.Final disables unsafe usage by default on jdk24). The following
import com.linecorp.armeria.testing.junit5.server.mock.MockWebServerExtension;
public class Main {
public static void main(String... args) {
System.setProperty("io.netty.noUnsafe", "true");
// unpooled allocator fixes the issue
// System.setProperty("io.netty.allocator.type", "unpooled");
new MockWebServerExtension().start();
}
}
fails with
Exception in thread "main" java.lang.IllegalStateException: failed to validate SSL/TLS configuration: not an SSL/TLS record
at com.linecorp.armeria.server.ServerSslContextUtil.validateSslContext(ServerSslContextUtil.java:88)
at com.linecorp.armeria.server.VirtualHostBuilder.sslContext(VirtualHostBuilder.java:1572)
at com.linecorp.armeria.server.VirtualHostBuilder.build(VirtualHostBuilder.java:1467)
at com.linecorp.armeria.server.ServerBuilder.buildServerConfig(ServerBuilder.java:2310)
at com.linecorp.armeria.server.ServerBuilder.build(ServerBuilder.java:2285)
at com.linecorp.armeria.internal.testing.ServerRuleDelegate.start(ServerRuleDelegate.java:103)
at com.linecorp.armeria.testing.junit5.server.ServerExtension.start(ServerExtension.java:123)
at org.example.Main.main(Main.java:9)
Caused by: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record
at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1202)
at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1441)
at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1484)
at com.linecorp.armeria.server.ServerSslContextUtil.unwrap(ServerSslContextUtil.java:113)
at com.linecorp.armeria.server.ServerSslContextUtil.validateSslContext(ServerSslContextUtil.java:80)
... 7 more
@minwoox You are working on this? Otherwise I would be happy to take this issue
@schiemon I haven't taken a look at it yet. Please go ahead. 🙇
It is an issue inside Netty and it will be fixed in 4.2.2.Final.
EDIT: 4.1.122.Final also resolves this issue.
@schiemon Glad to hear that. Thanks a lot for investigating this issue. 🙇
@laurit I just ran the reproducer with 4.1.122.Final and in fact the issue is resolved 👍