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

Reply via email to