[ 
https://issues.apache.org/jira/browse/OFBIZ-12934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17831365#comment-17831365
 ] 

Gaetan Chaboussie commented on OFBIZ-12934:
-------------------------------------------

Sure, here is the relevant code :

The java code is as follows :
https://github.com/apache/ofbiz-framework/blob/65f90adf868701e4420877fe98aba58007315b2a/framework/base/src/main/java/org/apache/ofbiz/base/component/ComponentConfig.java#L1271

So the return type of the method would be an array.

And the FTL code is as follows :
https://github.com/apache/ofbiz-framework/blob/65f90adf868701e4420877fe98aba58007315b2a/themes/rainbowstone/template/includes/TopAppBar.ftl#L57

So there is a non null checker in the beginnig of the block.

With the Freemarker version in patch on top of this ticket I get this error :

{{2024-03-27 14:51:59,697 |jsse-nio-8443-exec-9 |FreeMarkerWorker              
|E| null}}
{{{}freemarker.core._TemplateModelException: Java method 
"org.apache.ofbiz.base.component.ComponentConfig$WebappInfo.getBasePermission()"
 threw an exception when invoked on 
org.apache.ofbiz.base.component.ComponentConfig$WebappInfo object 
"org.apache.ofbiz.base.component.ComponentConfig$WebappInfo@6127dd1f"; see 
cause exception in the Java stack trace.{}}}{{{}----{}}}
{{FTL stack trace ("~" means nesting-related):}}
{{    - Failed at: #assign permissions = display.getBase...  [in template 
"component://rainbowstone/template/includes/TopAppBar.ftl" at line 57, column 
21]}}
{{----}}
{{    at 
freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:292)
 ~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:255)
 ~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:78) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.MethodCall._eval(MethodCall.java:62) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Expression.eval(Expression.java:101) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Assignment.accept(Assignment.java:134) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Environment.visit(Environment.java:380) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:291)
 [freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
 [freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:244) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Environment.visitIteratorBlock(Environment.java:654) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:108) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Environment.visit(Environment.java:344) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Environment.visit(Environment.java:350) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Environment.visit(Environment.java:350) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Environment.visit(Environment.java:350) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.core.Environment.process(Environment.java:323) 
[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
org.apache.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:244)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:196)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:266)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.HtmlWidget.renderWidgetString(HtmlWidget.java:165)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:1371)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:109)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:312)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:109)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:297)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:109)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:297)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:158)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:214)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:819)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:109)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:297)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:158)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:214)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:819)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:109)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:297)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:158)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:214)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:900)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:109)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:297)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:158)
 [main/:?]}}
{{    at 
org.apache.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:147) 
[main/:?]}}
{{    at 
org.apache.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:105) 
[main/:?]}}
{{    at 
org.apache.ofbiz.widget.renderer.macro.MacroScreenViewHandler.render(MacroScreenViewHandler.java:116)
 [main/:?]}}
{{    at 
org.apache.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:1257)
 [main/:?]}}
{{    at 
org.apache.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:933)
 [main/:?]}}
{{    at 
org.apache.ofbiz.webapp.control.ControlServlet.handle(ControlServlet.java:231) 
[main/:?]}}
{{    at 
org.apache.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:81) 
[main/:?]}}
{{    at javax.servlet.http.HttpServlet.service(HttpServlet.java:555) 
[tomcat-servlet-api-9.0.86.jar:4.0.FR]}}
{{    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) 
[tomcat-servlet-api-9.0.86.jar:4.0.FR]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.ofbiz.webapp.control.SameSiteFilter.doFilter(SameSiteFilter.java:45) 
[main/:?]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:188) 
[main/:?]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at org.apache.ofbiz.base.util.CacheFilter.doFilter(CacheFilter.java:63) 
[main/:?]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.ofbiz.webapp.control.ControlFilter.doFilter(ControlFilter.java:176) 
[main/:?]}}
{{    at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:53) 
[tomcat-servlet-api-9.0.86.jar:4.0.FR]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
 [log4j-web-2.20.0.jar:2.20.0]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) 
[tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) 
[tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)
 [tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) 
[tomcat-catalina-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.coyote.http2.StreamProcessor.service(StreamProcessor.java:432) 
[tomcat-coyote-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
 [tomcat-coyote-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.coyote.http2.StreamProcessor.process(StreamProcessor.java:90) 
[tomcat-coyote-9.0.86.jar:9.0.86]}}
{{    at org.apache.coyote.http2.StreamRunnable.run(StreamRunnable.java:35) 
[tomcat-coyote-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
 [tomcat-util-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
 [tomcat-util-9.0.86.jar:9.0.86]}}
{{    at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
 [tomcat-util-9.0.86.jar:9.0.86]}}
{{    at java.lang.Thread.run(Thread.java:840) [?:?]}}
{{Caused by: java.lang.NullPointerException: Cannot invoke 
"java.lang.Package.getName()" because "accessedPackage" is null}}
{{    at 
freemarker.core._Java9Impl.isAccessibleAccordingToModuleExports(_Java9Impl.java:44)
 ~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
freemarker.ext.beans.ClassIntrospector.discoverAccessibleMethods(ClassIntrospector.java:827)
 ~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
freemarker.ext.beans.ClassIntrospector.discoverAccessibleMethods(ClassIntrospector.java:820)
 ~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
freemarker.ext.beans.ClassIntrospector.createClassIntrospectionData(ClassIntrospector.java:298)
 ~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.ClassIntrospector.get(ClassIntrospector.java:272) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.BeanModel.<init>(BeanModel.java:116) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.BeanModel.<init>(BeanModel.java:107) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.ArrayModel.<init>(ArrayModel.java:65) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.ArrayModel$1.create(ArrayModel.java:48) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.BeansModelCache.create(BeansModelCache.java:71) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.util.ModelCache.getInstance(ModelCache.java:80) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.BeansWrapper.wrap(BeansWrapper.java:1022) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at 
org.apache.ofbiz.widget.model.HtmlWidget$ExtendedWrapper.wrap(HtmlWidget.java:95)
 ~[main/:?]}}
{{    at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1640) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73) 
~[freemarker-2.3.33-SNAPSHOT.jar:2.3.32.97]}}
{{    ... 85 more}}

While with the previous version, i don't get any error.
Do you need any more information

 

> Test next FreeMarker release 
> -----------------------------
>
>                 Key: OFBIZ-12934
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-12934
>             Project: OFBiz
>          Issue Type: Task
>          Components: Freemarker
>    Affects Versions: Upcoming Branch
>            Reporter: Jacques Le Roux
>            Priority: Minor
>         Attachments: OFBIZ-12934-1.patch
>
>
> h1. {color:#FF8B00}This issue is a "reusable" one, not to be closed...{color}
> It's intended to test next FreeMarker releases [as, for instance, requested 
> by the FreeMarker 
> team|https://lists.apache.org/thread/t4c9z7wkcp3dbdokmnjd32fcptq8h9tz]
> As it's not an as simple change, here I attach a patch as an exemple based on 
> the test requested above:  [^OFBIZ-12934-1.patch] 
> If you use Eclipse, you also need to update it with the "gradlew eclipse" 
> Gradle task



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to