Description of problem: We use following piece of code in acceptance tests to decide, whether server is listening on localhost:8080 during startup. URL testUrl2 = new URL("http://localhost:8080") testUrl.getText() using this method I get an error message during server stop. I was able to reproduce manually (see steps to reproduce). Version-Release number of selected component (if applicable): EAP 6.3.0.ER2 How reproducible: Always on Windows with JDK 1.7+ Steps to Reproduce: 1. start a standalone server (wait until the server is fully booted) 2. open browser on localhost:8080 3. reload a server via CLI >jboss-cli.bat -c reload 4. reload a browser panel (use Ctrl+R) 5. stop a server via CLI and observe server console output >jboss-cli.bat -c shutdown Actual results: Error messages in log 14:08:01,560 ERROR [stderr] (Thread-58) Exception in thread "Thread-58" java.nio.channels.ShutdownChannelGroupException 14:08:01,607 ERROR [stderr] (Thread-58) at sun.nio.ch.Invoker.invokeIndirectly(Invoker.java:210) 14:08:01,607 ERROR [stderr] (Thread-58) at sun.nio.ch.Invoker.invoke(Invoker.java:176) 14:08:01,607 ERROR [stderr] (Thread-58) at sun.nio.ch.Invoker.invoke(Invoker.java:285) 14:08:01,607 ERROR [stderr] (Thread-58) at sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.failed(WindowsAsynchronousSocketChannelImpl.java:600) 14:08:01,607 ERROR [stderr] (Thread-58) at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:399) 14:08:01,607 ERROR [stderr] (Thread-58) at java.lang.Thread.run(Thread.java:744) Expected results: No Error logs on server stop Additional info: Regression against EAP 6.2.0.GA
This is related to BZ#1075695, see mainly https://bugzilla.redhat.com/show_bug.cgi?id=1075695#c15 and following discussion.
It is a known JVM issue on Windows, and cannot be fixed. I already mentioned it here: https://bugzilla.redhat.com/show_bug.cgi?id=1075695#c15
There is requirement for clean start and stop of the server (having no errors). Thereby this is definitely a blocker for GA and needs to be addressed. One of my suggestions are dropping default usage of NIO2 and use JIO which doesn't have this issue. Or if the errors are harmless manage them and just use proper logging level.
As I just said, it is a JVM issue specific to Windows, and I cannot fix it, this cannot be caught or its "logging" level changed. https://bugs.openjdk.java.net/browse/JDK-7056546 So feel free to change the default connector if needed, it is not an issue for me. The prod build is a good area to do that change.
According to Rémy's comment changing the default connector is an option to fix this. Simple case where customer can hit this: start server / deploy some application / go to application's index page / stop the server.
Yes, but the consequences have to be understood: less scalability, no websockets. This stack trace can occur on shutdown or more generally when stopping the connector.
QE: +1
This issue persists in latest EAP 6.3.0.ER10 bits.
Looking at the history of this, it was agreed this is a JDK issue and won't be fixed. Why it re-surfaced?