Xdg-open regression

I tend to test the edge core snap at times and sometimes forget to switch back to stable …

Today suddenly all my snap apps stopped opening any links out of the blue … when checking, i recognized i’m running core from edge, so i switched it back to stable and even restarted the apps to make sure i’m back to normal …

Obviously this doesnt help, i can not open any links anymore even with core on stable, the snapd deb on 2.27.5 and snapd-xdg-open installed …

All i’m getting now is:

Error org.freedesktop.DBus.Error.ServiceUnknown: The name com.canonial.SafeLauncher was not provided by any .service files

while it is fine that this not fully implemented feature is broken in edge, rolling back to stable should definitely get me back to a working system again so something with the channel switching seems to be wrong here …

1 Like

I did NOT change anything …
but it is not working anymore here too!?

Tested it with the ttimer snap right after I read your message.


It looks like it is a problem of the 2.27.6

snap info core
tracking:    candidate
installed:   16-2.27.6 (2845) 81MB core
refreshed:   2017-09-07 11:10:01 +0200 CEST
channels:                                    
  stable:    16-2.27.6                (2845) 81MB -
  candidate: 16-2.27.6                (2845) 81MB -

I installed the 2.27.5 (candidate) some weeks ago. (and did not change it in the meantime!?)

There was a regression in the core xdg-open, fixed branches for the core build are available here: https://github.com/snapcore/core/pull/57 and a regression test is available here: https://github.com/snapcore/snapd/pull/3905 (the regression test currently fails because it is broken, however one the fix gets merged the test will turn green).

A new core snap with the fix included is in the “beta” channel: snap refresh --beta core should bring it to you. Feedback welcome.

2 Likes

Seems to work well, thanks a lot !

@mvo
Should the link access work again right after ‘snap refresh…’?
For me it does not. (Yes, the app was closed and restarted.)



BTW, with ‘candidate’ installed I thought I am safe against such surprises.
Will I be safe against unwanted updates with ‘beta’ installed?

Hey @jsmolka - usually candidate is the right choice and regressions are very rare.

However sometimes those happen, my apology for this. Issues like this usually happen in area were our automatic testing is insufficient and for this class of problems we are now writing a new test that ensures that the snapd-xdg-open launcher works correctly all the time (it will be run as part of each of our code changes).

I think this also highlights that we should look into an idea from @niemeyer to de-couple core filesystem builds from snapd core builds. So that we can “snapshot” the core filesystem for 2.27 and only apply fixes to snapd without filesystem changes. We will definitely look into this as another way to fix issues like this.

As for your question about going to beta - it is probably safer to stay on candidate and I expect the updated core in beta to reach candidate soon (once our internal QA finished).

The update may not work right away because there may be an old mount namespace hanging around (@zyga-snapd can provide more details on this). A workaround is to

sudo umount /run/snapd/ns/test-snapd-tools.mnt

where test-snapd-tools.mnt is the name of your snap (or reboot but that is a bit heavy handed :slight_smile: . But hopefully @zyga-snapd can provide more details about this.

2 Likes

To easily discard a namespace you can use the snap-discard-ns tool:

sudo /usr/lib/snapd/snap-discard-ns SNAP_NAME

Where SNAP_NAME is the name of the snap you are working with. Note that on RHEL-like systems the path is different /usr/libexec/snapd/snap-discard-ns.

@zyga-snapd Thanks! @mvo Thanks! And it is ‘No Problem’. I just love to do an update by myself (at the right time for me). :wink:

1 Like

Hello, the new 2.27.6 release is now in the candidate channel. Please help testing by snap refresh --candidate core and let us know if everything works as expected.

Test results: https://docs.google.com/document/d/15R26w7cwjdYegUDofAwI28LUtdfLNyp0um0WXWCzS60/edit