Skip to content

stop()/close() not called #155

@afloarea

Description

@afloarea

Version

5.0.8

Context

I noticed that some tests were failing after upgrading from 5.0.7 to 5.0.8

Steps to reproduce

Consider this test:

@ExtendWith(VertxExtension.class)
class MainTest {
    private static final Logger LOG = LoggerFactory.getLogger(MainTest.class);

    @RepeatedTest(2)
    void test(Vertx vertx, VertxTestContext testContext) {
        vertx.deployVerticle(new ServerTestVerticle()).await();
        LOG.info("Deploy done");
        testContext.completeNow();
    }

    public static final class ServerTestVerticle extends VerticleBase {
        private HttpServer server;

        @Override
        public Future<?> start() {
            LOG.info("START");

            server = vertx.createHttpServer();

            server.requestHandler(req -> req.response().send("hello"));

            return server.listen(SocketAddress.domainSocketAddress("/tmp/reproducer.sock"));
        }

        @Override
        public Future<?> stop() {
            LOG.info("STOP");
            return Future.succeededFuture();
        }

    }

}

Running on vert.x 5.0.7, both runs pass, the server is closed, the stop method is called, there is no /tmp/reproducer.sock file after the test runs.
Running on vert.x 5.0.8 however, the first run passes, the second fails, the stop method is not called and the /tmp/reproducer.sock file is still present

I tested this behavior on Linux on MacOS and the same thing happened on both OSes.

At first, I thought it was something related to the vertx instance itself, not closing properly, however I also created a similar experiment but in a main method and it worked fine, the sock file was removed.

Do you have a reproducer?

https://github.com/afloarea/vertx-reproducer

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions