You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Christian Danner (Jira)" <ji...@apache.org> on 2021/04/21 18:48:00 UTC

[jira] [Resolved] (ARTEMIS-3127) Queue browser in web console leads to IllegalArgumentException

     [ https://issues.apache.org/jira/browse/ARTEMIS-3127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Danner resolved ARTEMIS-3127.
---------------------------------------
    Fix Version/s: 2.17.0
       Resolution: Fixed

> Queue browser in web console leads to IllegalArgumentException
> --------------------------------------------------------------
>
>                 Key: ARTEMIS-3127
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3127
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: JMX, Web Console
>    Affects Versions: 2.15.0
>         Environment: Embedded Apache Artemis 2.15.0
> Windows Server 2016 Standard (Version 10.0.14393)
> Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
> Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
> Google Chrome 88.0.4324.182 (Official Build) (32-bit)
>            Reporter: Christian Danner
>            Priority: Major
>             Fix For: 2.17.0
>
>         Attachments: exception_server.PNG, js_exception_client.PNG, variable_values.txt
>
>
> The browse message view of the web console does not display any messages in case the console is running on a public address - when the console is started on "localhost" or "127.0.0.1" it works fine.
> The exception that is logged to the JS console on client side is shown here:
> !js_exception_client.PNG!
> The location where the Exception is thrown on server side is shown here:
> !exception_server.PNG!
> I also attached a text file that shows the length and contents of the arrays that seem to cause the exception (please note that the contents of that file show a different incident than the one shown in the client side screenshot).
> Below is a stack trace of such a situation:
> {noformat}
> CompositeType.<init>(String, String, String[], String[], OpenType<?>[]) line: 139
> CompositeType.<init>(String, String, String[], String[], OpenType<?>[]) line: 139
> OpenTypeSupport$TextMessageOpenTypeFactory(OpenTypeSupport$MessageOpenTypeFactory).createCompositeType() line: 215
> OpenTypeSupport$TextMessageOpenTypeFactory(OpenTypeSupport$MessageOpenTypeFactory).getCompositeType() line: 93
> OpenTypeSupport.convert(MessageReference) line: 59
> QueueControlImpl.browse(int, int) line: 1510
> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62
> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
> Method.invoke(Object, Object...) line: 498
> Trampoline.invoke(Method, Object, Object[]) line: 71
> GeneratedMethodAccessor139.invoke(Object, Object[]) line: not availableDelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
> Method.invoke(Object, Object...) line: 498
> MethodUtil.invoke(Method, Object, Object[]) line: 275
> StandardMBeanIntrospector.invokeM2(Method, Object, Object[], Object) line: 112
> StandardMBeanIntrospector.invokeM2(Object, Object, Object[], Object) line: 46
> StandardMBeanIntrospector(MBeanIntrospector<M>).invokeM(M, Object, Object[], Object) line: 237
> PerInterface<M>.invoke(Object, String, Object[], String[], Object) line: 138
> StandardMBeanSupport(MBeanSupport<M>).invoke(String, Object[], String[]) line: 252
> QueueControlImpl(StandardMBean).invoke(String, Object[], String[]) line: 405
> DefaultMBeanServerInterceptor.invoke(ObjectName, String, Object[], String[]) line: 819
> JmxMBeanServer.invoke(ObjectName, String, Object[], String[]) line: 801
> ExecHandler.doHandleRequest(MBeanServerConnection, JmxExecRequest) line: 98
> ExecHandler.doHandleRequest(MBeanServerConnection, JmxRequest) line: 40
> ExecHandler(JsonRequestHandler<R>).handleRequest(MBeanServerConnection, R) line: 89
> MBeanServerExecutorLocal.handleRequest(JsonRequestHandler<R>, R) line: 109
> MBeanServerHandler.dispatchRequest(JsonRequestHandler, JmxRequest) line: 161
> LocalRequestDispatcher.dispatchRequest(JmxRequest) line: 99
> BackendManager.callRequestDispatcher(JmxRequest) line: 429
> BackendManager.handleRequest(JmxRequest) line: 158
> HttpRequestHandler.executeRequest(JmxRequest) line: 197
> HttpRequestHandler.handlePostRequest(String, InputStream, String, Map<String,String[]>) line: 137
> AgentServlet$3.handleRequest(HttpServletRequest, HttpServletResponse) line: 460
> JolokiaConfiguredAgentServlet(AgentServlet).handleSecurely(AgentServlet$ServletRequestHandler, HttpServletRequest, HttpServletResponse) line: 350
> JolokiaConfiguredAgentServlet(AgentServlet).handle(AgentServlet$ServletRequestHandler, HttpServletRequest, HttpServletResponse) line: 321
> JolokiaConfiguredAgentServlet(AgentServlet).doPost(HttpServletRequest, HttpServletResponse) line: 284
> JolokiaConfiguredAgentServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 707
> JolokiaConfiguredAgentServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 790
> ServletHolder$NotAsyncServlet.service(ServletRequest, ServletResponse) line: 1395
> ServletHolder.handle(Request, ServletRequest, ServletResponse) line: 755
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1617
> AuthenticationFilter$3.run() line: 227
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]Subject.doAs(Subject, PrivilegedExceptionAction<T>) line: 422
> AuthenticationFilter.executeAs(ServletRequest, ServletResponse, FilterChain, Subject) line: 224
> AuthenticationFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 162
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> PublicKeyPinningFilter(HttpHeaderFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 37
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> StrictTransportSecurityFilter(HttpHeaderFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 37
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> ContentSecurityPolicyFilter(HttpHeaderFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 37
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> XContentTypeOptionsFilter(HttpHeaderFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 37
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> XXSSProtectionFilter(HttpHeaderFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 37
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> XFrameOptionsFilter(HttpHeaderFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 37
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> CORSFilter(HttpHeaderFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 37
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> CacheHeadersFilter(HttpHeaderFilter).doFilter(ServletRequest, ServletResponse, FilterChain) line: 37
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> SessionExpiryFilter.process(HttpServletRequest, HttpServletResponse, FilterChain) line: 176
> SessionExpiryFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 69
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1604
> RedirectFilter.process(HttpServletRequest, HttpServletResponse, FilterChain) line: 86
> RedirectFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 72
> ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1596
> ServletHandler.doHandle(String, Request, HttpServletRequest, HttpServletResponse) line: 545
> ServletHandler(ScopedHandler).handle(String, Request, HttpServletRequest, HttpServletResponse) line: 143
> ConstraintSecurityHandler(SecurityHandler).handle(String, Request, HttpServletRequest, HttpServletResponse) line: 590
> SessionHandler(HandlerWrapper).handle(String, Request, HttpServletRequest, HttpServletResponse) line: 127
> SessionHandler(ScopedHandler).nextHandle(String, Request, HttpServletRequest, HttpServletResponse) line: 235
> SessionHandler.doHandle(String, Request, HttpServletRequest, HttpServletResponse) line: 1607
> WebAppContext(ScopedHandler).nextHandle(String, Request, HttpServletRequest, HttpServletResponse) line: 233
> WebAppContext(ContextHandler).doHandle(String, Request, HttpServletRequest, HttpServletResponse) line: 1297
> ServletHandler(ScopedHandler).nextScope(String, Request, HttpServletRequest, HttpServletResponse) line: 188
> ServletHandler.doScope(String, Request, HttpServletRequest, HttpServletResponse) line: 485
> SessionHandler.doScope(String, Request, HttpServletRequest, HttpServletResponse) line: 1577
> WebAppContext(ScopedHandler).nextScope(String, Request, HttpServletRequest, HttpServletResponse) line: 186
> WebAppContext(ContextHandler).doScope(String, Request, HttpServletRequest, HttpServletResponse) line: 1212
> WebAppContext(ScopedHandler).handle(String, Request, HttpServletRequest, HttpServletResponse) line: 141
> HandlerList.handle(String, Request, HttpServletRequest, HttpServletResponse) line: 59
> Server(HandlerWrapper).handle(String, Request, HttpServletRequest, HttpServletResponse) line: 127
> Server.handle(HttpChannel) line: 500
> HttpChannelOverHttp(HttpChannel).lambda$handle$1() line: 383
> 634335530.dispatch() line: not availableHttpChannelOverHttp(HttpChannel).dispatch(DispatcherType, HttpChannel$Dispatchable) line: 547
> HttpChannelOverHttp(HttpChannel).handle() line: 375
> HttpConnection.onFillable() line: 270
> AbstractConnection$ReadCallback.succeeded() line: 311
> AbstractEndPoint$1(FillInterest).fillable() line: 103
> ChannelEndPoint$2.run() line: 117
> EatWhatYouKill.runTask(Runnable) line: 336
> EatWhatYouKill.doProduce(boolean) line: 313
> EatWhatYouKill.tryProduce(boolean) line: 171
> EatWhatYouKill.run() line: 129
> ReservedThreadExecutor$ReservedThread.run() line: 388
> QueuedThreadPool.runJob(Runnable) line: 806
> QueuedThreadPool$Runner.run() line: 938
> Thread.run() line: 748
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)