Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added new issue , see DOCU-1823

Systems

Tomcat

Trailing slash issue

When accessing the webapp without the trailing slash after the context http://localhost:8080/magnoliaAuthor after login the user is presented with a 404 page rather than admincentral.  This behavior is configurable via the mapperContextRootRedirectEnabled and mapperDirectoryRedirectEnabled attributes of the Context which may be used to restore the previous behavior. See Tomcat 9.0.0.M2 in https://tomcat.apache.org/tomcat-9.0-doc/changelog.html.

Oracle WebLogic and IBM WebSphere

commons-lang

When deploying on Oracle WebLogic 12c, there is a version conflict while using commons-lang. Oracle WebLogic-12c is distributed with commons-lang-2.5.jar, JackRabbit with commons-lang-2.6.jar and Magnolia with commons-lang-2.1.jar.

To resolve this issue, modify setDomainEnv.sh of Oracle WebLogic and add commons-lang-2.6.jar to the PRE_CLASSPATH

Bouncy Castle

Magnolia uses the Bouncy Castle cryptography package to decode the license key and to secure the activation process. Oracle WebLogic 12c is distributed with bcprov-jdk16-1.45.jar but Magnolia is distributed with bcprov-jdk15on-1.58.jar. This leads to a library version conflict.

Symptom: after inserting valid license key into the Magnolia license form, the error message "License is empty" is displayed.

To resolve, do one of the following:

  • Edit setDomainEnv.sh in Oracle WebLogic and add bcprov-jdk15on-1.58.jar to PRE_CLASSPATH or
  • Remove bcprov-jdk16-1.45.jar from Oracle WebLogic 12c common libraries.

Google Guava

Magnolia cannot render images stored in dam workspace. Google Guava library is used by the DAM API which is used for working with images.

Symptom:

Code Block
languagenone
java.lang.RuntimeException: java.lang.NoClassDefFoundError: Could not initialize class com.google.common.cache.LocalCache

Workaround:

 Modify the weblogic.xml file in your application's WEB-INF folder with the prefer-application-packages  element:

Code Block
languagexml
firstline1
<container-descriptor>
   <prefer-application-packages>
	 <package-name>com.google.common.*</package-name>
   </prefer-application-packages>
</container-descriptor>

Oracle WebLogic and IBM WebSphere deployment issue with jBPM 6

jBPM 6 cannot be deployed on Oracle WebLogic or IBM WebSphere. jBPM is included in the Magnolia Workflow module. All deployment methods are affected: Administration Console, Oracle WebLogic.Deployer, wldeploy Ant task and autodeploy directory.

Symptom:

Code Block
languagenone
weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.jbpm.services.task.lifecycle.listeners.TaskLifeCycleEventListener

Workaround:

  1. Deploy an application which doesn't contain Magnolia Workflow with jBPM6, for example Magnolia 5.2.2 or Magnolia 5.3 without the Workflow module.
  2. In the deployment target location, replace the deployed webapp with a new webapp that contains workflow with jBPM6

Windows

Firewall is blocking Java

Allow an exception in Windows Firewall for Java.

  1. Go to Control Panel > Windows Firewall.
  2. Go to the Exceptions tab.
  3. Click Add Program and browse to the java.exe file in the Java installation directory, for example C:\Sun\SDK\jdk\bin\java.exe.
  4. Click OK.

If you get a security alert during startup, check the Private networks checkbox and click Allow access.

Image Removed

CATALINA_HOME environment variable is not defined

CATALINA_HOME environment variable identifies the Tomcat home directory, for example C:\Program Files\magnolia\apache-tomcat. Usually Magnolia finds this directory automatically. When you type magnolia_control.bat start in the bin directory to start the system, a second script named startup.bat tries to find Tomcat home. It assumes that Tomcat home is one level above the bin directory where you issued the command, and sets the value of CATALINA_HOME to that directory.

Code Block
C:\Program Files
    magnolia
        apache-tomcat   <-- Tomcat home directory
            bin         <-- magnolia_control.bat is here

