Make the supported locales initialization thread-safe
-----------------------------------------------------
Key: NXP-7663
URL: https://jira.nuxeo.com/browse/NXP-7663
Project: Nuxeo Enterprise Platform
Issue Type: Bug
Components: Dashboard / OpenSocial
Affects Versions: 5.4.2
Reporter: Thomas Roger
Assignee: Thomas Roger
Fix For: 5.4.3
The {{Gadgeti18n#supportedLang}} initialization is not thread-safe and after
being wrapped in the Freemarker wrapper class we randomly end up with the
following stacktrace when loading the OpenSocial dashboard:
{code}
freemarker.core.InvalidReferenceException: Expression lang is undefined on line
2, column 23 in dynamic-translations.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at
freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
at freemarker.core.Environment.visit(Environment.java:415)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.Environment.include(Environment.java:1477)
at freemarker.core.Include.accept(Include.java:169)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.Environment.process(Environment.java:188)
at
org.nuxeo.ecm.platform.rendering.fm.FreemarkerEngine.render(FreemarkerEngine.java:183)
at
org.nuxeo.opensocial.webengine.gadgets.render.GadgetSpecView.render(GadgetSpecView.java:187)
at
org.nuxeo.opensocial.webengine.gadgets.GadgetResource.getGadgetFile(GadgetResource.java:63)
...
2011-09-29 03:24:30,752 ERROR [freemarker.runtime]
Expression lang is undefined on line 2, column 23 in dynamic-translations.ftl.
The problematic instruction:
----------
==> ${lang.language} [on line 2, column 21 in dynamic-translations.ftl]
in include "dynamic-translations.ftl" [on line 11, column 5 in
gadget://userworkspaces]
----------
{code}
The {{supportedLang}} field can be statically initialized to avoid this issue.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets