• Bug
  • Status: Closed
  • 1 Critical
  • Resolution: Fixed
  • asingh
  • Reporter: amiller
  • October 29, 2008
  • 0
  • Watchers: 0
  • December 16, 2008
  • November 19, 2008

Attachments

Description

EY had this happen in the perf cluster last night. The web app failed to start and as far as I can tell, the problem is that the SiteMesh xml config is being validated against a public schema held on the OpenSymphony web site, which was briefly unavailable. Ultimately we tried it again and it worked. But it scares me that the app relies on access to a schema file on another web site. Googling around I found a couple other reports of this (and same problem for struts).

Caused by: com.opensymphony.module.sitemesh.factory.FactoryException: Could not read config file : /WEB-INF/sitemesh.xml: java.net.UnknownHostException: www.opensymphony.com at com.opensymphony.module.sitemesh.factory.DefaultFactory.loadConfig(DefaultFactory.java:125) at com.opensymphony.module.sitemesh.factory.DefaultFactory.(DefaultFactory.java:79) ... 33 more

I don’t think it’s urgent to do something about this but wanted to log it at least in case we see it again.

Comments

Alex Miller 2008-10-29

Logged on SiteMesh jira as:

http://jira.opensymphony.com/browse/SIM-252

Fiona OShea 2008-10-29

Maybe we can try to solve this at a network level. Is there any way we can work around this?

Alex Miller 2008-11-09

Sitemesh jira was marked as a duplicate of a known issue (http://jira.opensymphony.com/browse/SIM-246 ) and they suggested a workaround of modifying the dtds included in the sitemesh xml files (decorators.xml and sitemesh.xml).

I got bit by this again last week doing an Examinator demo without net access so I think it is an issue we should address somehow. Another option might be to include xml files that shadow the real ones so we can continue to use the existing jar from maven.

Alex Miller 2008-11-18

We need to look creatively at ways to work around this issue. I’d prefer not to hack on the SiteMesh jars themselves if we can avoid it.

The goal is to be able to start and run Examinator when not connected to the net.

Abhishek Singh 2008-11-19

Fixed in rev-11659 in trunk and rev-11660 in tc-2.7 branch

Removed the reference to the DTD in decorators.xml, no DTD checks will be performed by the parser. This has the disadvantage that someday someone may make a change to decorators.xml making it invalid with the DTD. In any case, changing decorators.xml should be very rare.

Other way we could have worked around was to distribute a copy of the DTD (http://www.opensymphony.com/sitemesh/dtd/sitemesh_1_5_decorators.dtd) with Examinator.