However, if you added the bin directory to your PATH environment variable you can execute magnolia_control.bat from anywhere. This means startup.bat does not find Tomcat home directory by simply moving up one level from where you are and displays the following error:

Image Removed

To correct this define CATALINA_HOME in environment variables. Follow the instructions in Set JAVA_HOME environment variable.

JAR file does not start

When installing the Enterprise Edition on Windows, you can start the installer by double-clicking the JAR file. If this does not work there is a chance that some application on your system has registered the .jar extension.

You can try to fix it yourself by restoring the association of the .jar extension with the javaw.exe executable. .Right-click the JAR file and select Open With. Typically the javaw.exe file is in C:\Program Files (x86)\java\jre6\bin). Alternatively, start the installer from a command prompt with the following command: java -jar magnolia-enterprise-installer-x.y.z.jar. Make sure the file extension is .jar. Internet Explorer has a tendency to append or change it to .zip.

...

Reloading a page causes a 404 error

When you open a page for editing and reload it in the browser, an extra semicolon is added to the URL fragment and the server returns a 404 error. Every subsequent reload adds another semicolon. This issue occurs with older versions of the Tomcat application server. To resolve this issue, upgrade to Tomcat 7.0.47+. See 

Jira
serverMagnolia - Issue tracker
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyMGNLUI-2426

Tomcat 8 using BCEL may throw class format exception

Multiexcerpt include
MultiExcerptNameissue
PageWithExcerpt_known issue with tomcat 8.5x JAVA EE and BCEL

Oracle WebLogic, IBM WebSphere

commons-lang

When deploying on Oracle WebLogic 12c, there is a version conflict while using commons-lang. Oracle WebLogic-12c is distributed with commons-lang-2.5.jar, JackRabbit with commons-lang-2.6.jar and Magnolia with commons-lang-2.1.jar.

To resolve this issue, modify setDomainEnv.sh of Oracle WebLogic and add commons-lang-2.6.jar to the PRE_CLASSPATH

Bouncy Castle

Magnolia uses the Bouncy Castle cryptography package to decode the license key and to secure the activation process. Oracle WebLogic 12c is distributed with bcprov-jdk16-1.45.jar but Magnolia is distributed with bcprov-jdk15on-1.58.jar. This leads to a library version conflict.

Symptom: after inserting valid license key into the Magnolia license form, the error message "License is empty" is displayed.

To resolve, do one of the following:

  • Edit setDomainEnv.sh in Oracle WebLogic and add bcprov-jdk15on-1.58.jar to PRE_CLASSPATH or
  • Remove bcprov-jdk16-1.45.jar from Oracle WebLogic 12c common libraries.

Google Guava

Magnolia cannot render images stored in dam workspace. Google Guava library is used by the DAM API which is used for working with images.

Symptom:

Code Block
languagenone
java.lang.RuntimeException: java.lang.NoClassDefFoundError: Could not initialize class com.google.common.cache.LocalCache

Workaround:

 Modify the weblogic.xml file in your application's WEB-INF folder with the prefer-application-packages  element:

Code Block
languagexml
firstline1
<container-descriptor>
   <prefer-application-packages>
	 <package-name>com.google.common.*</package-name>
   </prefer-application-packages>
</container-descriptor>

Deployment issue with jBPM 6

jBPM 6 cannot be deployed on Oracle WebLogic or IBM WebSphere. jBPM is included in the Magnolia Workflow module. All deployment methods are affected: Administration Console, Oracle WebLogic.Deployer, wldeploy Ant task and autodeploy directory.

Symptom:

Code Block
languagenone
weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.jbpm.services.task.lifecycle.listeners.TaskLifeCycleEventListener

Workaround:

  1. Deploy an application which doesn't contain Magnolia Workflow with jBPM6, for example Magnolia 5.2.2 or Magnolia 5.3 without the Workflow module.
  2. In the deployment target location, replace the deployed webapp with a new webapp that contains workflow with jBPM6

OS X / macOS

Magnolia starts up very slowly

Your Magnolia instance starts up very slowly, noticeably more than before. You may encounter this after upgrading your macOS to Sierra 10.12 or later.

