diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/SocketIOServer.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/SocketIOServer.java index 0d3a6561..df148a82 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/SocketIOServer.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/SocketIOServer.java @@ -608,8 +608,10 @@ public Future startAsync() { int actualPort = local.getPort(); configCopy.setPort(actualPort); configuration.setPort(actualPort); - } catch (Exception ignore) { + } catch (Exception e) { // keep configured port if localAddress is not InetSocketAddress + log.debug("Could not resolve actual bound port, keeping configured port {}", + configCopy.getPort(), e); } } serverStatus.set(ServerStatus.STARTED); @@ -618,7 +620,7 @@ public Future startAsync() { fireAfterStart(); } else { serverStatus.set(ServerStatus.INIT); - log.error("Failed to start server on port {}", configCopy.getPort()); + log.error("Failed to start server on port {}", configCopy.getPort(), future.cause()); cleanUpResources(false); } }); diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/handler/EncoderHandler.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/handler/EncoderHandler.java index a697d231..65dc23c1 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/handler/EncoderHandler.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/handler/EncoderHandler.java @@ -110,8 +110,9 @@ private void readVersion() throws IOException { version = name + "/" + attrs.getValue("Bundle-Version"); break; } - } catch (IOException E) { - // skip it + } catch (IOException e) { + // A single unreadable manifest must not prevent reading the others + log.debug("Skipping unreadable MANIFEST.MF while resolving version header", e); } } } diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/transport/PollingTransport.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/transport/PollingTransport.java index 1e34aeae..f5524c69 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/transport/PollingTransport.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/transport/PollingTransport.java @@ -128,6 +128,11 @@ private void handleMessage(FullHttpRequest req, UUID sessionId, QueryStringDecod String origin = req.headers().get(HttpHeaderNames.ORIGIN); if (queryDecoder.parameters().containsKey("disconnect")) { ClientHead client = clientsBox.get(sessionId); + if (client == null) { + log.error("{} is not registered. Closing connection", sessionId); + sendError(ctx); + return; + } client.onChannelDisconnect(); ctx.channel().writeAndFlush(new XHRPostMessage(origin, sessionId)); } else if (HttpMethod.POST.equals(req.method())) {