Gnome-shell-extension-gsconnect: No JS module 'lock' found in search path (v26)

Created on 30 Sep 2019  Â·  13Comments  Â·  Source: GSConnect/gnome-shell-extension-gsconnect

Describe the bug

After updating to version 26 I get the error mentioned above every time I boot the machine via a system notification.

The stack trace is as follows:
_loadPlugin@/home/shayden/.local/share/gnome-shell/extensions/[email protected]/service/device.js:903:17
_loadPlugins@/home/shayden/.local/share/gnome-shell/extensions/[email protected]/service/device.js:924:19
async*_init@/home/shayden/.local/share/gnome-shell/extensions/[email protected]/service/device.js:154:9
vfunc_startup@/home/shayden/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:680:26
vfunc_handle_local_options@/home/shayden/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1090:13
@/home/shayden/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2

Steps To Reproduce:

  1. Update to v26
  2. Wait or reboot the machine

Expected behavior

No error is thrown.

Screenshots

Not really applicable.

Support Log

GSConnect Version: 26
GSConnect Install: user
GJS: 15602
XDG_SESSION_TYPE: wayland
GDMSESSION: gnome
--------------------------------------------------------------------------------
-- Logs begin at Mon 2018-08-27 10:21:59 CEST, end at Mon 2019-09-30 07:30:47 CEST. --
-- No entries --

Note that the error already occurred, but the log is still empty. This was after

System Details (please complete the following information):

  • GSConnect version: 26

    • Installed from: GNOME Extensions Website

  • GNOME/Shell version: 3.32
  • Distro/Release: Fedora 30
can't fix solved elsewhere

Most helpful comment

Once again sorry for my delayed answer...

But since the second or so reboot after I reinstalled GSConnect fully the error messages are gone. I can't really figure out why, but now I can't even feed you more information on the issue, so sorry for that!

Maybe you are right and for some reason an older instance of the extension was lying around somewhere (maybe cached?). I didn't find any other installed GSConnect instances after the fact though.

I will post the error logs later, but I won't be at work til the coming Tuesday. Once again, sorry for the delay!

All 13 comments

It looks like you have some very old settings lying around. I'd recommend you clear the supported-plugins setting for your device, or specifically remove the lock plugin from the list of supported plugins. With dconf:

$ dconf reset /org/gnome/shell/extensions/gsconnect/device/<device-id>/supported-plugins

Or with dconf-editor:

Screenshot from 2019-09-30 11-25-38

Note that the error already occurred, but the log is still empty. This was after

*nod* Generate Support Log only captures any output produced _while_ it's actively collecting — it's only useful (and is meant to be used) in the cases where you can reproduce a repeatable issue after activating it, to collect more detailed logs.

For problems that have already occurred, best thing is to just copy-paste whatever logs/errors you encountered.

image

🤨

<DeannaTroi> "I'm sensing conflict within you." </DeannaTroi>

Sorry for answering so late, I hadn't had access to my work laptop recently and then forgot to do what you told me.

The thing is, there was no lock in the supported plugins array. I tried to reset the key anyways, which just resulted in an empty list being shown in the settings for this device. So I fully removed the plugin following the Wiki entry, paired my phone once again and the error still occurs with the same stack trace.

These are the supported plugins from the only device connected to the laptop:

Screenshot from 2019-10-08 08-21-39

So maybe some further details I forgot to mention initially:

  • I'm running on wayland since its the default by Fedora anyways
  • My phone is a Nokia 7 Plus with Android 9
  • The version of KDE Connect on the phone is 1.13.2 (according to the Play Store)

@Znert As @andyholmes says, GSConnect hasn't had a JavaScript file lock.js since... forever ago. Some thoughts:

  • Are you sure the "No JS module 'lock' found in search path" message is being triggered by GSConnect, and not some other Gnome Shell extension/component?
  • Could an older GSConnect be installed in a system location? You might want to check for a gnome-shell-extension-gsconnect package installed on the system via dnf, and remove it if there is.
  • To view all messages involving GSConnect in your user journal, you can run a command like:
    journalctl --user --grep gsconnect -n 100000 -e

    • -e tells journalctl to start from the end of the logs (most recent)

    • -n 100000 is the number of messages to scan — that's _before_ the grep, and the journal is a noisy place

    • the rest of the options should be self-explanatory

Reopening for the moment.

Once again sorry for my delayed answer...

But since the second or so reboot after I reinstalled GSConnect fully the error messages are gone. I can't really figure out why, but now I can't even feed you more information on the issue, so sorry for that!

Maybe you are right and for some reason an older instance of the extension was lying around somewhere (maybe cached?). I didn't find any other installed GSConnect instances after the fact though.

I will post the error logs later, but I won't be at work til the coming Tuesday. Once again, sorry for the delay!

