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

Christian Posta commented on AMQ-4712:
--------------------------------------

Guys, I took a look at this tonight. Goes deep... I won't have time to continue 
looking at it for a few days because i'll be with family, but if someone else 
wants to pick it up, here's what I found..

Somehow, the MQTT client is seeing two SUBACK frames for the same messageId (as 
indicated from the error: Command from server contained an invalid message id: 
1). The broker logs that it only sends it once.  

So I took a peak at the SSLTransport and MQTTProtocolCodec... seems things are 
okay in that the next action is advanced properly from header to body, but for 
some reason, the readBuffers actually do have two instances of the SUBACK 
frame....

Digging deeper, it seems the SSL Transport is "reading" those frames off the 
wire, but I suspect incorrectly. It *might* have some issues w/ how it deals 
with buffer underflow/overflow, but I couldn't pin it down for sure.

If nobody else gets to it, i'll pick it up later this weekend when I get a sec. 
 

> MQTT unit tests fail
> --------------------
>
>                 Key: AMQ-4712
>                 URL: https://issues.apache.org/jira/browse/AMQ-4712
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: MQTT, Test Cases
>    Affects Versions: 5.9.0
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Rob Davies
>             Fix For: 5.9.0
>
>
> Running org.apache.activemq.transport.mqtt.MQTTNioTest
> Tests run: 19, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 160.808 sec 
> <<< FAILURE!
> Running org.apache.activemq.transport.mqtt.MQTTSSLTest
> Tests run: 18, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 161.426 sec 
> <<< FAILURE!
> Running org.apache.activemq.transport.mqtt.MQTTTest
> Tests run: 18, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 158.184 sec 
> <<< FAILURE!
> Results :
> Tests in error:
>   testPingOnMQTTNIO(org.apache.activemq.transport.mqtt.MQTTNioTest): The 
> client id MUST be configured when clean session is set to false
>   
> testReceiveMessageSentWhileOffline(org.apache.activemq.transport.mqtt.MQTTNioTest):
>  String index out of range: -6
>   
> testReceiveMessageSentWhileOffline(org.apache.activemq.transport.mqtt.MQTTSSLTest):
>  Command from server contained an invalid message id: 1
>   
> testReceiveMessageSentWhileOffline(org.apache.activemq.transport.mqtt.MQTTTest):
>  Command from server contained an invalid message id: 1
> Tests run: 55, Failures: 0, Errors: 4, Skipped: 0



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to