Mycroft will only learn pairing skill

After installing Mycroft and running the dev setup script, I was unable to pair Mycroft (for Linux - Debian 9 x64). I was able to manually install skill-pairing with msm and pair Mycroft. However all subsequent attempts to install skills fail. Well, sort of. After running msm/msm default, Mycroft downloaded a bunch of skills and put them in /opt/mycroft/skills. However, Mycroft responds to any question with “Sorry, I didn’t catch that.” From the debug console if I enter “:skills” the ONLY loaded skill listed is skill-pairing.

Any suggestions?

Hey @imrazor, couple of thoughts here:

  • What permissions are set on /opt/mycroft/skills?
  • What does /var/log/mycroft-skills.log tell us?

Permissions look like so:

deb7567:/opt/mycroft$ ls -l 
total 8
drwxr-xr-x 34 imrazor imrazor 4096 Feb 17 17:03 skills
-rw-r--r--  1 imrazor imrazor 1743 Feb 17 17:04 web_config_cache.json

As for the log file -

ls /var/log/mycroft-skills.log
ls: cannot access '/var/log/mycroft-skills.log': No such file or directory

it appears to not exist. Not sure what that means.

OK, we’ve seen a few issues on Debian, like this.
Is there any chance you could spin up a Ubuntu 16.04 VM to try?
I know they’re closely related distros, but we’ve seen several issues when Mycroft is installed under Debian.

I also gave you the wrong path for the log files, apologies.
On a Linux installation, they are at ../mycroft-core/scripts/logs

Best, Kathy

I will try to look for the log when I have my laptop handy. I did try to install on a different Fedora 27 machine, and ran into the same problem.

Is there any particular reason for Ubuntu 16.04? If I have to use Ubuntu, I’d rather use a current version…

Im having the same issue here. Using ubuntu 17.

Logs pls :slight_smile:

I have exactly the same issue. Fresh install on Ubuntu 16.04.3 LTS.

1.) git pull dev tree
2.) run dev_setup.sh script (everything builds fine)
3.) run scripts/prepare-msm.sh (everything executes fine and /opt/mycroft/ tree is created)
4.) run msm/msm default (large number of default skills are installed into /opt/mycroft/skills)
5.) run start_mycroft.sh all
6.) run start_mycroft.sh cli
7.) execute :skills command and see only skill-pairing loaded
8.) “Pair my device” command and process works fine, mycroft indicates pairing was successfull
9.) No subsequent command works as no skills seem to load other than “skill-pairing”.

Every command generates the following log (mycroft-skills.log):

18:38:50.299 - SKILLS - DEBUG - {“type”: “recognizer_loop:utterance”, “data”: {“lang”: “en-us”, “utterances”: [“what is the time”]}, “context”: null}
18:38:50.304 - mycroft.skills.intent_service:send_metrics:244 - DEBUG - Sending metric
18:38:50.306 - SKILLS - DEBUG - {“type”: “intent_failure”, “data”: {“lang”: “en-us”, “utterance”: “what is the time”}, “context”: {}}
18:38:50.307 - mycroft.skills.padatious_service:handle_fallback:107 - DEBUG - Padatious fallback attempt: what is the time
18:38:50.308 - SKILLS - DEBUG - {“type”: “mycroft.skill.handler.start”, “data”: {“handler”: “fallback”}, “context”: null}
18:38:50.309 - mycroft.skills.padatious_service:handle_fallback:110 - DEBUG - Waiting for training to finish…

There’s no log of any attempt being made of any skill other than ‘skill-pairing’ being loaded…

Also, MSM reports that the default skills are installed when doing ‘msm list’

Any ideas?

Does it work after a restart of mycroft services?

Just wanted to post an update. A day or two ago I ran:

msm/msm default

This redownloaded all the base skills, and Mycroft actually started responding to queries. He’s a bit quirky, but far more useful now.

1 Like

No unfortunately not. No attempt is made at startup to load the skills in /opt/mycroft/skills according to the logs, only the pairing skill is loaded.

Just an update from my side:

I managed to load some default skills if I specify them in the ~/.mycroft/mycroft.conf configuration file in the skills section as follows:

// General skill values
"skills": {
// Directory to look for user skills
//“directory”: “~/.mycroft/skills”,
“directory”: “/opt/mycroft/skills”,
// TODO: Old unused kludge, remove from code
"stop_threshold": 2.0,
// Enable auto update by msm
"auto_update": true,
// blacklisted skills to not load
"blacklisted_skills": [“skill-media”, “send_sms”, “skill-wolfram-alpha”],
// priority skills to be loaded first
"priority_skills": [“skill-pairing”, “skill-date-time”, “ping-skill”, “skill-joke”, “mycroft-timer”, “skill-alarm”, “skill-speak”, “skill-installer” , “skill-npr-news”, “skill-configuration”, “skill-singing”, “skill-stock”, “skill-stop”, “skill-weather”, “skill-wiki”, “calculator-skill”, “skill-reminder”, “fallback-aiml”, “fallback-duckduckgo”, “fallback-wolfram-alpha”, “fallback-unknown” ],
// Minimum time since last skill updata to force an update on startup
"startup_update_required_time": 12
},

If I don’t specify each skill in “priority_skills” then it simply doesn’t get loaded automatically.

This is true for the master branch and dev branch, both exhibit the same behavior on Ubuntu 16.04 LTS, and Ubuntu 17.10.

Interesting. Firstly, apologies you’re experiencing this issue.

What happens if you run

sudo msm update

This will update all the Skills.

I just ran into this and found a workaround.
In your config change, “auto_update” to false.

1 Like

Can confirm, this also resolved the issue for me.