Workaround:

  1. Open a terminal and figure out the hostname of your Mac. To get the hostname, use the command hostname.

    Code Block
    languagetext
    hostname
    joesLittleMacBookPro.local

    The command returns the hostname of your Mac. In the given example, the hostname is joesLittleMacBookPro.local.

  2. Open the file /etc/hosts with an editor of your choice. You will edit the file in the next step.
    The file belongs to the system user root. Your user must belong to the group admin; otherwise, you cannot save the changes to the file. You will be asked for your password either when opening the file or when trying to save it.

  3. Add these two lines to /etc/hosts:

    Code Block
    languagetext
    title/etc/hosts
    127.0.0.1   <hostname>
    ::1         <hostname>

    In place of <hostname>, use your real hostname.
    Most probably, your hosts file already contains entries starting with 127.0.0.1 and with ::1. Just add the real host name at the end of one line that starts with ::1 and at the end of another line that starts with 127.0.0.1. Make sure to add a space character before the hostname.
    With the given hostname, the two lines would look like this:

    Code Block
    languagetext
    title/etc/hosts
    127.0.0.1   localhost joesLittleMacBookPro.local
    ::1         localhost joesLittleMacBookPro.local
  4. Save the file. The system may ask you for your password.

Further information:

Windows

Firewall is blocking Java

Allow an exception in Windows Firewall for Java.

  1. Go to Control Panel > Windows Firewall.
  2. Go to the Exceptions tab.
  3. Click Add Program and browse to the java.exe file in the Java installation directory, for example C:\Sun\SDK\jdk\bin\java.exe.
  4. Click OK.

If you get a security alert during startup, check the Private networks checkbox and click Allow access.

Image Added

CATALINA_HOME environment variable is not defined

CATALINA_HOME environment variable identifies the Tomcat home directory, for example C:\Program Files\magnolia\apache-tomcat. Usually Magnolia finds this directory automatically. When you type magnolia_control.bat start in the bin directory to start the system, a second script named startup.bat tries to find Tomcat home. It assumes that Tomcat home is one level above the bin directory where you issued the command, and sets the value of CATALINA_HOME to that directory.

Code Block
C:\Program Files
    magnolia
        apache-tomcat   <-- Tomcat home directory
            bin         <-- magnolia_control.bat is here

However, if you added the bin directory to your PATH environment variable you can execute magnolia_control.bat from anywhere. This means startup.bat does not find Tomcat home directory by simply moving up one level from where you are and displays the following error:

Image Added

To correct this define CATALINA_HOME in environment variables. Follow the instructions in Set JAVA_HOME environment variable.

JAR file does not start

When installing the Enterprise Edition on Windows, you can start the installer by double-clicking the JAR file. If this does not work there is a chance that some application on your system has registered the .jar extension.

You can try to fix it yourself by restoring the association of the .jar extension with the javaw.exe executable. .Right-click the JAR file and select Open With. Typically the javaw.exe file is in C:\Program Files (x86)\java\jre6\bin). Alternatively, start the installer from a command prompt with the following command: java -jar magnolia-enterprise-installer-x.y.z.jar. Make sure the file extension is .jar. Internet Explorer has a tendency to append or change it to .zip.

Other issues

H2 does not accept more than one connection

Our default configuration uses the server mode for H2. If you migrate from Magnolia below 5.5.9 in the 5.5 branch or below 5.6.2 in the 5.6 branch and try to initiate a backup call using CLI or REST, it fails because H2 does not allow more than one connection at a time. Configure H2 to run in server mode by adding AUTO_SERVER=TRUE in the URL parameters: 

<param name="url" value="jdbc:h2:${wsp.home}/db;AUTO_SERVER=TRUE" />

<param name="url" value="jdbc:h2:${rep.home}/version/db;AUTO_SERVER=TRUE" />

See 

Jira
serverMagnolia - Issue tracker
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId500b06a6-e204-3125-b989-2d75b973d05f
keyMGNLCE-114

Log full of index rules warnings when upgrading from 5.4.x directly to 6.0.x

...

For issues related to publishing/activation keys and the handshaking process, see either the Publishing or errors page or the Activation errors page, depending on the module you use.