mycroft-core icon indicating copy to clipboard operation
mycroft-core copied to clipboard

Unable Start

Open Xanaxus opened this issue 4 years ago • 7 comments

Describe the bug I tried to install, mycroft on two different users. On main user where I first installed, I am able to use it well it a few hiccups here and there(like certain skills are not working well). I wanted to use mycroft on my other account on the same laptop so I tried running it with su to change the user but it was unable to access the audio. So I tried to Install it again from the repo when i ran the installation I got a message

To Reproduce Install Mycroft on two seperate user acconts on the same device. Try to use it from the user you installed the second time

Expected behavior Able to run it

Log files

./start-mycroft.sh cli
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

Already up to date.
Initializing...
Starting cli
Traceback (most recent call last):
  File "/home/studyarea/mycroft-core/mycroft/identity/__init__.py", line 55, in load
    identity_lock.acquire()
  File "/home/studyarea/mycroft-core/mycroft/util/combo_lock.py", line 59, in acquire
    self.plock.acquire()
  File "/home/studyarea/mycroft-core/.venv/lib/python3.8/site-packages/fasteners/process_lock.py", line 151, in acquire
    self._do_open()
  File "/home/studyarea/mycroft-core/.venv/lib/python3.8/site-packages/fasteners/process_lock.py", line 123, in _do_open
    self.lockfile = open(self.path, 'a')
PermissionError: [Errno 13] Permission denied: '/tmp/identity-lock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/studyarea/mycroft-core/mycroft/client/text/__main__.py", line 21, in <module>
    from .text_client import (
  File "/home/studyarea/mycroft-core/mycroft/client/text/text_client.py", line 21, in <module>
    from mycroft.tts import TTS
  File "/home/studyarea/mycroft-core/mycroft/tts/__init__.py", line 20, in <module>
    from .tts import TTSFactory, TTS, TTSValidator, PlaybackThread
  File "/home/studyarea/mycroft-core/mycroft/tts/tts.py", line 467, in <module>
    class TTSFactory:
  File "/home/studyarea/mycroft-core/mycroft/tts/tts.py", line 473, in TTSFactory
    from mycroft.tts.mimic_tts import Mimic
  File "/home/studyarea/mycroft-core/mycroft/tts/mimic_tts.py", line 32, in <module>
    config = Configuration.get().get("tts").get("mimic")
  File "/home/studyarea/mycroft-core/mycroft/configuration/config.py", line 192, in get
    return Configuration.load_config_stack(configs, cache)
  File "/home/studyarea/mycroft-core/mycroft/configuration/config.py", line 206, in load_config_stack
    configs = [LocalConf(DEFAULT_CONFIG), RemoteConf(),
  File "/home/studyarea/mycroft-core/mycroft/configuration/config.py", line 132, in __init__
    if not is_paired():
  File "/home/studyarea/mycroft-core/mycroft/api/__init__.py", line 506, in is_paired
    api = DeviceApi()
  File "/home/studyarea/mycroft-core/mycroft/api/__init__.py", line 227, in __init__
    super(DeviceApi, self).__init__("device")
  File "/home/studyarea/mycroft-core/mycroft/api/__init__.py", line 61, in __init__
    self.identity = IdentityManager.get()
  File "/home/studyarea/mycroft-core/mycroft/identity/__init__.py", line 101, in get
    IdentityManager.load()
  File "/home/studyarea/mycroft-core/mycroft/identity/__init__.py", line 59, in load
    identity_lock.release()
  File "/home/studyarea/mycroft-core/mycroft/util/combo_lock.py", line 64, in release
    self.plock.release()
  File "/home/studyarea/mycroft-core/.venv/lib/python3.8/site-packages/fasteners/process_lock.py", line 180, in release
    raise threading.ThreadError("Unable to release an unacquired"
RuntimeError: Unable to release an unacquired lock

Environment (please complete the following information):

  • Device type: Laptop HP Pavillion
  • OS: Pop!OS
  • Mycroft-core version: latest

Additional context

Xanaxus avatar Feb 05 '21 06:02 Xanaxus

Hi there, thanks for logging this. It certainly looks like a bug.

It's not something the internal team will have time to prioritize in the near future, but good to have it documented in case others in the community want to tackle it, and so we can address it when we are next looking at desktop installs.

krisgesling avatar Feb 10 '21 01:02 krisgesling

Any workaround for this?

crabdancing avatar Feb 18 '21 08:02 crabdancing

as a workaround try deleting /tmp/identity-lock before running mycroft

JarbasAl avatar Feb 18 '21 14:02 JarbasAl

Hey can you elaborate more? Like which parent file do we need to find the said file?

Xanaxus avatar Feb 18 '21 15:02 Xanaxus

No parent file. That's the file. It's located at /tmp/identity-lock and it's probably owned by the user who ran Mycroft first, which is why you get "permission denied" when Mycroft tries to recreate it.

ChanceNCounter avatar Feb 18 '21 16:02 ChanceNCounter

image Still getting the same error Do I need to delete it while using the Main user?

Xanaxus avatar Feb 18 '21 17:02 Xanaxus

mycroft isn't built to be run by more than one person on a system, so you're going to run into problems (as you've noticed) and since this is sort of unexplored territory, you'll need to experiment a bunch to find solutions.

The kill issue sounds like you don't have permissions to stop another user's processes.

el-tocino avatar Feb 26 '21 20:02 el-tocino