Here are finally the logs :)

They are quite verbose, since I have the extension for a while...

Hope they help!

gsconnect-error.log

Wow, there is a _lot_ going on there. You've basically collected a complete set of every GSconnect error we've ever seen, in the space of just 10 days' worth of logs! It'd be impressive if it wasn't so horrifying. :scream:

Here's _one_ problem, though (but hardly the only one) — seems to be that, at one point a week or so ago, ­the system somehow got it into its head that it should be running two copies of GSConnect at the same time!

See here, in the space between these two reboots?


Log excerpt, unfold to reveal

-- Reboot --
Okt 08 08:17:20  systemd[2308]: Created slice dbus\x2d:1.2\x2dorg.gnome.Shell.Extensions.GSConnect.slice.
Okt 08 08:17:20  systemd[2308]: Started dbus-:[email protected].
Okt 08 08:19:05  gnome-shell[2660]: JS WARNING: [/home//.local/share/gnome-shell/extensions/[email protected]/shell/gmenu.js 606]: reference to undefined property "hidden_when"
Okt 08 08:31:30  systemd[2308]: dbus-:[email protected]: Succeeded.
Okt 08 08:31:43  systemd[2308]: Created slice dbus\x2d:1.1\x2dorg.gnome.Shell.Extensions.GSConnect.slice.
Okt 08 08:31:43  systemd[2308]: Started dbus-:[email protected].
Okt 08 08:31:50  gnome-shell[6047]: JS WARNING: [/home//.local/share/gnome-shell/extensions/[email protected]/shell/gmenu.js 606]: reference to undefined property "hidden_when"
Okt 08 10:18:59  gjs[6531]: JS WARNING: [/home//.local/share/gnome-shell/extensions/[email protected]/service/protocol/lan.js 684]: reference to undefined property "GSocketOutputStream"
Okt 08 12:02:57  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 12:03:03  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 12:03:03  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 12:03:12  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 12:03:13  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 12:03:26  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 12:07:20  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 12:07:22  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 13:50:58  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 13:51:02  gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home//.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home//.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home//.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2
Okt 08 14:12:56  systemd[2308]: dbus-:[email protected]: Succeeded.
Okt 08 14:12:56  systemd[2308]: Removed slice dbus\x2d:1.1\x2dorg.gnome.Shell.Extensions.GSConnect.slice.
Okt 08 14:12:56  systemd[2308]: Removed slice dbus\x2d:1.2\x2dorg.gnome.Shell.Extensions.GSConnect.slice.
-- Reboot --

  1. First dbus-:[email protected] is started
  2. Then almost immediately after, dbus-:[email protected] is started
  3. And it appears _both_ of them stay running all the way through shutdown:
Okt 08 14:12:56 <hostname> systemd[2308]: Removed slice dbus\x2d:1.1\x2dorg.gnome.Shell.Extensions.GSConnect.slice.
Okt 08 14:12:56 <hostname> systemd[2308]: Removed slice dbus\x2d:1.2\x2dorg.gnome.Shell.Extensions.GSConnect.slice.
-- Reboot --

So, it's no wonder the space in between is filled with these dbus interface conflict errors:

Okt 08 13:51:02 <hostname> gjs[6531]: JS ERROR: Gio.IOErrorEnum: An object is already exported for the interface org.mpris.MediaPlayer2 at /org/mpris/MediaPlayer2
                                 _init@/home/<username>/.local/share/gnome-shell/extensions/[email protected]/service/components/dbus.js:196:13
                                 _onBusAcquired@/home/<username>/.local/share/gnome-shell/extensions/[email protected]/service/plugins/mpris.js:529:34
                                 @/home/<username>/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:1157:2

GSConnect is tripping all over itself, fighting over the same bus address!

Have you ever seen anything like that, @andyholmes ?

  1. First dbus-:[email protected] is started
  2. Then almost immediately after, dbus-:[email protected] is started

Copy-pasteo, that should've been dbus-:[email protected] followed by dbus-:[email protected].

Corrected above.

I have to admit, your response made me chuckle. Glad I somehow manifested the pure evil of gnome extensions onto my working laptop! Should I exorcise it immediately?

Jokes aside, is there anything else I can help you with?

@Znert Bury it! Bury it in the woods with a shovel, _and then bury the shovel!_

Nah, I'm hoping @andyholmes will have some insights, because I'm just the comic relief.

Seems like it mostly cleared up after you upgraded (and that second daemon died). It might be there were leftover files from a previous version or something.

I guess just open a new issue if something else comes up :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AngusLogan02 picture AngusLogan02  Â·  4Comments

daleosm picture daleosm  Â·  6Comments

paulo8448 picture paulo8448  Â·  4Comments

mavit picture mavit  Â·  6Comments

nikolowry picture nikolowry  Â·  4Comments