Mark I no longer works after update

For the second time since I own my Mark I the Mycroft application stopped working after (automatic) update. I am afraid I have to reinstall the Mycroft-Mark-I image once again. Is there any way to disable the automatic update (e.g. deleting /etc/cron.hourly/mycroft-core)?

When calling mycroft-cli-client I get following error message:
Traceback (most recent call last):
File “/opt/venvs/mycroft-core/bin/mycroft-cli-client”, line 11, in
load_entry_point(‘mycroft-core==18.2.8’, ‘console_scripts’, ‘mycroft-cli-client’)()
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/pkg_resources/init.py”, line 476, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/pkg_resources/init.py”, line 2700, in load_entry_point
return ep.load()
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/pkg_resources/init.py”, line 2318, in load
return self.resolve()
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/pkg_resources/init.py”, line 2324, in resolve
module = import(self.module_name, fromlist=[‘name’], level=0)
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/init.py”, line 17, in
from mycroft.api import Api
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/api/init.py”, line 21, in
from mycroft.configuration import Configuration
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/configuration/init.py”, line 15, in
from .config import Configuration, LocalConf, RemoteConf,
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/configuration/config.py”, line 23, in
from mycroft.util.json_helper import load_commented_json
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/util/init.py”, line 31, in
import mycroft.audio
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/audio/init.py”, line 17, in
from mycroft.util.signal import check_for_signal, create_signal
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/util/signal.py”, line 22, in
from mycroft.util.log import LOG
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/util/log.py”, line 110, in
LOG.init()
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/util/log.py”, line 65, in init
config = load_commented_json(sys_config) if isfile(sys_config) else {}
File “/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/util/json_helper.py”, line 38, in load_commented_json
return json.loads(uncomment_json(contents))
File “/usr/lib/python3.4/json/init.py”, line 318, in loads
return _default_decoder.decode(s)
File “/usr/lib/python3.4/json/decoder.py”, line 343, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File “/usr/lib/python3.4/json/decoder.py”, line 361, in raw_decode
raise ValueError(errmsg(“Expecting value”, s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)

1 Like

Hi there @Dominik, thanks for reporting this issue and sorry to hear you’ve run into this issue.

You can disable the automatic updates - using the documentation here (docs for Picroft, it works similarly on Mark 1).

However, I’m more concerned with why the error is occurring and would like to try and get to the root cause. I tried to replicate this on the Mark 1 I have here, but running mycroft-cli-client works as expected (version 18.2.8b)

Hi @KathyReid,
I found my Mark I displaying “updating…” but it no longer reacted to the wake-word or pressing the button on top. After reboot the behaviour did not change (still no reaction).
Unfortunately I can not provide any more information because I reinstalled the device from the mark-I-production image and I forgot to backup logfiles…

The documentation you have linked seems not to apply for the Mark I, at least my crontab looks different than the one in the docs. For now I commented out the “apt-get install…” line from /etc/cron.hourly/mycroft-core

OK, thanks for letting me know @Dominik.

When these sorts of symptoms occur, the unit is generally stuck on updating something. There’s a couple of things we can try, like a manual update via ssh. Is this something you’d be comfortable with - ie ssh'ing into the unit and running some commands?

Best, Kathy

Hello @KathyReid, ssh and shell commands do not scare me. After reinstalling the latest Mark-I image I already updated and installed the latest patches (including mycroft-core and kernel updates). As written above I also commented out the “apt-get install…” line from /etc/cron.hourly/mycroft-core. Is there anything else I can do to avoid automatic updates?
Is there any information source where I can find out about new patches/releases?

Ah great, those were the commands I was going to suggest, so you’re a step ahead.

Commenting out the apt-get update command from the crontab is pretty much how you prevent the automatic updates on a daily basis. However, I know that the Mark 1 also tries to do an update a boot. I checked rc.local and init.d but couldn’t find which file does the update-on-boot.

@forslund, do you know where this is configured on the Mark 1?

In terms of new patches and releases, I’d advise watching this GitHub repo for changes - we release around every two weeks.

Best Kathy

The only update is done in the cron-job it’s currently not configurable so the thing you can do is comment out the line in /etc/cron.hourly.d/mycroft-core This is the only place where the update is performed. On Picroft it does an update at boot as well but that is not the case for the Mark-1.

I’m a bit concerned with the error message you’re seeing. It indicates something wrong in the /etc/mycroft/mycroft.conf and I would very much like to know what that file looks like if this happens again.

1 Like

I remember having edited mycroft.conf a few days before (tried to switch the language to german) but reverted it to the original setting (at least I thought I did). Maybe there were some remainders of my editing that caused the update troubles afterwards. Unfortunately I don’t have a backup - but I will keep this in mind for my future editing efforts…

1 Like

Reviving this thread as I encounter new issues with my Mark I after updating.
After powerup Mark-I goes through a lengthy and several times repeating sequence of gray spinning, gray solid and yellow solid eyes. At the same time the display is showing “ILLUMINATION” (first entry of the menu when you press and hold the button on top), after some seconds the display goes black, repeating “ILLUMINATION” after some seconds again, and so on…

After some minutes the eyes turn blue (my color configured in Mycroft Home Skill settings). The display is swiching betweend “ILLUMINATION” and the current time (also configured in Skill settings).

The button menu does not work at all and turning the button does not change the display.

I suspect some problem with the Arduino, maybe some firmware flash went wrong?
Is there a way to reset/re-flash the Arduino manually with the latest firmware?

I am seeing mycroft.client.enclosure:read:75 - ERROR - Reading error: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte in mycroft-enclosure-client.log.

This fits nicely with line 75 of mycroft-core/mycroft/client/enclosure/init.py, def read() - which was last changed on July 5 for a improvement of the stop button. Since ca. mid July I am having the issues with the Mark-I faceplate.

tail -f </dev/ttyAMA0 outputs all kind of messages like mycroft.stop, volume.down, unit-enable-shh - so the faceplate/Arduino itself works but the enclosure client in mycroft-core is broken and not handling the Arduino messages properly

Hi @Dominik - I think you posted a solution to this in Chat?

Good morning @KathyReid

Yes, at least the top Button menu and text output of skills work with following:

Change line 73 of mycroft-core/mycroft/client/enclosure__init__.py to
self.process(data.decode(“utf-8”, errors=“replace”))

Auto-dim eyes when inactive and display of time does not work yet, i will investigate into that later tonight and submit my fix to Github…

After restart of all mycroft-services auto-dim eyes and display of time when idle does work again

created PR#1751