[
https://issues.apache.org/jira/browse/WW-5031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16846629#comment-16846629
]
Markus Fischer commented on WW-5031:
------------------------------------
Enabling Struts devMode and lowering logging to debug shows multiple repeated
times:
{code:java}
// code placeholder
23-05-2019 11:47:40.5 ERROR
com.opensymphony.xwork2.util.AbstractLocalizedTextProvider - Could not reload
resource bundles
java.lang.reflect.InaccessibleObjectException: Unable to make field private
static final java.util.concurrent.ConcurrentMap
java.util.ResourceBundle.cacheList accessible: module java.base does not "opens
java.util" to unnamed module @2be5701
at
java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
at
java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:176)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:170)
at
com.opensymphony.xwork2.util.AbstractLocalizedTextProvider.clearMap(AbstractLocalizedTextProvider.java:300)
at
com.opensymphony.xwork2.util.AbstractLocalizedTextProvider.reloadBundles(AbstractLocalizedTextProvider.java:250)
at
com.opensymphony.xwork2.util.AbstractLocalizedTextProvider.reloadBundles(AbstractLocalizedTextProvider.java:235)
at
com.opensymphony.xwork2.util.AbstractLocalizedTextProvider.findDefaultText(AbstractLocalizedTextProvider.java:132)
at
com.opensymphony.xwork2.util.StrutsLocalizedTextProvider.findDefaultText(StrutsLocalizedTextProvider.java:39)
at
com.opensymphony.xwork2.util.AbstractLocalizedTextProvider.getDefaultMessage(AbstractLocalizedTextProvider.java:442)
at
com.opensymphony.xwork2.util.StrutsLocalizedTextProvider.findText(StrutsLocalizedTextProvider.java:347)
at
com.opensymphony.xwork2.TextProviderSupport.getText(TextProviderSupport.java:263)
at com.opensymphony.xwork2.ActionSupport.getText(ActionSupport.java:119)
at
org.apache.struts2.util.TextProviderHelper.getText(TextProviderHelper.java:76)
at org.apache.struts2.components.Text.end(Text.java:190)
at
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:39)
at
org.apache.jsp.view.import_.navmobileoutside_jsp._jspx_meth_s_005ftext_005f3(navmobileoutside_jsp.java:519)
at
org.apache.jsp.view.import_.navmobileoutside_jsp._jspService(navmobileoutside_jsp.java:175)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:580)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:516)
at
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:900)
at
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:496)
at org.apache.tiles.request.jsp.JspRequest.doInclude(JspRequest.java:123)
at
org.apache.tiles.request.AbstractViewRequest.dispatch(AbstractViewRequest.java:47)
at
org.apache.tiles.request.render.DispatchRenderer.render(DispatchRenderer.java:47)
at
org.apache.tiles.request.render.ChainedDelegateRenderer.render(ChainedDelegateRenderer.java:68)
at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:259)
at
org.apache.tiles.TilesContainerWrapper.render(TilesContainerWrapper.java:108)
at
org.apache.tiles.template.InsertAttributeModel.renderAttribute(InsertAttributeModel.java:188)
at
org.apache.tiles.template.InsertAttributeModel.execute(InsertAttributeModel.java:132)
at
org.apache.tiles.jsp.taglib.InsertAttributeTag.doTag(InsertAttributeTag.java:299)
at
org.apache.jsp.view.import_.baseLayoutNormalOutside_jsp._jspx_meth_tiles_005finsertAttribute_005f3(baseLayoutNormalOutside_jsp.java:329)
at
org.apache.jsp.view.import_.baseLayoutNormalOutside_jsp._jspService(baseLayoutNormalOutside_jsp.java:191)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at
org.apache.tiles.request.servlet.ServletRequest.forward(ServletRequest.java:265)
at
org.apache.tiles.request.servlet.ServletRequest.doForward(ServletRequest.java:228)
at
org.apache.tiles.request.AbstractClientRequest.dispatch(AbstractClientRequest.java:57)
at
org.apache.tiles.request.render.DispatchRenderer.render(DispatchRenderer.java:47)
at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:259)
at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:397)
at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:238)
at
org.apache.tiles.TilesContainerWrapper.render(TilesContainerWrapper.java:103)
at
org.apache.tiles.impl.mgmt.CachingTilesContainer.render(CachingTilesContainer.java:126)
at
org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:158)
at
org.apache.struts2.result.StrutsResultSupport.execute(StrutsResultSupport.java:206)
at
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:279)
at
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:250)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:179)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
at
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:49)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:142)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:137)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:137)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:201)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:67)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:133)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:160)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:121)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:167)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:203)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
util.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:27)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
com.googlecode.sslplugin.interceptors.SSLInterceptor.intercept(SSLInterceptor.java:128)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at util.HostwwwInterceptor.intercept(HostwwwInterceptor.java:37)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at
org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48)
at
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574)
at
org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79)
at
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:141)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)
{code}
> OGNL: An illegal reflective access operation has occurred
> ---------------------------------------------------------
>
> Key: WW-5031
> URL: https://issues.apache.org/jira/browse/WW-5031
> Project: Struts 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.5.20
> Environment: Java 11 / Linux / test environment on eclipse / Tomcat
> 8.5
> Reporter: Markus Fischer
> Priority: Minor
> Fix For: 2.5.21, 2.6
>
>
> Running Struts on Java 11 gives a new warning about illegal reflection, not
> present on Java 8:
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by ognl.OgnlRuntime
> ([file:/.../workspace/.../.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/.../WEB-INF/lib/ognl-3.1.21.jar|file:///.../workspace/SC/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/.../WEB-INF/lib/ognl-3.1.21.jar])
> to method java.util.HashMap$Node.getKey()
> WARNING: Please consider reporting this to the maintainers of
> ognl.OgnlRuntime
> WARNING: Use --illegal-access=warn to enable warnings of further illegal
> reflective access operations
> WARNING: All illegal access operations will be denied in a future release
> The warning appears after using the following tag in a JSP (name of
> properties changed):
> <s:select name="item" key="item.key" list="items" />
> The corresponding Action contains:
> private Map<Long, String> items = new LinkedHashMap<>();
>
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)