-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
25
-
x86_64
-
windows_10
ADDITIONAL SYSTEM INFORMATION :
Microsoft Windows [Version 10.0.26100.4946]
openjdk version "25" 2025-09-16
OpenJDK Runtime Environment (build 25+36-3489)
OpenJDK 64-Bit Server VM (build 25+36-3489, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
The (almost) famous exception of apaches ssh-client can not be suppressed anymore in an UnaughtExceptionHandler because the threads created now (in Java 25) in the ExecutionService(s) ignore the handlers.
Old stacktrace:
java.lang.IllegalStateException: Executor has been shut down
at org.apache.sshd.common.util.ValidateUtils.createFormattedException(ValidateUtils.java:234)
at org.apache.sshd.common.util.ValidateUtils.throwIllegalStateException(ValidateUtils.java:228)
at org.apache.sshd.common.util.ValidateUtils.checkState(ValidateUtils.java:205)
at org.apache.sshd.common.util.threads.NoCloseExecutor.execute(NoCloseExecutor.java:100)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl.executeOnPooledThread(AsynchronousChannelGroupImpl.java:190)
at java.base/sun.nio.ch.Invoker.invokeIndirectly(Invoker.java:215)
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:191)
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:300)
at java.base/sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.failed(WindowsAsynchronousSocketChannelImpl.java:607)
at java.base/sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:389)
at java.base/java.lang.Thread.run(Thread.java:1583)
Java 25 stacktrace:
Exception in thread "InnocuousThread-910" java.lang.IllegalStateException: Executor has been shut down
at org.apache.sshd.common.util.ValidateUtils.createFormattedException(ValidateUtils.java:234)
at org.apache.sshd.common.util.ValidateUtils.throwIllegalStateException(ValidateUtils.java:228)
at org.apache.sshd.common.util.ValidateUtils.checkState(ValidateUtils.java:205)
at org.apache.sshd.common.util.threads.NoCloseExecutor.execute(NoCloseExecutor.java:100)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl.executeOnPooledThread(AsynchronousChannelGroupImpl.java:178)
at java.base/sun.nio.ch.Invoker.invokeIndirectly(Invoker.java:195)
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:171)
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:280)
at java.base/sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.failed(WindowsAsynchronousSocketChannelImpl.java:587)
at java.base/sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:389)
at java.base/java.lang.Thread.run(Thread.java:1474)
at java.base/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:148)
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
UncaughtExceptionHandlers should not be ignored.
Microsoft Windows [Version 10.0.26100.4946]
openjdk version "25" 2025-09-16
OpenJDK Runtime Environment (build 25+36-3489)
OpenJDK 64-Bit Server VM (build 25+36-3489, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
The (almost) famous exception of apaches ssh-client can not be suppressed anymore in an UnaughtExceptionHandler because the threads created now (in Java 25) in the ExecutionService(s) ignore the handlers.
Old stacktrace:
java.lang.IllegalStateException: Executor has been shut down
at org.apache.sshd.common.util.ValidateUtils.createFormattedException(ValidateUtils.java:234)
at org.apache.sshd.common.util.ValidateUtils.throwIllegalStateException(ValidateUtils.java:228)
at org.apache.sshd.common.util.ValidateUtils.checkState(ValidateUtils.java:205)
at org.apache.sshd.common.util.threads.NoCloseExecutor.execute(NoCloseExecutor.java:100)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl.executeOnPooledThread(AsynchronousChannelGroupImpl.java:190)
at java.base/sun.nio.ch.Invoker.invokeIndirectly(Invoker.java:215)
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:191)
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:300)
at java.base/sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.failed(WindowsAsynchronousSocketChannelImpl.java:607)
at java.base/sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:389)
at java.base/java.lang.Thread.run(Thread.java:1583)
Java 25 stacktrace:
Exception in thread "InnocuousThread-910" java.lang.IllegalStateException: Executor has been shut down
at org.apache.sshd.common.util.ValidateUtils.createFormattedException(ValidateUtils.java:234)
at org.apache.sshd.common.util.ValidateUtils.throwIllegalStateException(ValidateUtils.java:228)
at org.apache.sshd.common.util.ValidateUtils.checkState(ValidateUtils.java:205)
at org.apache.sshd.common.util.threads.NoCloseExecutor.execute(NoCloseExecutor.java:100)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl.executeOnPooledThread(AsynchronousChannelGroupImpl.java:178)
at java.base/sun.nio.ch.Invoker.invokeIndirectly(Invoker.java:195)
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:171)
at java.base/sun.nio.ch.Invoker.invoke(Invoker.java:280)
at java.base/sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.failed(WindowsAsynchronousSocketChannelImpl.java:587)
at java.base/sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:389)
at java.base/java.lang.Thread.run(Thread.java:1474)
at java.base/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:148)
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
UncaughtExceptionHandlers should not be ignored.
- caused by
-
JDK-8345432 (ch, fs) Replace anonymous Thread with InnocuousThread
-
- Resolved
-
- relates to
-
JDK-8348591 Release Note: The Default Thread Pool Used for Asynchronous Channel Operations Now Uses Innocuous Threads
-
- Resolved
-