At a complete loss here, but as soon as I attempt to connect to CloudMQTT, my client crashes.

> 
> 3-05 16:22:54.541 9063-9078/my.pkg.name D/MQTTCONN: About to connect
> 
> 
> 03-05 16:22:55.341 9063-9091/my.pkg.name D/AlarmPingSender: Unregister alarmreceiver to MqttServiceourTestMqttSubId
> 
> 
> 03-05 16:22:55.375 9063-9063/my.pkg.name E/MQTTFAIL: Connection lost
> 
> 
> 03-05 16:22:55.376 9063-9063/my.pkg.name W/System.err: at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146)
> 
> 
> 03-05 16:22:55.377 9063-9063/my.pkg.name W/System.err: at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65)
> 
> 
> 03-05 16:22:55.377 9063-9063/my.pkg.name W/System.err: at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107)
> 
> 
> 

Here is my code:

```
final MqttAndroidClient mqttClient = new MqttAndroidClient(
    argsService.getContext(),
    (String) configService.getArg("mqttBroker"),
    activeSubId.getSubId(),
    new MemoryPersistence()
);

MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
options.setUserName((String) configService.getArg("mqttUser"));
options.setPassword(((String) configService.getArg("mqttPassword")).toCharArray());
options.setConnectionTimeout(9999);

Log.d("MQTTCONN", "About to connect");
mqttClient.connect(options, null, new IMqttActionListener() {
    @Override
    public void onSuccess(IMqttToken asyncActionToken) {
        Log.d("MQTTCONN", "Connect ready");
        mqttClient.setCallback(new MqttCallback() {
            @Override
            public void connectionLost(Throwable cause) {
                // Someday, in case we want to recover our service
            }

            @Override
            public void messageArrived(String topic, MqttMessage message) throws Exception {
                receiveMessageIntent.enact(
                    new JSONObject(new String(message.getPayload())),
                    pubsub
                );
            }

            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {

            }
        });

        try {
            mqttClient.subscribe(getSubId().getSubId(), QOS);
        } catch (MqttException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
        Log.e("MQTTFAIL", exception.getMessage());
        exception.printStackTrace();
    }
});

```

Troubleshooting I've already tried:

* Setting the appropriate Android permissions right above opening my `application` tag in the Manifest (but I'm not using persistence, so it just needs internet)
* Setting MQTT version to `MqttConnectOptions.MQTT_VERSION_3_1`
* Trying `ssl://` with CloudMQTT's SSQL 2XXXX port
* Restarting CloudMQTT Instance