qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Wall (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-7181) [AMQP 1.0] Selector parsing error causes Java Broker to shutdown
Date Mon, 11 Apr 2016 17:17:25 GMT

    [ https://issues.apache.org/jira/browse/QPID-7181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15235521#comment-15235521
] 

Keith Wall commented on QPID-7181:
----------------------------------

I don't see a way to configure JavaCC to avoid the ugly Error, and I notice that our other
touch points in the other protocols already catch the same {{TokenMgrError}}. 

> [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


Mime
View raw message