quarkus: Vert.X bump to 4.4.2 lead to `domain socket must not be empty` exception when used with Quarkus Micrometer extension
Describe the bug
https://github.com/quarkusio/quarkus/pull/33416 makes my RESTEasy Classic app with domain socket fail.
Expected behavior
No ex.
Actual behavior
18:54:18,652 INFO [app] 18:54:15,418 An exception 'java.lang.IllegalArgumentException: domain socket must not be empty' [enable DEBUG level for full stacktrace] was thrown by a user handler's exceptionCaught() method while handling the following exception:: java.lang.IllegalArgumentException: domain socket must not be empty
18:54:18,653 INFO [app] at io.vertx.core.impl.Arguments.require(Arguments.java:29)
18:54:18,653 INFO [app] at io.vertx.core.net.impl.SocketAddressImpl.<init>(SocketAddressImpl.java:85)
18:54:18,654 INFO [app] at io.vertx.core.impl.transports.EpollTransport.convert(EpollTransport.java:85)
18:54:18,654 INFO [app] at io.vertx.core.net.impl.ConnectionBase.channelRemoteAddress(ConnectionBase.java:618)
18:54:18,654 INFO [app] at io.vertx.core.net.impl.ConnectionBase.remoteAddress(ConnectionBase.java:631)
18:54:18,655 INFO [app] at io.vertx.core.http.impl.HttpServerWorker.configureHttp1(HttpServerWorker.java:310)
18:54:18,656 INFO [app] at io.vertx.core.http.impl.Http1xUpgradeToH2CHandler.channelRead(Http1xUpgradeToH2CHandler.java:123)
18:54:18,657 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:54:18,657 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:54:18,658 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:54:18,658 INFO [app] at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
18:54:18,659 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
18:54:18,659 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:54:18,660 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:54:18,661 INFO [app] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
18:54:18,661 INFO [app] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
18:54:18,662 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:54:18,663 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:54:18,663 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:54:18,664 INFO [app] at io.vertx.core.http.impl.Http1xOrH2CHandler.end(Http1xOrH2CHandler.java:61)
18:54:18,665 INFO [app] at io.vertx.core.http.impl.Http1xOrH2CHandler.channelRead(Http1xOrH2CHandler.java:38)
18:54:18,665 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:54:18,666 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:54:18,666 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:54:18,667 INFO [app] at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
18:54:18,667 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
18:54:18,668 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:54:18,668 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:54:18,669 INFO [app] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
18:54:18,669 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
18:54:18,670 INFO [app] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:54:18,670 INFO [app] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
18:54:18,671 INFO [app] at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800)
18:54:18,671 INFO [app] at io.netty.channel.epoll.EpollDomainSocketChannel$EpollDomainUnsafe.epollInReady(EpollDomainSocketChannel.java:140)
18:54:18,671 INFO [app] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499)
18:54:18,672 INFO [app] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397)
18:54:18,672 INFO [app] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
18:54:18,673 INFO [app] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
18:54:18,673 INFO [app] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
18:54:18,673 INFO [app] at java.base/java.lang.Thread.run(Thread.java:833)
How to Reproduce?
Reproducer:
git clone git@github.com:michalvavrik/quarkus-test-suite.git
git checkout -b reproducer/domain-socket-vertx-bump
cd quarkus-test-suite/http/http-advanced
mvn clean test
Output of uname -a
or ver
Fedora 38
Output of java -version
17
GraalVM version (if different from Java)
23.2
Quarkus version or git rev
999-SNAPSHOT
Build tool (ie. output of mvnw --version
or gradlew --version
)
MVN 3.9.1
Additional information
No response
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 29 (19 by maintainers)
Commits related to this issue
- chore(deps): update all non-major dependencies to v3.1.2.final (mulk/quarkus-googlecloud-jsonlogging!16) This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---... — committed to benkard/quarkus-googlecloud-jsonlogging by deleted user a year ago
- Update quarkus.version to v3 (major) (mulk/mulkcms2!27) This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.quarkus:quarkus-maven-plugin](https://git... — committed to benkard/mulkcms2 by benkard a year ago
that’s indeed something that changed in Netty and we have to workaround it in vertx , for domain sockets we will most likely return the local address as remote address in this case
Thanks clément, will have a look soonish
On Wed, May 31, 2023 at 4:29 PM Clement Escoffier @.***> wrote: