You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Jim Ferenczi (JIRA)" <ji...@apache.org> on 2019/03/07 13:39:00 UTC

[jira] [Resolved] (SOLR-13299) Solr 8 RC2 does not start on Windows with SSL/TLS enabled on Java 8

     [ https://issues.apache.org/jira/browse/SOLR-13299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jim Ferenczi resolved SOLR-13299.
---------------------------------
       Resolution: Fixed
    Fix Version/s: master (9.0)

Thanks [~thetaphi]!

> Solr 8 RC2 does not start on Windows with SSL/TLS enabled on Java 8
> -------------------------------------------------------------------
>
>                 Key: SOLR-13299
>                 URL: https://issues.apache.org/jira/browse/SOLR-13299
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Server
>    Affects Versions: 8.0
>         Environment: Windows 10
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>            Priority: Blocker
>              Labels: Java8
>             Fix For: 8.0, master (9.0)
>
>         Attachments: SOLR-13299.patch
>
>
> When trying to start the Solr 8 release candidate with Java 8 having SSL/TLS enabled, the Windows solr.cmd startup script fails with ALPN not found while complainig about the ALPN JAR file which only works with Java 9+:
> {noformat}
> Waiting up to 30 to see Solr running on port 8983
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.eclipse.jetty.start.Main.invokeMain(Main.java:220)
>         at org.eclipse.jetty.start.Main.start(Main.java:490)
>         at org.eclipse.jetty.start.Main.main(Main.java:77)
> Caused by: java.security.PrivilegedActionException: java.lang.reflect.InvocationTargetException
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1511)
>         ... 7 more
> Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>         at org.eclipse.jetty.util.TypeUtil.construct(TypeUtil.java:663)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:858)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1309)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1214)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newArray(XmlConfiguration.java:936)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1313)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1214)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:842)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1309)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1214)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.access$500(XmlConfiguration.java:326)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration$AttrOrElementNode.getList(XmlConfiguration.java:1442)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration$AttrOrElementNode.getList(XmlConfiguration.java:1417)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:780)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:472)
>         at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:413)
>         at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:311)
>         at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1558)
>         at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1512)
>         ... 9 more
> Caused by: java.lang.IllegalStateException: No Server ALPNProcessors!
>         at org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory.<init>(ALPNServerConnectionFactory.java:53)
>        ... 32 more
>         Suppressed: java.lang.UnsupportedClassVersionError: org/eclipse/jetty/alpn/java/server/JDK9ServerALPNProcessor has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
>                 at java.lang.ClassLoader.defineClass1(Native Method)
>                 at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
>                 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>                 at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
>                 at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
>                 at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
>                 at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
>                 at java.security.AccessController.doPrivileged(Native Method)
>                 at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
>                 at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>                 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>                 at java.lang.Class.forName0(Native Method)
>                 at java.lang.Class.forName(Class.java:348)
>                 at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)
>                 at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>                 at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>                 at org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory.<init>(ALPNServerConnectionFactory.java:60)
>                 ... 32 more
> {noformat}
> Passing “-Dsolr.http1=true” did not help. So it’s impossible to start TLS-enabled Solr with Java 8.
> The Linux startup script chooses the Jetty module "https8" instead of "https" when started with Java 8. This effectively disables HTTP2 with TLS. The same should happen on the Windows startup script.
> The patch is easy, it's just an IF statement missing.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org