{"record":{"id":"f1631c3f2ab20cbb","repo":"eclipse-vertx/vert.x","slug":"missing-qlog-path-configuration","errorCode":null,"errorMessage":"Missing QLog path configuration","messagePattern":"Missing QLog path configuration","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"vertx-core/src/main/java/io/vertx/core/net/impl/quic/QuicServerImpl.java","lineNumber":257,"sourceCode":"/*\n\n        public void channelInactive(ChannelHandlerContext ctx) {\n          // OK\n          ((QuicChannel) ctx.channel()).collectStats().addListener(f -> {\n//            if (f.isSuccess()) {\n//              System.out.println(\"Connection closed: \" + f.getNow());\n//            }\n            //only test for first connection\n//            ctx.channel().parent().close();\n          });\n        }\n*/\n      });\n\n    QLogConfig qlogCfg = config.getQLogConfig();\n    if (qlogCfg != null) {\n      if (qlogCfg.getPath() == null) {\n        throw new IllegalArgumentException(\"Missing QLog path configuration\");\n      }\n      if (qlogCfg.getTitle() == null) {\n        throw new IllegalArgumentException(\"Missing QLog title configuration\");\n      }\n      if (qlogCfg.getDescription() == null) {\n        throw new IllegalArgumentException(\"Missing QLog description configuration\");\n      }\n      QLogConfiguration qLogConfiguration = new QLogConfiguration(qlogCfg.getPath(),\n        qlogCfg.getTitle(),\n        qlogCfg.getDescription());\n      builder.option(QuicChannelOption.QLOG, qLogConfiguration);\n    }\n    return builder;\n  }\n\n  private class QuicDispatcher extends QuicCodecDispatcher implements Shareable {\n\n    private final ServerID serverID;","sourceCodeStart":239,"sourceCodeEnd":275,"githubUrl":"https://github.com/eclipse-vertx/vert.x/blob/fb308bd8c3f12c79f4ae89bef67fadf6c80d036e/vertx-core/src/main/java/io/vertx/core/net/impl/quic/QuicServerImpl.java#L239-L275","documentation":"Incomplete QLog configuration in QuicServerImpl.createCodecBuilder: a QLogConfig object was supplied but its path field is null, so qlog output cannot be written. The input at fault is QLogConfig.path on the server's QuicConfig.","triggerScenarios":"Thrown at vertx-core/src/main/java/io/vertx/core/net/impl/quic/QuicServerImpl.java:257 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set a writable directory path on QLogConfig","Or remove the QLogConfig to disable qlogging"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fb308bd8c3f12c79f4ae89bef67fadf6c80d036e","analyzedAt":"2026-09-06T11:37:12.241Z","contentChangedAt":"2026-09-06T11:37:12.241Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}