Hey everyone,

I have been doing some testing with Java 20 and Solr, trying to test out
some of the vector stuff.

However, when starting Solr with the Java security manager (enabled by
default), I get the following error:


2023-07-07 21:38:56.212 DEBUG (main) [] o.e.j.x.XmlConfiguration
args=[/var/folders/r7/mh0vdwrx7fs6p1rlgfhxzvyc0000gn/T/start_1320566789171896757.properties,
/Users/houstonputman/dev/oss/solr/solr/main/solr/packaging/build/dev/server/etc/jetty.xml,
/Users/houstonputman/dev/oss/solr/solr/main/solr/packaging/build/dev/server/etc/jetty-
gzip.xml,
/Users/houstonputman/dev/oss/solr/solr/main/solr/packaging/build/dev/server/etc/jetty-
http.xml,
/Users/houstonputman/dev/oss/solr/solr/main/solr/packaging/build/dev/server/etc/jetty-
requestlog.xml]
java.lang.reflect.InvocationTargetException
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.eclipse.jetty.start.Main.invokeMain(Main.java:229)
at org.eclipse.jetty.start.Main.start(Main.java:528)
at org.eclipse.jetty.start.Main.main(Main.java:76)
Caused by: java.security.AccessControlException: access denied
("java.io.FilePermission"
"/" "read")
at
java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:488)
at
java.base/java.security.AccessController.checkPermission(AccessController.java:1071)
at
java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:411)
at java.base/java.lang.SecurityManager.checkRead(SecurityManager.java:742)
at java.base/sun.nio.fs.UnixPath.checkRead(UnixPath.java:788)
at
java.base/sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:448)
at java.base/sun.nio.fs.UnixPath.toRealPath(UnixPath.java:912)
at
org.eclipse.jetty.util.resource.PathResource.<init>(PathResource.java:226)
at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:204)
at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:178)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1831)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 4 more

This seems to be happening when loading the temporary properties file that
start.jar creates. Even though, we have a permission that allows reading
from the java temp directory.

This happens all the way back with Solr 9.1 (Jetty 9.x), and it works with
JDK 11 and JDK 17. So it must just be an issue with Java 20 and Jetty.

I'd love to have this fixed for the Solr 9.3 release, but I'm stuck after
getting this far.
Please let me know if anyone else has run into this, and any possible ways
forward.

- Houston

Reply via email to