Dbus error

Calling .setAsDefaultProtocolClient()
gives me this error:
Error org.freedesktop.DBus.Error.Failed: cannot use setting “default-url-scheme-handler”: not allowed.
I am runing my snap in strict mode

Can you please run dmesg | grep DENIED and paste the error here.

Yes, here is the output:
[369307.927814] audit: type=1107 audit(1523553147.807:1051): pid=1275 uid=105 auid=4294967295 ses=4294967295 msg='apparmor=“DENIED” operation=“dbus_method_call” bus=“system” path="/" interface=“org.freedesktop.DBus.ObjectManager” member=“GetManagedObjects” mask=“send” name=“org.bluez” pid=11148 label=“snap.ora.ora” peer_pid=1429 peer_label=“unconfined”

1 Like

This looks somewhat unrelated to the error earlier but perhaps it is not. Does your snap have a bluez plug and is it connected?

No, my snap is using only the default interfaces/plugs

I’m not sure what ora does but it is clearly trying to talk to Bluez. You can try adding that plug and connecting it. It will definitely help with the immediate problem.

Ora is not trying to use bluetooth. This error shows only when .setAsDefaultProtocolClient() is called, and this method has nothing to do with bluetooth.

I’m afraid it’s not so simple, it is clearly trying to enumerate bluez objects: look at bus name: org.bluez

FYI, the above is not an apparmor denial (the message from DBus would mention AppArmor is causing the denial), so I think the bluez denial can be ignored.

I’m unfamiliar with this DBus call. https://electronjs.org/docs/api/app talks about it, but only mentions Windows and macOS. What are you trying to do?

The call is made by electron here: https://github.com/electron/electron/blob/1edbd309879c657acfc94344c2c434a26f0f2fe1/shell/browser/browser_linux.cc (kXdgSettingsDefaultSchemeHandler) for setting and checking the default protocol client.

This PR to snap should fix the issue: https://github.com/snapcore/snapd/pull/7129

1 Like