Christian Danner created ARTEMIS-3127:
-----------------------------------------

             Summary: Message 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
         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 in the 
attached screenshot js_exception_client.png.

The location where the Exception is thrown on server side is shown in 
screenshot 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:

 
{code:java}
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 available  DelegatingMethodAccessorImpl.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 available  
HttpChannelOverHttp(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 
{code}
 



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

Reply via email to