You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2016/04/11 19:17:25 UTC

[jira] [Resolved] (QPID-7181) [AMQP 1.0] Selector parsing error causes Java Broker to shutdown

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

Keith Wall resolved QPID-7181.
------------------------------
    Resolution: Fixed

> [AMQP 1.0] Selector parsing error causes Java Broker to shutdown
> ----------------------------------------------------------------
>
>                 Key: QPID-7181
>                 URL: https://issues.apache.org/jira/browse/QPID-7181
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>         Environment: Fedora release 20 (Heisenbug)
> cpp/proton - trunk 
>            Reporter: Keith Wall
>             Fix For: qpid-java-6.0.2, qpid-java-6.1
>
>
> Running the Python broker_1_0 tests {{qpid_tests.broker_1_0.selector.SelectorTests.test_special_fields}} exposes an unexpected Broker shutdown if a JMS selector is received that cannot be parsed. The selector is {{amqp.message_id = 'c'}}, so according to the JMS rules for formation of identifiers, the identifier is incorrect.  I think the Broker should be closing the connection with an appropriate error.
> {code}
> python  ~/tmp/py/bin/qpid-python-test -b amqp://guest/guest@Oslo.local:5672 -x results/TEST-python.xml -m qpid_tests.broker_1_0 qpid_tests.broker_1_0.selector.SelectorTests.test_special_fields
> {code}
> {noformat}
> 2016-04-03 07:59:47,561 DEBUG [IO-/10.211.55.15:44574] (FRM) - SEND[/10.211.55.15:44574|0] : Flow{nextIncomingId=0,incomingWindow=2048,nextOutgoingId=0,outgoingWindow=2048,handle=0,deliveryCount=0,linkCredit=20000,echo=false}
> 2016-04-03 07:59:47,566 DEBUG [IO-/10.211.55.15:44574] (FRM) - RECV[/10.211.55.15:44574|0] : Attach{name=9aefbd74-36f7-4656-b9c4-668ccd44b043_1d4d16fb-7dac-44bf-bb54-aba687614eaf,handle=1,role=receiver,sndSettleMode=mixed,rcvSettleMode=first,source=Source{address=9aefbd74-36f7-4656-b9c4-668ccd44b043,durable=none,timeout=0,dynamic=false,filter={selector=JMSSelector{amqp.message_id = 'c'}}},target=Target{address=9aefbd74-36f7-4656-b9c4-668ccd44b043,durable=none,timeout=0,dynamic=false},initialDeliveryCount=0}
> 2016-04-03 07:59:47,590 ERROR [IO-/10.211.55.15:44574] (o.a.q.s.Main) - Uncaught exception, shutting down.
> org.apache.qpid.filter.selector.TokenMgrError: Lexical error at line 1, column 6.  Encountered: "m" (109), after : "."
> 	at org.apache.qpid.filter.selector.SelectorParserTokenManager.getNextToken(SelectorParserTokenManager.java:1036) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.jj_ntk(SelectorParser.java:1211) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.multExpr(SelectorParser.java:370) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.addExpression(SelectorParser.java:336) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.comparisonExpression(SelectorParser.java:188) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.equalityExpression(SelectorParser.java:133) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.andExpression(SelectorParser.java:112) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.orExpression(SelectorParser.java:91) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.JmsSelector(SelectorParser.java:83) ~[classes/:na]
> 	at org.apache.qpid.filter.selector.SelectorParser.parse(SelectorParser.java:61) ~[classes/:na]
> 	at org.apache.qpid.server.filter.JMSSelectorFilter.<init>(JMSSelectorFilter.java:50) ~[classes/:na]
> 	at org.apache.qpid.server.protocol.v1_0.SendingLink_1_0.<init>(SendingLink_1_0.java:154) ~[classes/:na]
> 	at org.apache.qpid.server.protocol.v1_0.Session_1_0.remoteLinkCreation(Session_1_0.java:224) ~[classes/:na]
> 	at org.apache.qpid.server.protocol.v1_0.Connection_1_0$2$1.run(Connection_1_0.java:291) ~[classes/:na]
> 	at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_45]
> 	at org.apache.qpid.server.protocol.v1_0.Connection_1_0$2.remoteLinkCreation(Connection_1_0.java:286) ~[classes/:na]
> 	at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.receiveAttach(SessionEndpoint.java:309) ~[classes/:na]
> 	at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receiveAttach(ConnectionEndpoint.java:633) ~[classes/:na]
> 	at org.apache.qpid.amqp_1_0.type.transport.Attach.invoke(Attach.java:352) ~[classes/:na]
> 	at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receive(ConnectionEndpoint.java:823) ~[classes/:na]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org