Skip to content
This repository has been archived by the owner on Jun 4, 2023. It is now read-only.

Got an uncaught exception on the Chromecast subsystem #17

Open
jbfavre opened this issue Nov 21, 2014 · 5 comments
Open

Got an uncaught exception on the Chromecast subsystem #17

jbfavre opened this issue Nov 21, 2014 · 5 comments

Comments

@jbfavre
Copy link

jbfavre commented Nov 21, 2014

Hello,
Got this error with lastest version of Dashkiosk.
I'm running it on Debian Wheezy and nodejs 0.10.33 from Joyent.

That does not prevent Dashkiosk to run, but maybe it could explain connexion loss I got from time to time with Chromecast devices ?

Regards,
JB

error: Got an uncaught exception on the Chromecast subsystem 
{ stack: 
   [ 'Error: dns service error: unknown',
     '    at MDNSService.on_resolver_done (/var/www/node_modules/nodecastor/node_modules/mdns2/lib/resolver_sequence_tasks.js:19:30)',
     '    at SocketWatcher.MDNSService.self.watcher.callback (/var/www/node_modules/nodecastor/node_modules/mdns2/lib/mdns_service.js:17:38)' ],
  message: 'dns service error: unknown',
  errorCode: -65537,
  domainEmitter: 
   { domain: 
      { domain: null,
        _events: { error: [Function] },
        _maxListeners: 10,
        members: [] },
     _events: 
      { serviceUp: [Function: onServiceUp],
        serviceDown: [Function: onServiceDown] },
     _maxListeners: 10,
     _watcherStarted: true,
     serviceRef: { initialized: true, fd: 13 },
     watcher: 
      { host: { '$ref': '$["domainEmitter"]' },
        callback: [Function] } },
  domain: { '$ref': '$["domainEmitter"]["domain"]' },
  domainThrown: false }
@vincentbernat
Copy link
Owner

The codepath is enterily outside of Dashkiosk (and nodecastor). Could you check if you have something in avahi log files at the same time? I would suspect that the network "problem" is the cause of such an exception.

Not catching the exception is "normal" since it lives in a codepath where it cannot be caught (because of asynchronousness). The best that can be done is to limit it to the Chromecast module which is done here. Its presence should not disrupt the operation of other Chromecasts.

Currently, a fork of node mdns is used because the original project was not active anymore when the code was written. However, it seems that the original project is now active again and released some improvements. I will try it to check if it is compatible and switch back.

You can check yourself if you want. mdns is a dependency of "nodecastor", so in node_modules/nodecastor, you can "npm install mdns" and in node_modules/nodecastor/lib/scanner.js, replace mdns2 by mdns.

@vincentbernat
Copy link
Owner

I have updated the dependencies to use mdns instead of mdns2. This works fine for me. I'll do a release soon and you can then check if things are better for you or not.

@mdlima
Copy link

mdlima commented Nov 28, 2014

FWIW, I was seeing this error too when the receiver url I used could not be accessed from the Chromecasts.

@vincentbernat
Copy link
Owner

@jbfavre Do you still have the problem?

@jbfavre
Copy link
Author

jbfavre commented Jun 26, 2015

did not pay specific attention to it. Still have to test mdns2 replacement though.
Will try to do it next week.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants