Symptoms
After restarting the server or recovering from a filesystem corruption, cPanel's Dovecot Solr service fails with the following errors:
Note: The failure reason will appear in the console log at this path "/home/cpanelsolr/server/logs/solr-8984-console.log".
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 12)
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 12)
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 12)
OpenJDK 64-Bit Server VM warning: Failed to reserve shared memory. (error = 12)
java.lang.InternalError: java.util.zip.ZipException: error in opening zip file
at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:1052)
at sun.misc.URLClassPath.getResource(URLClassPath.java:249)
at sun.misc.URLClassPath.getResource(URLClassPath.java:302)
at java.lang.ClassLoader.getBootstrapResource(ClassLoader.java:1257)
at java.lang.ClassLoader.getResource(ClassLoader.java:1086)
at java.lang.ClassLoader.getResource(ClassLoader.java:1084)
at java.lang.ClassLoader.getSystemResource(ClassLoader.java:1219)
at java.lang.ClassLoader.getSystemResourceAsStream(ClassLoader.java:1322)
at java.lang.Class.getResourceAsStream(Class.java:2221)
at sun.text.normalizer.ICUData.getStream(ICUData.java:61)
at sun.text.normalizer.ICUData.getRequiredStream(ICUData.java:81)
The critical error is the failure to open the zip file. Java stores jar files as zip archives.
Description
During filesystem corruption events or server failures, it could cause files in the server to need a repair or restore. If these files are related to services, you may need to reinstall the said service or related functionalities. If any associated java files are corrupted, it will cause the "cpanel-dovecot-solr" service to start failing.
Workaround
Reinstall Java and Dovecot solr packages with yum.
yum reinstall java-1.8.0-openjdk-headless cpanel-dovecot-solr cpanel-dovecot-solr-contrib cpanel-dovecot-solr-contrib-extraction cpanel-dovecot-solr-docs cpanel-dovecot-solr-server