Urllib error: 'unknown url type' in voice.log


#1

I’m working with mycroft on linux. I have yet to set up a speaker or microphone; so far I’ve just been using the client gui, so some of the errors make some sense. But somewhere in the setup the code encounters an error that isn’t handled by mcroft.
When I run ./start-mycroft.sh all, wait a little, and then ./stop-mycroft.sh, this is what I get in the voice log.
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,‘IEC958 Playback Default’,0,0,0): No such file or directory
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,‘IEC958 Playback Default’,0,0,0): No such file or directory
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,‘IEC958 Playback Default’,0,0,0): No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
13:18:00.188 - mycroft.client.speech.listener:create_wake_word_recognizer:249 - INFO - creating wake word engine
13:18:00.189 - mycroft.client.speech.hotword_factory:load_module:277 - INFO - Loading “hey mycroft” wake word via precise
13:18:00.664 - mycroft.client.speech.hotword_factory:initialize:300 - ERROR - Could not create hotword (). Falling back to default.
Traceback (most recent call last):
File “/home/maejoh/mycroft-core/.venv/lib/python3.5/site-packages/petact/petact.py”, line 105, in install_package
remote_md5 = download(md5_url).decode(‘utf-8’).split(’ ')[0]
File “/home/maejoh/mycroft-core/.venv/lib/python3.5/site-packages/petact/petact.py”, line 51, in download
with urllib.request.urlopen(url) as response:
File “/usr/lib/python3.5/urllib/request.py”, line 163, in urlopen
return opener.open(url, data, timeout)
File “/usr/lib/python3.5/urllib/request.py”, line 466, in open
response = self._open(req, data)
File “/usr/lib/python3.5/urllib/request.py”, line 489, in _open
‘unknown_open’, req)
File “/usr/lib/python3.5/urllib/request.py”, line 444, in _call_chain
result = func(*args)
File “/usr/lib/python3.5/urllib/request.py”, line 1324, in unknown_open
raise URLError(‘unknown url type: %s’ % type)
urllib.error.URLError: <urlopen error unknown url type: <!doctype html>



<link rel=“dns-prefetch” href="https>

During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
  File "/home/maejoh/mycroft-core/mycroft/client/speech/hotword_factory.py", line 285, in initialize
    instance = clazz(hotword, config, lang=lang)
  File "/home/maejoh/mycroft-core/mycroft/client/speech/hotword_factory.py", line 140, in __init__
    precise_exe = self.install_exe(precise_config['dist_url'])
  File "/home/maejoh/mycroft-core/mycroft/client/speech/hotword_factory.py", line 176, in install_exe
    on_download=self.on_download, on_complete=self.on_complete
  File "/home/maejoh/mycroft-core/.venv/lib/python3.5/site-packages/petact/petact.py", line 107, in install_package
    raise ValueError('Invalid MD5 url: ' + md5_url)
ValueError: Invalid MD5 url: <!DOCTYPE html> .....

It then continues for about a 1300 more lines (all pasted in pastebin.com/SnkMdZ7K) alternating between “During handling of the above exception, another exception occurred:” and web-pages-worth of html.
The only thing I’ve been able to find googling this error is that it happens when try to use an invalid url type or something, but I definitely don’t know where a url is being passed or why it’s wrong.
Somebody on a different stack overflow question said the person (who was not using mycroft) either had something wrong with their python, or their OS, and that their python probably had somehow been installed without https support.

Advice?


#2

Hey,

It looks like your on an i686 based machine and we don’t have a Precise executable compiled for that architecture. So the script is receiving a 404 page instead which is the html you’re seeing in the log.

You should still be able to use PocketSphinx, but would need to build your own Precise package if you wanted to use that. This only affects the wake word functionality though, so if you’re just using the GUI / CLI then it shouldn’t affect your usage.


#3

Awesome. I had noticed it didn’t seem to be affecting anything. Thank you much!