Issue

An error is observed in the error.log that reports "java.io.IOException: Permission denied" and the stack trace has "java.io.File.createTempFile" in it.

01.06.2017 16:34:02.631 *ERROR* [qtp1085110594-4453] org.apache.felix.http.jetty Exception while processing request to /system/console/configMgr/com.adobe.cq.experiencelog.impl.ExperienceLogConfigServlet (java.io.IOException: Permission denied)
java.io.IOException: Permission denied
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createTempFile(File.java:2024)
        at org.apache.felix.cm.file.FilePersistenceManager._store(FilePersistenceManager.java:699)
        at org.apache.felix.cm.file.FilePersistenceManager.store(FilePersistenceManager.java:660)
        at org.apache.felix.cm.impl.CachingPersistenceManagerProxy.store(CachingPersistenceManagerProxy.java:242)
        at org.apache.felix.cm.impl.ConfigurationImpl.storeNewConfiguration(ConfigurationImpl.java:462)
        at org.apache.felix.cm.impl.ConfigurationImpl.<init>(ConfigurationImpl.java:183)

Environment

All versions of AEM

Cause

The user that owns the AEM java process doesn't have proper permissions to write in the java process' temp directory.

Resolution

  1. Find out if the JVM parameter -Djava.io.tmpdir is set on the java process 

    On Linux

     a. Run this command 

    ps -ef | grep java 

    b. Review the JVM parameters searching for -Djava.io.tmpdir

    On Windows, Linux, or Unix:   

     a. Go to http://aem-host:aem-port/system/console/jmx/java.lang%3Atype%3DRuntime

     b. Search for java.io.tmpdir on the page.

  2. Copy the value of java.io.tmpdir to the clipboard.

  3. Go to that path on the Operating System and grant the user that owns the java process full read/write access to that folder.

  4. If you didn't find a java.io.tmpdir parameter, then grant the user access to the default OS temp directory.  In Linux and Unix, this directory is /tmp by default.  In Windows, the directory is under the user's home directory, for example, C:\Users\aemuser\AppData\Local\Temp

Dit werk is gelicentieerd onder de Creative Commons Naamsvermelding/Niet-commercieel/Gelijk delen 3.0 Unported-licentie  De voorwaarden van Creative Commons zijn niet van toepassing op Twitter™- en Facebook-berichten.

Juridische kennisgevingen   |   Online privacybeleid