Troubleshooting CKFinder

This website contains links to software which is either no longer maintained or will be supported only until the end of 2019 (CKFinder 2). For the latest documentation about current CKSource projects, including software like CKEditor 4/CKEditor 5, CKFinder 3, Cloud Services, Letters, Accessibility Checker, please visit the new documentation website.

If you look for an information about very old versions of CKEditor, FCKeditor and CKFinder check also the CKEditor forum, which was closed in 2015. If not, please head to StackOverflow for support.

This article describes some measures that can be taken in case of problems with the CKFinder for Java application.

Debugging CKFinder

CKFinder for Java contains a special debugging mode that makes it easier to troubleshoot the application. This mode can be turned on in the WEB-INF/web.xml file, by setting a new <init-param>debug</init-param> node to true.

<servlet>
	<servlet-name>ConnectorServlet</servlet-name>
	<servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class>
	<init-param>
		<param-name>XMLConfig</param-name>
		<param-value>/WEB-INF/config.xml</param-value>
	</init-param>
	<init-param>
		<param-name>debug</param-name>
		<param-value>true</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

For more information on the web.xml file refer to the Integration article.

With the debugging mode on, CKFinder returns detailed exception information when an error occurs.

important note
The debugging mode should not be turned on by default on a production server and should only be used to diagnose a problem when CKFinder does not work as expected.


Empty Error Messages

Under some circumstances right after installing CKFinder you may get errors about incorrect configuration of the application. In rare cases (usually because of your custom web application settings) it may happen that you will not see any message text either in the dialog window or in your log files.

An empty CKFinder error message window


Here is what you can do to fix it:

  1. Clear Tomcat log files. This step is not obligatory, but if you do not want to go through hundreds of log files that you probably have in your Tomcat, you can clear them. In this way it will be easier for you to find an exception you are interested in.
  2. Deploy the CKFinderJava-x.y.war file (x.y is the version number) on your Apache Tomcat server.
  3. Turn on debugging mode in the CKFinderJava application. In order to achieve this, go to the WEB-INF/web.xml file and set the <init-param>debug</init-param> node to true. See the section above for a more detailed description of the debugging mode.
  4. Start and stop your Apache Tomcat server. This will create a CKFinderJava context file which represents a web application that is run within a particular virtual host. You can find more information about application context here: http://tomcat.apache.org/tomcat-7.0-doc/config/context.html.
  5. If you are using a default Apache Tomcat configuration, your virtual host is localhost and your application context should be placed under {CATALINA_HOME}/conf/Catalina/localhost. The context file has the same name as your application and has an .xml extension. In our default case it will be CKFinderJava-x.y.xml.
  6. Open the context file, find the Context node and add the swallowOutput attribute with its value set to true. The node should look like this: <Context antiJARLocking="true" path="/CKFinderJava" swallowOutput="true" />. This attribute will redirect all errors to the web application logger.
  7. Now start your application again and repeat the steps to return an error. A detailed stacktrace should be visible in the CKFinder dialog window as well as in Tomcat log files.
An empty CKFinder error message window


Support and Help

If you encounter other issues with CKFinder for Java, you can find support on the community forum. Use the contact form from our website to send your questions and comments.