Invalid file name for use with -Xloggc
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
問題
Starting Confluence results in the following error log:
E:\jira\atlassian-confluence-5.7.1\bin>start-confluence.bat /fg
7 周日./0./1_19.11.41
70周日.-0.-1_19.11.41
If you encounter issues starting up Confluence, please see the Installation guid
e at http://confluence.atlassian.com/display/DOC/Confluence+Installation+Guide
Using CATALINA_BASE: "E:\jira\atlassian-confluence-5.7.1"
Using CATALINA_HOME: "E:\jira\atlassian-confluence-5.7.1"
Using CATALINA_TMPDIR: "E:\jira\atlassian-confluence-5.7.1\temp"
Using JRE_HOME: "D:\jdk1.7.0_79"
Using CLASSPATH: "E:\jira\atlassian-confluence-5.7.1\bin\bootstrap.jar;E:\jira\atlassian-confluence-5.7.1\bin\tomcat-juli.jar"
Invalid file name for use with -Xloggc: Filename can only contain the characters
[A-Z][a-z][0-9]-_.%[p|t] but it has been E:\jira\atlassian-confluence-5.7.1\bin\..\logs\gc-70周日.-0.-1_19.11.41.log
Note %p or %t can only be used once
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
原因
This issue is a bug which is being tracked here: CONF-45754 - Getting issue details... STATUS
Presence of illegal characters in the atlassian_timestamp
, specified in ConfluenceInstall/bin/setenv.bat
, for non-English OS. Example:
set atlassian_timestamp=%DATE:~-4%.%DATE:~4,2%.%DATE:~7,2%_%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%
OS with Chinese language, for example, will return %DATE in Chinese characters, thus causing the issue
回避策
A few workarounds exist:
- Change the
atlassian_timestamp
in theConfluenceInstallation/bin/setenv.bat
(if you are starting up Confluence via Windows'start-confluence.bat
) to this:
set atlassian_timestamp=%DATE:~0,10%_%TIME:~0,8%
- Remove the timestamp altogether, by changing this:
-Xloggc:"%atlassian_logsdir%\gc-%atlassian_timestamp%.log"
To this:
-Xloggc:"%atlassian_logsdir%\gc.log"
Be aware that the gc log files will overwrite on startup with this configuration, because the filename will no longer contain a unique timestamp. If you need to look at the gc logs, be sure to copy them elsewhere before restarting the application.