RoonLabs / node-roon-api

Javascript Roon API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Issue following latest roon core release

superfell opened this issue · comments

I've noticed that i occasionally get this crash from my roon integration after the last update to the roon core.

Aug 24 00:22:59 DietPi node[448]: /home/dietpi/roon/node_modules/node-roon-api/moo.js:192
Aug 24 00:22:59 DietPi node[448]: let cb = this.requests[msg.request_id].cb;
Aug 24 00:22:59 DietPi node[448]: ^
Aug 24 00:22:59 DietPi node[448]: TypeError: Cannot read property 'cb' of undefined
Aug 24 00:22:59 DietPi node[448]: at Moo.handle_response (/home/dietpi/roon/node_modules/node-roon-api/moo.js:192:44)

I see this if anything causes significant delay, especially for eg stopping on a break point, or your code otherwise blocks for too long for some reason (which of course it shouldn't).

This sounds similar to something we ran into recently and may have a fix for. I've fwded it to the team to find out one way or the other.

I don't think this is related to the problem we fixed in 6cab771 which I believe is what @blucz is referring to.

I have vague ideas of what might cause this but don't see an obvious route to trying to reproduce it. Can you describe anything about the conditions under which you see the crash or the steps I'd need to follow to reproduce?

The 2 most recent crashes don't show much. In the first one it happened just after a zone was added and there was another zone playing, in the 2nd, nothing looks like it was going on, and there were no zones playing at that time.

Aug 31 05:30:18 DietPi node[13248]: Fri Aug 31 2018 05:30:18 Changed { zones_added:
Aug 31 05:30:18 DietPi node[13248]:    [ { zone_id: '16013ef54f18b4ac006476d723c733499ec6',
Aug 31 05:30:18 DietPi node[13248]:        display_name: 'Simon Fell\'s Pixel',
Aug 31 05:30:18 DietPi node[13248]:        outputs: [Array],
Aug 31 05:30:18 DietPi node[13248]:        state: 'stopped',
Aug 31 05:30:18 DietPi node[13248]:        is_next_allowed: true,
Aug 31 05:30:18 DietPi node[13248]:        is_previous_allowed: false,
Aug 31 05:30:18 DietPi node[13248]:        is_pause_allowed: false,
Aug 31 05:30:18 DietPi node[13248]:        is_play_allowed: false,
Aug 31 05:30:18 DietPi node[13248]:        is_seek_allowed: false,
Aug 31 05:30:18 DietPi node[13248]:        queue_items_remaining: 0,
Aug 31 05:30:18 DietPi node[13248]:        queue_time_remaining: 0,
Aug 31 05:30:18 DietPi node[13248]:        settings: [Object] } ] }
Aug 31 05:30:19 DietPi node[13248]: /home/dietpi/roon/node_modules/node-roon-api/moo.js:192
Aug 31 05:30:19 DietPi node[13248]:     let cb = this.requests[msg.request_id].cb;
Aug 31 05:30:19 DietPi node[13248]:                                            ^
Aug 31 05:30:19 DietPi node[13248]: TypeError: Cannot read property 'cb' of undefined
Aug 31 05:30:19 DietPi node[13248]:     at Moo.handle_response (/home/dietpi/roon/node_modules/node-roon-api/moo.js:192:44)
Aug 31 05:30:19 DietPi node[13248]:     at Transport.transport.onmessage.msg [as onmessage] (/home/dietpi/roon/node_modules/node-roon-api/lib.js:395:27)
Aug 31 05:30:19 DietPi node[13248]:     at WebSocket.Transport.ws.onmessage (/home/dietpi/roon/node_modules/node-roon-api/transport-websocket.js:30:14)
Aug 31 05:30:19 DietPi node[13248]:     at WebSocket.onMessage (/home/dietpi/roon/node_modules/ws/lib/WebSocket.js:442:14)
Aug 31 05:30:19 DietPi node[13248]:     at WebSocket.emit (events.js:182:13)
Aug 31 05:30:19 DietPi node[13248]:     at Receiver.onbinary (/home/dietpi/roon/node_modules/ws/lib/WebSocket.js:848:10)
Aug 31 05:30:19 DietPi node[13248]:     at /home/dietpi/roon/node_modules/ws/lib/Receiver.js:628:18
Aug 31 05:30:19 DietPi node[13248]:     at Receiver.applyExtensions (/home/dietpi/roon/node_modules/ws/lib/Receiver.js:371:5)
Aug 31 05:30:19 DietPi node[13248]:     at /home/dietpi/roon/node_modules/ws/lib/Receiver.js:604:14
Aug 31 05:30:19 DietPi node[13248]:     at Receiver.flush (/home/dietpi/roon/node_modules/ws/lib/Receiver.js:347:3) 
Sep 09 17:36:35 DietPi node[27998]: Sun Sep 09 2018 17:36:35 Changed { zones_removed: [ '1601352621300fa541fc0624b2ed6e0c3436' ] }
Sep 09 17:45:19 DietPi node[27998]: /home/dietpi/roon/node_modules/node-roon-api/moo.js:192
Sep 09 17:45:19 DietPi node[27998]:     let cb = this.requests[msg.request_id].cb;
Sep 09 17:45:19 DietPi node[27998]:                                            ^
Sep 09 17:45:19 DietPi node[27998]: TypeError: Cannot read property 'cb' of undefined
Sep 09 17:45:19 DietPi node[27998]:     at Moo.handle_response (/home/dietpi/roon/node_modules/node-roon-api/moo.js:192:44)
Sep 09 17:45:19 DietPi node[27998]:     at Transport.transport.onmessage.msg [as onmessage] (/home/dietpi/roon/node_modules/node-roon-api/lib.js:395:27)
Sep 09 17:45:19 DietPi node[27998]:     at WebSocket.Transport.ws.onmessage (/home/dietpi/roon/node_modules/node-roon-api/transport-websocket.js:30:14)
Sep 09 17:45:19 DietPi node[27998]:     at WebSocket.onMessage (/home/dietpi/roon/node_modules/ws/lib/WebSocket.js:442:14)
Sep 09 17:45:19 DietPi node[27998]:     at WebSocket.emit (events.js:182:13)
Sep 09 17:45:19 DietPi node[27998]:     at Receiver.onbinary (/home/dietpi/roon/node_modules/ws/lib/WebSocket.js:848:10)
Sep 09 17:45:19 DietPi node[27998]:     at /home/dietpi/roon/node_modules/ws/lib/Receiver.js:628:18
Sep 09 17:45:19 DietPi node[27998]:     at Receiver.applyExtensions (/home/dietpi/roon/node_modules/ws/lib/Receiver.js:371:5)
Sep 09 17:45:19 DietPi node[27998]:     at /home/dietpi/roon/node_modules/ws/lib/Receiver.js:604:14
Sep 09 17:45:19 DietPi node[27998]:     at Receiver.flush (/home/dietpi/roon/node_modules/ws/lib/Receiver.js:347:3)

we believe this problem was fixed with 42966d7

if you see trace or non-working behavior, let us know.

New issue created instead