Pivotal Knowledge Base

Follow

Fatal error while parsing XML related to the locale setting of the host

Applies to

Gemfire 8.1

Issue

The GemFire cache server fails to start due to a fatal error while parsing the cache.xml file when using a non-English locale.

For instance, when running with the Japanese locale:

===========================================================
com.gemstone.gemfire.cache.CacheXmlException: While reading Cache XML file:/D:/apps/Pivotal/Pivotal_GemFire_NativeClient_64bit_8100/SampleCode/quickstart/gfecs/../XMLs/serverPoolCqQuery.xml. Fatal error while parsing XML, caused by org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 10; 機能"http://apache.org/xml/features/disallow-doctype-decl"がtrueに設定されている場合、DOCTYPEは指定できません
===========================================================

And, with the Chinese locale:

===========================================================
com.gemstone.gemfire.cache.CacheXmlException: While reading Cache XML file:/C:/lab/sslissue/gemfire-issues/2wayssl-nullencryption/gemfire/cache-replicated-eventual.xml. Fatal error while parsing XML, caused by org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 10; 将功能 "http://apache.org/xml/features/disallow-doctype-decl" 设置为“真”时, 不允许使用 DOCTYPE。
===========================================================

Description

This issue can happen when running with the Japanese or Chinese locale (and, possibly, other non-English locales) with Gemfire version 8.1. The root cause is the setting of "http://apache.org/xml/features/disallow-doctype-decl" to true for the DOCTYPE element. This issue will be fixed in a later releases of the GemFire 8.x branch.

Solution

  1. add the --J=-Duser.language=en option the GFSH command line to start the cacheserver.
  2. use XML Schema style cache.xml instead of DTD style

Comments

Powered by Zendesk