CSP-22262 - Can't load the Plugin Repository - Unable to find resource ' templates repositoryFrame.vm'

Product: Confluence

Environment

Operating System Any
Affect Version/s 2.9
JVM Any
Database Any
Application Server Any

Error Message

org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/templates/repositoryFrame.vm'
at com.atlassian.confluence.util.velocity.ConfigurableResourceManager.loadResource(ConfigurableResourceManager.java:400)
at com.atlassian.confluence.util.velocity.ConfigurableResourceManager.getResource(ConfigurableResourceManager.java:304)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1102)
at org.apache.velocity.runtime.directive.Parse.render(Parse.java:177)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:170)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:318)
at org.apache.velocity.Template.merge(Template.java:254)


Caused by: java.io.FileNotFoundException: /www/apps/confluence/temp/atlassian-plugins-innerjar8828.jar (No such file or directory)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:106)
	at java.io.FileInputStream.<init>(FileInputStream.java:66)
	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)

Symptom

Page crashes and shows stack trace when trying to access the Plugin Repository ('Administration' console -> 'Plugin Repository')

Diagnostics/Test

Check whether the jar file mentioned in the FileNotFoundException is present or not. If it is not, then something has deleted it.

Root Cause

Confluence is storing .jar files in a temporary directory where files are sometimes deleted for some reason. The deletion could be by Confluence itself, some external cleanup program, or human intervention.

This problem is CONF-12856 which is fixed in Confluence 2.9.1.

Solution

  • Restarting Confluence will cause it to recreate the .jar files it needs. (They are "inner" jars from within plugins). However, depending on the cause of the file deletion it may reoccur.
  • Changing the application's temp directory would be a more permanent solution. Eg change the java.io.tmpdir system property to a known directory that will not have its content removed. Changing system properties is done differently depending on the way Confluence is installed, but it is commonly done by changing the JAVA_OPTS.
  • Upgrading to 2.9.1 should also fix the problem.
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.