instagram_mqtt: "Expected flags 2 but got X" error crashes node

This error randomly occurs for 1-2 times a day for one particular instagram account. X stands for some number, Ive seen 3, 8, 9, 10, 13 so far. So here is the error itself:

"error": {
    "name": "Error",
    "message": "Expected flags 2 but got 3",
    "stack": "Error: Expected flags 2 but got 3
    at UnsubscribeRequestPacket.assertPacketFlags (/usr/backend/node_modules/mqtts/src/mqtt.packet.ts:73:19)
    at UnsubscribeRequestPacket.read (/usr/backend/node_modules/mqtts/src/packets/unsubscribe.request.packet.ts:26:14)
    at /usr/backend/node_modules/mqtts/src/mqtt.parser.ts:102:28
    at tryCatcher (/usr/backend/node_modules/bluebird/js/release/util.js:16:23)
    at Function.Promise.attempt.Promise.try (/usr/backend/node_modules/bluebird/js/release/method.js:39:29)
    at MqttParser.parse (/usr/backend/node_modules/mqtts/src/mqtt.parser.ts:101:35)
    at MQTToTClient.parseData (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:251:29)"
  }

After that there is some combination of these two errors:

"error": {
    "name": "Error",
    "message": "Unexpected packet: TYPE_PUBREC",
    "stack": "Error: Unexpected packet: TYPE_PUBREC
    at MQTToTClient.handlePacket (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:297:40)
    at /usr/backend/node_modules/mqtts/src/mqtt.client.ts:253:43
    at Array.forEach (<anonymous>)
    at MQTToTClient.parseData (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:253:25)
    at runNextTicks (internal/process/task_queues.js:59:5)
    at processImmediate (internal/timers.js:412:9)
    at process.topLevelDomainCallback (domain.js:130:23)"
  }
"error": {
    "name": "Error",
    "message": "Unexpected packet: TYPE_SUBSCRIBE",
    "stack": "Error: Unexpected packet: TYPE_SUBSCRIBE
    at MQTToTClient.handlePacket (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:297:40)
    at /usr/backend/node_modules/mqtts/src/mqtt.client.ts:253:43
    at Array.forEach (<anonymous>)
    at MQTToTClient.parseData (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:253:25)
    at runNextTicks (internal/process/task_queues.js:59:5)
    at processImmediate (internal/timers.js:412:9)
    at process.topLevelDomainCallback (domain.js:130:23)"
  }

After error from above occur several times thie error comes out

"error": {
    "code": "EPIPE",
    "name": "Error",
    "message": "This socket has been ended by the other party",
    "stack": "Error: This socket has been ended by the other party
    at TLSSocket.writeAfterFIN [as write] (net.js:447:14)
    at TlsTransport.send (/usr/backend/node_modules/mqtts/src/transport/tls.transport.ts:8:21)
    at MQTToTClient.sendPacket (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:246:24)
    at MQTToTClient.startFlow (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:197:25)
    at MQTToTClient.handlePacket (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:264:22)
    at /usr/backend/node_modules/mqtts/src/mqtt.client.ts:253:43
    at Array.forEach (<anonymous>)
    at MQTToTClient.parseData (/usr/backend/node_modules/mqtts/src/mqtt.client.ts:253:25)
    at runNextTicks (internal/process/task_queues.js:59:5)
    at processImmediate (internal/timers.js:412:9)
    at process.topLevelDomainCallback (domain.js:130:23)"
  }

And node crashes getting this error:

"error": {
    "cause": {
      "errno": -3,
      "code": "Z_DATA_ERROR",
      "name": "Error",
      "message": "invalid distance too far back",
      "stack": "Error: invalid distance too far back\n    at Zlib.zlibOnError [as onerror] (zlib.js:170:17)"
    },
    "isOperational": true,
    "errno": -3,
    "code": "Z_DATA_ERROR",
    "name": "Error",
    "message": "invalid distance too far back",
    "stack": "Error: invalid distance too far back\n    at Zlib.zlibOnError [as onerror] (zlib.js:170:17)"
  }

Any idea what could be the reason and how to avoid these errors or at least crashes?

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 51 (20 by maintainers)

Most upvoted comments

Can confirm Error: Unknown type: 10 here as well even when running the live example

This should be fixed in the latest commit.