Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 347898

Summary: SslSelectChannelConnector is closed if one SSLEngine cannot be created/configured
Product: [RT] Jetty Reporter: Simone Bordet <simone.bordet>
Component: serverAssignee: Greg Wilkins <gregw>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: jetty-inbox
Version: 7.4.2   
Target Milestone: 7.4.x   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Simone Bordet CLA 2011-06-01 05:37:17 EDT
It may happen that SSLEngine throws an exception when it is configured, for example:

<pre>
 2011-05-31 18:12:05.793:WARN::Error creating SSLEngine -- closing this connector
java.lang.NullPointerException
	at com.sun.net.ssl.internal.ssl.JsseJce.isEcAvailable(JsseJce.java:166)
	at com.sun.net.ssl.internal.ssl.CipherSuite$KeyExchange.isAvailable(CipherSuite.java:280)
	at com.sun.net.ssl.internal.ssl.CipherSuite.isAvailable(CipherSuite.java:145)
	at com.sun.net.ssl.internal.ssl.CipherSuiteList.<init>(CipherSuiteList.java:70)
	at com.sun.net.ssl.internal.ssl.SSLEngineImpl.setEnabledCipherSuites(SSLEngineImpl.java:1763)
	at org.eclipse.jetty.server.ssl.SslSelectChannelConnector.customizeEngine(SslSelectChannelConnector.java:601)
	at org.eclipse.jetty.server.ssl.SslSelectChannelConnector.createSSLEngine(SslSelectChannelConnector.java:580)
	at org.eclipse.jetty.server.ssl.SslSelectChannelConnector.newEndPoint(SslSelectChannelConnector.java:543)
	at org.eclipse.jetty.server.nio.SelectChannelConnector$ConnectorSelectorManager.newEndPoint(SelectChannelConnector.java:399)
	at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.createEndPoint(SelectorManager.java:849)
	at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:433)
	at org.eclipse.jetty.io.nio.SelectorManager.doSelect(SelectorManager.java:228)
	at org.eclipse.jetty.server.nio.SelectChannelConnector$1.run(SelectChannelConnector.java:268)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)
	at java.lang.Thread.run(Thread.java:662)
</pre>

If this happens, currently the whole connector is close, which is bad as it leaves the server totally useless.
Comment 1 Greg Wilkins CLA 2011-06-01 08:32:32 EDT
r3374