RFR: 8374368: Invalid java.nio.channels.spi.SelectorProvider value results in ClassNotFoundException instead of falling back to default provider

Shruthi Acharya sacharya at openjdk.org
Fri Dec 26 05:46:57 UTC 2025


On Fri, 26 Dec 2025 05:27:53 GMT, Shruthi Acharya <sacharya at openjdk.org> wrote:

> Fall back to the default SelectorProvider by logging an error when an invalid provider is specified via the java.nio.channels.spi.SelectorProvider system property.
> The bug report for the same: https://bugs.openjdk.org/browse/JDK-8374368

Validated the fix with the personal build

SelectorTypeCheck.java

import java.nio.channels.Selector;
public class SelectorTypeCheck {
    public static void main(String[] args) throws Exception {
        try (Selector selector = Selector.open()) {
            System.out.println("Selector provider: " + selector.provider());
            System.out.println("Selector implementation class: " + selector.getClass().getName());
        }
    }
}



jdk/bin/java SelectorTypeCheck
Selector provider: sun.nio.ch.EPollSelectorProvider at 68968cd4
Selector implementation class: sun.nio.ch.EPollSelectorImpl


jdk/bin/java -Djava.nio.channels.spi.SelectorProvider=abc SelectorTypeCheck

Invalid SelectorProvider specified: abc. Falling back to default provider.
Selector provider: sun.nio.ch.EPollSelectorProvider at 7f1338e3
Selector implementation class: sun.nio.ch.EPollSelectorImpl


jdk/bin/java -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider SelectorTypeCheck

Selector provider: sun.nio.ch.PollSelectorProvider at b3462c23
Selector implementation class: sun.nio.ch.PollSelectorImpl


Also I have triggred java_nio, java_io and jdk_net tests. All of them are passing

20:55:05  TEST TARGETS SUMMARY
20:55:05  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
20:55:05  PASSED test targets:
20:55:05  	jdk_io_0 - Test results: passed: 395 
20:55:05  	jdk_io_1 - Test results: passed: 395 
20:55:05  	jdk_nio_0 - Test results: passed: 445 
20:55:05  	jdk_nio_1 - Test results: passed: 445

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28998#issuecomment-3692179969


More information about the nio-dev mailing list