"Event: Device info update failure"

I was messing around with some iptables rules from an SSH session inside my app container. One of those rules caused the supervisor to be unable to reach the Resin API. When it didn’t restart after a reboot command, I did a hard restart of the device to restore connectivity. However, it appears that the Resin supervisor is now stuck in a corrupted state:

Aug 29 23:04:16 1b3a62c dockerd[748]: time="2017-08-29T23:04:16.713687299Z" level=error msg="Handler for POST /containers/REDACTED/start returned error: Container already started"
Aug 29 23:04:16 1b3a62c start-resin-supervisor[1059]: Tue, 29 Aug 2017 23:04:16 GMT body-parser deprecated bodyParser: use individual json/urlencoded middlewares at usr/src/app/dist/app.js:92:29127
Aug 29 23:04:16 1b3a62c dockerd[748]: Tue, 29 Aug 2017 23:04:16 GMT body-parser deprecated bodyParser: use individual json/urlencoded middlewares at usr/src/app/dist/app.js:92:29127
Aug 29 23:04:17 1b3a62c start-resin-supervisor[1059]: [2017-08-29T23:04:17.669Z] Event: Device info update failure {"error":{"message":"It is necessary that each device that should be running a build, should be running a build that belongs to an application that the device belongs to.","stack":"t: It is necessary that each device that should be running a build, should be running a build that belongs to an application that the device belongs to.\n    at /usr/src/app/dist/app.js:374:177511\n    at r (/usr/src/app/dist/app.js:1:2435)\n    at i._settlePromiseFromHandler (/usr/src/app/dist/app.js:294:42181)\n    at i._settlePromise (/usr/src/app/dist/app.js:294:43083)\n    at i._settlePromise0 (/usr/src/app/dist/app.js:294:43782)\n    at i._settlePromises (/usr/src/app/dist/app.js:294:45109)\n    at i._fulfill (/usr/src/app/dist/app.js:294:44152)\n    at s._resolve (/usr/src/app/dist/app.js:294:53153)\n    at s._promiseFulfilled (/usr/src/app/dist/app.js:294:53494)\n    at s._iterate (/usr/src/app/dist/app.js:294:52974)\n    at s.t [as _init] (/usr/src/app/dist/app.js:294:52449)\n    at i._settlePromise (/usr/src/app/dist/app.js:294:43121)\n    at i._settlePromise0 (/usr/src/app/dist/app.js:294:43782)\n    at i._settlePromises (/usr/src/app/dist/app.js:294:45109)\n    at i._fulfill (/usr/src/app/dist/app.js:294:44152)\n    at s._callback (/usr/src/app/dist/app.js:92:29108)"},"stateDiff":{"api_port":48484,"api_secret":"REDACTED","os_version":"Resin OS 2.2.0+rev1","os_variant":"dev","supervisor_version":"6.1.2","provisioning_progress":null,"provisioning_state":"","download_progress":null,"logs_channel":"REDACTED","ip_address":"192.168.1.14 192.168.64.1","status":"Starting","commit":"76f4879c84fe650a1ab5757b76cff116f370de21"}}
Aug 29 23:04:17 1b3a62c dockerd[748]: [2017-08-29T23:04:17.669Z] Event: Device info update failure {"error":{"message":"It is necessary that each device that should be running a build, should be running a build that belongs to an application that the device belongs to.","stack":"t: It is necessary that each device that should be running a build, should be running a build that belongs to an application that the device belongs to.\n    at /usr/src/app/dist/app.js:374:177511\n    at r (/usr/src/app/dist/app.js:1:2435)\n    at i._settlePromiseFromHandler (/usr/src/app/dist/app.js:294:42181)\n    at i._settlePromise (/usr/src/app/dist/app.js:294:43083)\n    at i._settlePromise0 (/usr/src/app/dist/app.js:294:43782)\n    at i._settlePromises (/usr/src/app/dist/app.js:294:45109)\n    at i._fulfill (/usr/src/app/dist/app.js:294:44152)\n    at s._resolve (/usr/src/app/dist/app.js:294:53153)\n    at s._promiseFulfilled (/usr/src/app/dist/app.js:294:53494)\n    at s._iterate (/usr/src/app/dist/app.js:294:52974)\n    at s.t [as _init] (/usr/src/app/dist/app.js:294:52449)\n    at i._settlePromise (/usr/src/app/dist/app.js:294:43121)\n    at i._settlePromise0 (/usr/src/app/dist/app.js:294:43782)\n    at i._settlePromises (/usr/src/app/dist/app.js:294:45109)\n    at i._fulfill (/usr/src/app/dist/app.js:294:44152)\n    at s._callback (/usr/src/app/dist/app.js:92:29108)"},"stateDiff":{"api_port":48484,"api_secret":"REDACTED","os_version":"Resin OS 2.2.0+rev1","os_variant":"dev","supervisor_version":"6.1.2","provisioning_progress":null,"provisioning_state":"","download_progress":null,"logs_channel":"REDACTED","ip_address":"192.168.1.14 192.168.64.1","status":"Starting","commit":"76f4879c84fe650a1ab5757b76cff116f370de21"}}

Those errors are now repeating every few seconds on the host system (which I can still SSH into). Attempting to restart my application from the Resin dashboard gives me an error:

Request error: It is necessary that each device that should be running a build, should be running a build that belongs to an application that the device belongs to.

Even trying to “grant support access” from the Resin dashboard greets me with the same error.

I actually tried signing up for a paid plan so I could open a support ticket, but apparently I can’t start paying Resin money without first talking to sales :frowning:

Anyway, this seems like a supervisor bug or something.

this spontaneously cleared itself up sometime just after 2017-08-30T00:25:24.570Z. Maybe an API issue was resolved? Thanks to whoever fixed it if so! :slight_smile:

This is consistent, in both timing and error message, with an issue we were experiencing (http://status.resin.io/incidents/nlnssh6mqgf5).


resin.io

@Sqweelygig actually I think this started just a bit after the status page claimed that issue was resolved, and didn’t end for at least another hour after that.