Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.3.0
-
None
-
None
Description
I've tried to use an invalid selector via STOMP. The broker complained with a stack trace:
2016-07-15 08:02:07,754 [org.apache.activemq.artemis.core.server] ERROR AMQ224006: Invalid filter: foo/bar: org.apache.activemq.artemis.selector.filter.FilterException: foo/bar at org.apache.activemq.artemis.selector.impl.SelectorParser.parse(SelectorParser.java:90) [artemis-selector-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at org.apache.activemq.artemis.core.filter.impl.FilterImpl.createFilter(FilterImpl.java:78) [artemis-server-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createQueue(ActiveMQServerImpl.java:2145) [artemis-server-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createQueue(ActiveMQServerImpl.java:1406) [artemis-server-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.createQueue(ServerSessionImpl.java:505) [artemis-server-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.stomp.StompSession.addSubscription(StompSession.java:295) [artemis-stomp-protocol-1.4.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.stomp.StompProtocolManager.createSubscription(StompProtocolManager.java:389) [artemis-stomp-protocol-1.4.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.stomp.StompConnection.subscribe(StompConnection.java:642) [artemis-stomp-protocol-1.4.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.stomp.VersionedStompFrameHandler.onSubscribe(VersionedStompFrameHandler.java:261) [artemis-stomp-protocol-1.4.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.stomp.VersionedStompFrameHandler.handleFrame(VersionedStompFrameHandler.java:91) [artemis-stomp-protocol-1.4.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.stomp.StompConnection.handleFrame(StompConnection.java:489) [artemis-stomp-protocol-1.4.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.stomp.StompProtocolManager.handleBuffer(StompProtocolManager.java:172) [artemis-stomp-protocol-1.4.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.stomp.StompConnection.bufferReceived(StompConnection.java:349) [artemis-stomp-protocol-1.4.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:609) [artemis-server-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:68) [artemis-core-client-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) [netty-all-4.0.32.Final.jar:4.0.32.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) [netty-all-4.0.32.Final.jar:4.0.32.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846) [netty-all-4.0.32.Final.jar:4.0.32.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) [netty-all-4.0.32.Final.jar:4.0.32.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) [netty-all-4.0.32.Final.jar:4.0.32.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) [netty-all-4.0.32.Final.jar:4.0.32.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) [netty-all-4.0.32.Final.jar:4.0.32.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) [netty-all-4.0.32.Final.jar:4.0.32.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) [netty-all-4.0.32.Final.jar:4.0.32.Final] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_92] Caused by: org.apache.activemq.artemis.selector.strict.ParseException: Expression will not result in a boolean value: (foo / bar) at org.apache.activemq.artemis.selector.strict.StrictParser.asBooleanExpression(StrictParser.java:39) [artemis-selector-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at org.apache.activemq.artemis.selector.strict.StrictParser.JmsSelector(StrictParser.java:49) [artemis-selector-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] at org.apache.activemq.artemis.selector.impl.SelectorParser.parse(SelectorParser.java:84) [artemis-selector-1.4.0-SNAPSHOT.jar:1.4.0-SNAPSHOT] ... 24 more
A single error line is enough. The full stack trace does not bring anything and should be removed.
Attachments
Issue Links
- links to