Magnolia 6.1 reached end of life on March 31, 2021. This branch is no longer supported, see End-of-life policy.
...
Multiexcerpt include | ||||
---|---|---|---|---|
|
The NPE may be due to an incorrect initialization of I18nAuthoringSupport
. You may see an error like this in your logs:
If you are using JBoss 7.2 with JDK 11 to deploy Magnolia, you may get an error during installation. To resolve the issue, add the following lines to WEB-INF/jboss-deployment-structure.xml
:
Code Block |
---|
<deployment>
<dependencies>
<module name="jdk.unsupported"/>
</dependencies>
</deployment> |
If you are using the MySQL JDBC driver 8.0.x to install a new Magnolia instance, you may encounter the following error:
Code Block |
---|
2020-02-14 14:35:07,538 ERROR org.apache.jackrabbit.core.RepositoryImpl: |
Code Block |
2019-06-20 15:06:54,955 ERROR agnolia.ui.framework.app.AppInstanceControllerImpl: Sub-app [detail] of app [pages] failed to start Repository: java.lang.NullPointerException: null at info.magnolia.ui.framework.i18n.DefaultI18NAuthoringSupport.createI18NURI(DefaultI18NAuthoringSupport.java:154) |
Workaround: Restart your instances.
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:
Open a terminal and figure out the hostname of your Mac. To get the hostname, use the command hostname
.
Code Block | ||
---|---|---|
| ||
hostname
joesLittleMacBookPro.local |
...
Add these two lines to /etc/hosts
:
Code Block | ||||
---|---|---|---|---|
| ||||
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 hostname 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 | ||||
---|---|---|---|---|
| ||||
127.0.0.1 localhost joesLittleMacBookPro.local
::1 localhost joesLittleMacBookPro.local |
...
org.apache.jackrabbit.core.state.ItemStateException: failed to read bundle (stacktrace on DEBUG log level): deadbeef-face-babe-cafe-babecafebabe: java.sql.SQLSyntaxErrorException: Table '<DATABASE_NAME>.<TABLE_NAME>' doesn't exist |
This happens only when you install a new instance from scratch or create database tables during installation. As a workaround, use JDBC 5.1.x or create the tables manually in your database.
The NPE may be due to an incorrect initialization of I18nAuthoringSupport
. You may see an error like this in your logs:
Code Block |
---|
2019-06-20 15:06:54,955 ERROR agnolia.ui.framework.app.AppInstanceControllerImpl: Sub-app [detail] of app [pages] failed to start java.lang.NullPointerException: null at info.magnolia.ui.framework.i18n.DefaultI18NAuthoringSupport.createI18NURI(DefaultI18NAuthoringSupport.java:154) |
Workaround: Restart your instances.
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:
Open a terminal and figure out the hostname of your Mac. To get the hostname, use the command hostname
.
Code Block | ||
---|---|---|
| ||
hostname
joesLittleMacBookPro.local |
The command returns the hostname of your Mac. In the given example, the hostname is joesLittleMacBookPro.local
.
/etc/hosts
with an editor of your choice. You will edit the file in the next step.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.Add these two lines to /etc/hosts
:
Code Block | ||||
---|---|---|---|---|
| ||||
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 hostname 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 | ||||
---|---|---|---|---|
| ||||
127.0.0.1 localhost joesLittleMacBookPro.local
::1 localhost joesLittleMacBookPro.local |
Further information:
( Tested on Windows 10.) When starting up Tomcat with the Magnolia CLI mgnl start
command, you get a flickering window, the server hangs and nothing is written into the logs. To see the actual error, don't use Magnolia CLI to start Magnolia, start Tomcat directly with <your-magnolia-install-folder>\apache tomcat\bin\catalina.bat run
. This should start Magnolia in the same window and allow you to see the error message:
Code Block |
---|
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap |
The most likely cause is that you are trying to allocate too much heap space in the 32-bit JVM.
Solution: Replace the JVM with a 64-bit version.
See also: Why can't I get a larger heap with the 32-bit JVM?
You get the following error message after a fresh Java installation:
Code Block |
---|
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variables is needed to run this program |
Solution: Set the variables through the "Edit the system environment variables" dialog.
If you get an error like this one:
Code Block |
---|
The JRE_HOME environment variable is not defined correctly
The environment variable is needed to run this program |
then you are most probably attempting to run Tomcat with the JAVA_HOME
variable set but without the JRE_HOME
variable defined.
Solution: Set the JRE_HOME
variable.
If you attempt to start Magnolia via 'mgnl start', and you see no startup executed, check if your JRE_HOME and your JAVA_HOME are set. If so, you may need to remove the environmental variable for JRE_HOME to get Magnolia to start properly.
Allow an exception in Windows Firewall for Java.
C:\Sun\SDK\jdk\bin\java.exe
.If you get a security alert during startup, check the Private networks checkbox and click Allow access.
CATALINA_HOME environment variable identifies the Tomcat home directory, for example C:\Program Files\magnolia\apache-tomcat
. Usually Magnolia finds
Further information:
( Tested on Windows 10.) When starting up Tomcat with the Magnolia CLI mgnl start
command, you get a flickering window, the server hangs and nothing is written into the logs. To see the actual error, don't use Magnolia CLI to start Magnolia, start Tomcat directly with <your-magnolia-install-folder>\apache tomcat\bin\catalina.bat run
. This should start Magnolia in the same window and allow you to see the error message:
Code Block |
---|
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap |
The most likely cause is that you are trying to allocate too much heap space in the 32-bit JVM.
Solution: Replace the JVM with a 64-bit version.
See also: Why can't I get a larger heap with the 32-bit JVM?
You get the following error message after a fresh Java installation:
Code Block |
---|
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variables is needed to run this program |
Solution: Set the variables through the "Edit the system environment variables" dialog.
If you get an error like this one:
Code Block |
---|
The JRE_HOME environment variable is not defined correctly
The environment variable is needed to run this program |
then you are most probably attempting to run Tomcat with the JAVA_HOME
variable set but without the JRE_HOME
variable defined.
Solution: Set the JRE_HOME
variable.
If you attempt to start Magnolia via 'mgnl start', and you see no startup executed, check if your JRE_HOME and your JAVA_HOME are set. If so, you may need to remove the environmental variable for JRE_HOME to get Magnolia to start properly.
Allow an exception in Windows Firewall for Java.
C:\Sun\SDK\jdk\bin\java.exe
.If you get a security alert during startup, check the Private networks checkbox and click Allow access.
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 |
---|
2009-11-24 13:02:14,970 ERROR org.apache.catalina.session.ManagerBase : IOException while loading persisted sessions |
...
./magnolia_control.sh stop
/apache-tomcat/bin/setenv.sh
(/apache-tomcat/bin/setenv.bat
on Windows) in a text editor.Xmx
parameter to set a new maximum heap size. Default size for Magnolia is 2048M, try a higher amount such as 4096M../magnolia_control.sh start && tail -f ../logs/catalina.out
For issues related to publishing/activation keys and the handshaking process, see either the Publishing errors page or the Activation errors page, depending on the module you use.
MAGNOLIA-6865 introduced a new security filter that checks each POST request. As this may affect the functionality of your existing forms, please contact us and we'll provide you with more information about this issue.
For security reasons, however, we cannot disclose further details on this page.
To mitigate an issue caused by having more than 500 configured virtual URI mappings in light modules, a WARN-level message is now logged when a DirectoryWatcher
overflow occurs (MAGNOLIA-7762). We recommend to keep the number of files in a single folder below 100 and to use folder hierarchies whenever possible. For the upcoming fix, see MAGNOLIA-7798.
If you search for content using searchfn.searchPage()
, searchfn.searchContent()
or by executing search queries directly from a template, the search result order will not respect the natural order. This issue is caused by a bug in Apache Jackrabbit filed as JCR-3932: "Result of JCR-SQL2 query doesn't respect document order in JCR".
-f ../logs/catalina.out
For issues related to publishing/activation keys and the handshaking process, see either the Publishing errors page or the Activation errors page, depending on the module you use.
MAGNOLIA-6865 introduced a new security filter that checks each POST request. As this may affect the functionality of your existing forms, please contact us and we'll provide you with more information about this issue.
For security reasons, however, we cannot disclose further details on this page.
To mitigate an issue caused by having more than 500 configured virtual URI mappings in light modules, a WARN-level message is now logged when a DirectoryWatcher
overflow occurs (MAGNOLIA-7762). We recommend to keep the number of files in a single folder below 100 and to use folder hierarchies whenever possible. For the upcoming fix, see MAGNOLIA-7798.
If you search for content using searchfn.searchPage()
, searchfn.searchContent()
or by executing search queries directly from a template, the search result order will not respect the natural order. This issue is caused by a bug in Apache Jackrabbit filed as JCR-3932: "Result of JCR-SQL2 query doesn't respect document order in JCR".
Until the JCR bug is fixed, do not use searchfn
. To get the correct order, execute JCR XPath queries directly.
There are limitations related to the deep learning and search features of the Find Bar, which are provided by the Periscope and Periscope Result Ranker modules.
You should configure DL4J memory limits to avoid off-heap memory starvation. This is particularly the case with the -Dorg.bytedeco.javacpp.maxbytes
JVM argument. For more details, see MGNLPER-121.
When experiencing this issue, the following message can be found in the logs: java.lang.NoClassDefFoundError: Could not initialize class org.nd4j.linalg.factory
. The issue may appear even on more than just one Tomcat instance, running on the same VM and the same JDK.
The ndj4 library can only be initiated once. Therefore, result ranking on public instances should be disabled, which you can do either by changing the configuration of the Periscope Result Ranker module, or rather by completely removing the magnolia-periscope-result-ranker
module from your WAR package. After this modification, the search function will be available but search results will not be ranked. For more details see MGNLPER-112Until the JCR bug is fixed, do not use searchfn
. To get the correct order, execute JCR XPath queries directly.