Description of problem: Some files installed as part of java-1.8.0-openjdk have wrong permissions (they are not world-readable). For example: $ ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.0.x86_64/jre/lib/ext/cldrdata.jar -rw-------. 1 root root 3860434 May 13 19:40 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.0.x86_64/jre/lib/ext/cldrdata.jar This breaks the whole JVM. Version-Release number of selected component (if applicable): java-1.8.0-openjdk.x86_64 1:1.8.0.0-0.6.b89.fc19 How reproducible: Always. Steps to Reproduce: [kojan@f19 test]$ cat test.java class test { public static void main(String[] _) { System.out.println(new java.util.Date()); } } $ javac test.java $ java test Actual results: Exception in thread "main" java.lang.InternalError: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.0.x86_64/jre/lib/ext/cldrdata.jar (Permission denied) at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:851) at sun.misc.URLClassPath.getResource(URLClassPath.java:202) at java.net.URLClassLoader$1.run(URLClassLoader.java:357) at java.net.URLClassLoader$1.run(URLClassLoader.java:354) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:353) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:410) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.util.ResourceBundle$RBClassLoader.loadClass(ResourceBundle.java:478) at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2618) at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1477) at java.util.ResourceBundle.findBundle(ResourceBundle.java:1441) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1337) at java.util.ResourceBundle.getBundle(ResourceBundle.java:865) at sun.util.resources.LocaleData$1.run(LocaleData.java:164) at sun.util.resources.LocaleData$1.run(LocaleData.java:160) at java.security.AccessController.doPrivileged(Native Method) at sun.util.resources.LocaleData.getBundle(LocaleData.java:160) at sun.util.resources.LocaleData.getTimeZoneNames(LocaleData.java:100) at sun.util.locale.provider.LocaleResources.getTimeZoneNames(LocaleResources.java:261) at sun.util.locale.provider.TimeZoneNameProviderImpl.getDisplayNameArray(TimeZoneNameProviderImpl.java:122) at sun.util.locale.provider.TimeZoneNameProviderImpl.getDisplayName(TimeZoneNameProviderImpl.java:98) at sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter.getName(TimeZoneNameUtility.java:317) at sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter.getObject(TimeZoneNameUtility.java:270) at sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter.getObject(TimeZoneNameUtility.java:256) at sun.util.locale.provider.LocaleServiceProviderPool.getLocalizedObjectImpl(LocaleServiceProviderPool.java:299) at sun.util.locale.provider.LocaleServiceProviderPool.getLocalizedObject(LocaleServiceProviderPool.java:283) at sun.util.locale.provider.TimeZoneNameUtility.retrieveDisplayName(TimeZoneNameUtility.java:135) at java.util.TimeZone.getDisplayName(TimeZone.java:404) at java.util.Date.toString(Date.java:1044) at java.lang.String.valueOf(String.java:2984) at java.io.PrintStream.println(PrintStream.java:821) at test.main(test.java:3) Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.0.x86_64/jre/lib/ext/cldrdata.jar (Permission denied) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:214) at java.util.zip.ZipFile.<init>(ZipFile.java:144) at java.util.jar.JarFile.<init>(JarFile.java:158) at java.util.jar.JarFile.<init>(JarFile.java:95) at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:723) at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:604) at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:684) at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:677) at java.security.AccessController.doPrivileged(Native Method) at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:676) at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:849) ... 34 more Expected results: Current date is printed.
java-1.8.0-openjdk-1.8.0.0-0.7.b89.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/java-1.8.0-openjdk-1.8.0.0-0.7.b89.fc19
The workaround above should be sufficient for now. The root of the problem appears to be java-1.7.0-openjdk (which is used to build java-1.8.0-openjdk), which mangles permissions on 'jar uf': http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-May/023369.html
Package java-1.8.0-openjdk-1.8.0.0-0.7.b89.fc19: * should fix your issue, * was pushed to the Fedora 19 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing java-1.8.0-openjdk-1.8.0.0-0.7.b89.fc19' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-8859/java-1.8.0-openjdk-1.8.0.0-0.7.b89.fc19 then log in and leave karma (feedback).
java-1.8.0-openjdk-1.8.0.0-0.7.b89.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.