Sailfish Core Apps do not work after Update to Sailfish 4.0.1.45 (sandboxing problem?)

REPRODUCIBILITY (% or how often): 100%
BUILD ID = OS VERSION (Settings > About product): 4.0.1.45
HARDWARE (Jolla1, Tablet, XA2,…): XA2 Dual Sim

DESCRIPTION:

I want to open a core app (e.g. Mail, Phone, Contact, Notes, Documents, Mediaplayer…), at first startup it asked for permissions (e.g. to access contacts). I accepted.
The app tries to load and can be seen on the app grid for two second and then closes. After this the app always closes.

The phone is completely unusable at the moment. I cant even receive calls, since the phone app cant be started.

PRECONDITIONS:

Fresh install of 4.0.1.45

  • I read the instructions for system update carefully. Everything worked fine. No patches or other critical apps installed.

ADDITIONAL INFORMATION:

What I tried so far (and does not work):

  • use backup data
  • reboot phone
  • refreshing sync accounts
  • deleting a core app an reinstalling it (media player)

What did work:

1 Like

I cannot open the Calendar. Tap on the icon and the larger app icon appears the circle spins for several seconds then the larger icon closes. The upcoming calendar events are showing in the notifications panel but when you choose more the calendar won’t open.

The Phone app opens and works OK, but the the keyboard cannot be accessed for the search function. Tapping on the search function in the Phone app doesn’t do anything.

The search function works from within the People app.

Otherwise the core apps seem to be working properly.

The lack of the Calendar is limiting for me as I use my phone as my diary and refer to the calendar several time a day.

EDIT.
I see in the release notes that the Dynamic Calendar Icon by Fravaccaro has been reported to break the Calendar app. I just need to figure out how I remove this icon. It doesn’t show up as an installed app.

I have also discovered the Clock app will not work. I was also using the Dynamic icon for that.

I see that these apps are no longer in the Store/Storeman and so far I have been unable to find a way to switch back to the original icons. I have sent a message to Fravaccaro asking for help, though it looks as if he has no Sailfish apps anymore, so I’m no sure I’ll hear back from him.

I’m looking for suggestions as to how I might revert back to the original icons.

As a last resort I can uninstall/reinstall the Calendar app but there doesn’t seem to be a way to this for the clock.

HELP!!!

Thank you. :slight_smile:

I heard back from Fravaccaro. :slight_smile:

If anyone else has the issue I have you can remove the dynamic icons in Terminal by typing;

devel-su
pkcon remove harbour-dyncal
pkcon remove harbour-dynclock

EDIT.
I managed to remove the icons, but the Clock and Calendar still won’t open.:frowning: Hmmmmm

2 Likes

In my case it is definitely a problem with sandboxing a.k.a. firejail. Non of the apps that need permission does start.

Is there a way to repair/test the firejail implementation - or a way way to check whether the update process was correct?

I also tried to create a new user, but the problems persists with other users. I am really afraid, I need another reflash of the phone - which was already the case with the last system update. I have not patches or system tweaks - just a few harbour apps.

I have a problem with jolla-clock only, and I was able to start it from terminal. Still does not work from application grid :frowning:

In journal I found an entry which probably shows the rootcause:

[sailjail] ERROR: No section for /usr/bin/jolla-clock in /usr/share/applications/jolla-clock.desktop

then few lines later:

Activated service 'com.jolla.clock' failed: Process com.jolla.clock exited with status 2

and the next line:

Process com.jolla.clock exited with status 2

Meaning that some configuraion has not been made during installation because of external changes in desktop file (dynclock).

Unfortunately update code does not start again for reinstallation of package.

Anybody: could you please show the content of updated /usr/share/applications/jolla-clock.desktop file?

And information for Jolla: please update upgrade guide to remove dyncal and dynclock packages.

What about?
devel-su pkcon install --allow-reinstall jolla-clock

(cannot give desktop file content, still 3.2)

3 Likes

Looks like working solution.
Solved for me.

Zypper reinstallation did not help. pkcon did the job. Quite strange.

Thank you.

Worked for me. :slight_smile: :+1:

Hello, in my case, a reinstall did not help. However, I was able to get the gallery-app started by modifying the *desktop file
The original looks like this:

