aws / aws-iot-device-sdk-js-v2

Next generation AWS IoT Client SDK for Node.js using the AWS Common Runtime
Apache License 2.0
222 stars 100 forks source link

MQTT Connection Closed #503

Closed TusharBudhirajaDev closed 5 months ago

TusharBudhirajaDev commented 5 months ago

Describe the bug

Hey I am using aws-iot-device-sdk-v2 in my Angular application on frontend side, I create a client using this sdk, so while using this my client create using following parameters:

  1. accessKeyId
  2. secretKey
  3. host
  4. clientId
  5. region
  6. sessionToken

My client has been created successfully, and my connect event is working fine but before message event is called, I get an error of connection close like this

Error: Error: Connection closed at new CrtError (error.js:34:1) at MqttClientConnection._this.on_error (mqtt.js:271:1) at mqtt.js:475:1 at Object.cb (client.js:831:1) at client.js:198:1 at Array.forEach () at flushVolatile (client.js:196:1) at Duplexify. (client.js:469:1) at Duplexify.emit (events.js:153:1) at push.+xLd.Duplexify._destroy (index.js:199:1)errorr...... Error: Error: Connection closed at new CrtError (error.js:34:1) at MqttClientConnection._this.on_error (mqtt.js:271:1) at mqtt.js:475:1 at Object.cb (client.js:831:1) at client.js:198:1 at Array.forEach () at flushVolatile (client.js:196:1) at Duplexify. (client.js:469:1) at Duplexify.emit (events.js:153:1) at push.+xLd.Duplexify._destroy (index.js:199:1)

Expected Behavior

My message event should be working according to documentation given by aws

Current Behavior

Throwing error

Error: Error: Connection closed at new CrtError (error.js:34:1) at MqttClientConnection._this.on_error (mqtt.js:271:1) at mqtt.js:475:1 at Object.cb (client.js:831:1) at client.js:198:1 at Array.forEach () at flushVolatile (client.js:196:1) at Duplexify. (client.js:469:1) at Duplexify.emit (events.js:153:1) at push.+xLd.Duplexify._destroy (index.js:199:1)errorr...... Error: Error: Connection closed at new CrtError (error.js:34:1) at MqttClientConnection._this.on_error (mqtt.js:271:1) at mqtt.js:475:1 at Object.cb (client.js:831:1) at client.js:198:1 at Array.forEach () at flushVolatile (client.js:196:1) at Duplexify. (client.js:469:1) at Duplexify.emit (events.js:153:1) at push.+xLd.Duplexify._destroy (index.js:199:1)

Reproduction Steps

const client = this.getClient(iotInput); let counter = 0;

    client.on('connect', () => {
        console.log('$$$', iotInput);

        client.subscribe(iotInput.topic, 1);
        iotInput.connectionSuccessCallback();
        console.log('connecting......');
    });

    client.on('message', (topic, message) => {
        const data = new TextDecoder('utf-8').decode(message);
        console.log('message......', data);
       }

Possible Solution

No response

Additional Information/Context

No response

SDK version used

1.16.1

Environment details (OS name and version, etc.)

facing issue on both window and mac(ios) as well

bretambrose commented 5 months ago

Please provide full, minimal standalone repro. The code snippet is insufficient.

In general, a reliable connection closed behavior is usually due to incorrect permissions on the IAM policy that is associated with the credentials used to establish the websocket connection. What is the policy you are using?

github-actions[bot] commented 5 months ago

Greetings! It looks like this issue hasn’t been active in longer than a week. We encourage you to check if this is still an issue in the latest release. Because it has been longer than a week since the last update on this, and in the absence of more information, we will be closing this issue soon. If you find that this is still a problem, please feel free to provide a comment or add an upvote to prevent automatic closure, or if the issue is already closed, please feel free to open a new one.

TusharBudhirajaDev commented 5 months ago

This issues has been debugged, Its a IAM policy. Thanks for helping

github-actions[bot] commented 5 months ago

This issue is now closed. Comments on closed issues are hard for our team to see. If you need more assistance, please open a new issue that references this one.