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)
This should be fixed in the latest commit.