I got it working with:
Exec=usr/bin/jolla-gallery

I don’t know whether this does break the sailjail process or does any other harm.
at least it works somehow.

Brilliant. Thank you @peterleinchen Had same issue here on XA2.

Had removed dyncal and dynclock entries but neither Clock or Calendar App would work. Using pkcon to reinstall jolla-clock and jolla-calendar solved this for me too. Many thanks.

I had the same problem with

  • phone
  • browser
  • gallery
  • calendar

(Messages and clock worked, others I did no try.)

I run journalctl -f as root and watched the log entries when starting the browser. firejail complained about /etc/hosts. Right, my /etc/hosts was a link to a file downloaded from https://github.com/StevenBlack/hosts

After restoring the original /etc/hosts file the problem is gone for the 4 affected applications.

P.S. It has already been reported that the browser does no longer obey such modified /etc/hosts files, I haven’t looked into the solution given there yet.

1 Like

Thanks for the tip @ugeuder ! I had also a modified etc/hosts . Restoring the original etc/hosts however didn’t really help (but that may also be a result of my modification of the *dekstop files to get the apps working).

Hello, for me it also complained in the journalctl log that “[sailjail] ERROR: no section for jolla-clock in /usr/share/applications/jolla-clock.desktop”
And it’s launched via invoker -s --type=silica-qt5

I tried to reinstall or to change the line by sailjail -p one to no avail…
BUT changing the line to sailjail -p xxx (in clock and calendar) and THEN reinstalling the app worked.

I guess it may be dyncal and dynclock which had messed with sailjail ?
Is sailjail new to the last update ? Is it the thing that asks for permissions ? What is the expected Exec= for clock and calendar ?

Dyncal/clock altered .desktop files and update wasn’t prepared to update changed files.
Yes, sailjail is new in 4.x, and is an attempt to provide sandboxing in SFOS (sailfish layer for firejail).

Dear ugeuder,

I have the same problem here (custom /etc/hosts from the web, but as a static file). I already copied back the original /etc/hosts file and also did a reboot, but I still get the log error:

Mär 03 19:21:00 Sailfish lipstick[2530]: constructing /run/firejail/mnt/privileged: eas-sailfish,Accounts,Keys,Contacts,autofill ...
Mär 03 19:21:00 Sailfish lipstick[2530]: mounting /run/firejail/mnt/privileged @ /home/nemo/.local/share/system/privileged
Mär 03 19:21:00 Sailfish lipstick[2530]: hiding /run/firejail/mnt/privileged
Mär 03 19:21:00 Sailfish lipstick[2530]: Error fcopy: invalid file /etc/hosts
Mär 03 19:21:00 Sailfish lipstick[2530]: Error: failed to run /run/firejail/lib/fcopy
Mär 03 19:21:00 Sailfish lipstick[2530]: Error: proc 12890 cannot sync with peer: unexpected EOF
Mär 03 19:21:00 Sailfish lipstick[2530]: Peer 18477 unexpectedly exited with status 1

I can run the apps manually from the terminal without the sandbox, but then the phone app does not have any access to the contacts, I only see the numbers, and the mail program is also empty.
Any hints on how to solve this without a complete flash? This is very anoying, as I can’t even take an incomming call, I have to wait for them to hang up, check the number in the notifications and then call them back from a different phone.

Thanks!

Would you please post output of
ls -al /etc/hosts*
and
readlink /etc/hosts
?

Sure, thanks for the quick reply:

ls -al /etc/hosts*
-rw-r--r--    1 nemo     nemo            83 Feb 24 15:06 /etc/hosts
-rw-r--r--    1 root     root            83 Jul  3  2019 /etc/hosts.backup
-rw-r--r--    1 root     root        432936 Dec  2 18:07 /etc/hosts.backup.2
-rw-r--r--    1 root     root        337823 Feb 24 15:06 /etc/hosts.custom


readlink /etc/hosts

So readlink does not return anything, hosts.backup is the backup of the original file which I restored to the hosts file and the other two are different versions of a custom hosts file.

And here we go

Issue a
devel-su chown root:root /etc/hosts
and you are good to go…

Thanks a lot! (To be honest, that was to easy, could have come up with that myself)