Can not run android apps that use realm (e.g. Element) after updating to 4.5

Same issue: Best matrix client for Sailfish? (Element android app seems bust after last appstore update) - #13 by mijutu

I do have the same problem with Element. I had two Element apps, one was clone because I need to connect to two different servers. I updated through Aurora shop the original app, it stuck on green screen, and as I was trying to make it work I uninstalled the cloned app too. I tried to install older versions now ( I think I had 1.4.26 ) without any luck. I am wondering, what changed so much that you can’t remove / install an android app and make it work again? It was an android app that was working fine after the latest sailfish update. Permissions ? Paths ? something else ? Is there something on the android app installation which doesn’t work the same after the sailfish update? Also, is there any chance that the latest Element version when I removed it left on my device files / settings / anything else that bothers older versions to work properly ?

(Not relevant to the thread: It could be useful to have clone app functionality on sailfishOS! Somehow to be able to run the same app with two+ different profiles / settings)

1 Like

Could what is mentioned in this post:

be the root of our problem too?

1 Like

the error messages do not look like it.

Komoot does have the same problem with the Realm database unable to access its in-memory location:

build_device::pdx213build_manufacturer::Sonybuild_product::aosp_xqbt52build_id::RSV1.210329.057build_model::Xperia 10 III (AOSP)android_version::11android_api::30--------- beginning of crash
03-22 12:10:37.283  1391  1391 E AndroidRuntime: FATAL EXCEPTION: main
03-22 12:10:37.283  1391  1391 E AndroidRuntime: Process: de.komoot.android, PID: 1391
03-22 12:10:37.283  1391  1391 E AndroidRuntime: java.lang.RuntimeException: No such file or directory in /tmp/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 107
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.internal.OsSharedRealm.nativeGetSharedRealm(Native Method)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.internal.OsSharedRealm.<init>(SourceFile:9)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.internal.OsSharedRealm.getInstance(SourceFile:5)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.BaseRealm.<init>(SourceFile:18)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.BaseRealm.<init>(SourceFile:1)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.Realm.<init>(SourceFile:1)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.Realm.j0(Unknown Source:2)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.RealmCache.d(Unknown Source:4)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.RealmCache.g(Unknown Source:92)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.RealmCache.e(Unknown Source:11)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at io.realm.Realm.I0(Unknown Source:4)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at de.komoot.android.data.realm.UserRelationDbSource.f(Unknown Source:2)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at de.komoot.android.data.realm.UserRelationDbSource.j(Unknown Source:14)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at de.komoot.android.data.UserRelationRepositoryImpl$loadFromDb$relatedUsers$1.invokeSuspend(Unknown Source:16)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:11)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at kotlinx.coroutines.DispatchedTask.run(Unknown Source:118)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at kotlinx.coroutines.internal.LimitedDispatcher.run(Unknown Source:12)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at kotlinx.coroutines.scheduling.CoroutineScheduler.n(Unknown Source:0)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.d(Unknown Source:14)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.o(Unknown Source:28)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(Unknown Source:0)
03-22 12:10:37.283  1391  1391 E AndroidRuntime:        Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@9000424, Dispatchers.Main]

@thigg Maybe change the title of this bug to all Android apps relying on realm are broken due to the new permission system? Makes it more likely that they fix this if it’s not app-specific.

2 Likes

@vige as this is already tracked do you want to change the internally tracked bug report as well? Or should we create a new one?

1 Like

No, it does not. I’m not going to change the title on the internal bug tracker. Everyone knows why working Element is important. I doubt there are many who know why working Realm is important.

1 Like

You can create a new one, if you want. It probably doesn’t harm. In the worst case it gets eventually closed as duplicate.

  1. Have Android app Element installed via Aurora
  2. Test that Element is working
  3. Update the phone to 4.5 (and finally to 4.5.0.19). This phone is “pure”, no MicroG or the like. :slight_smile:
  4. Test that Element (v. 1.5.22) is working
  5. Update Element via Aurora to version 1.5.26.
  6. Test that Element (v. 1.5.26) is working. Yes, it is working.
2 Likes

Hm i wonder if fdroid made the difference here, or that the phone was already running for a year. I cant remember that i did any modifications to android container at all?

How do we check the permissions of the files where element is searching realm?

For me
Result with a clean xperia 10 iii is failed
Element 1.5.26 from aurora

Element fail at launch

Did you try to install element from scratch on a 4.5 (without the update before) ?

Realm is an in-memory db IIRC and tries to create a folder under /tmp for that. So I’m not even sure there is a file we can check? I don’t have enough knowledge of Android and AD to know how their tmpdir works. Is it even tmpfs? Idk.

To me it looks like it is trying some ad-hoc compilation of realm or some of it components and it cant find the cpp files, either because they are not there, or it does not have the permissions.

It would be good to know if the people where it is working got the file /tmp/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp somewhere.

Ahoy @jovirkku ,

Thank you for taking the time to look at the problem. Did you try to remove the Element and then reinstall it on 4.5 version? I had two working versions (installed before 4.5, one was cloned), I updated the first one and stoped working as described above. The second one was still working and unfortunately I uninstalled it and after I tried to install it again didn’t work too.

I would happily be at your disposal if you need help to investigate it further, logs / video from trying to start Element and fail, try different things let me know

Cheers

1 Like

@nas That was my experience too, after the Sailfish update I had two “Element” icons and one initially worked. Then when I updated Element it stopped working…

In general, is there a way that we can escalate this issue to get some more attention to it?

p.s. in the meantime I have been using Fluffychat instead of Element but it doesn’t provide notifications as well as Element did.

1 Like

You can always take a topic to a community meeting

I have returned from a vacation.

I did this now:

  • updated my test device Xperia 10 II from 4.5.0.18 to 4.5.0.19
  • installed Elements app v. 1.5.28 from Aurora Store
  • gave permissions for it in Settings > Apps > Element
  • tried to launch the app but it gets minimised to an app cover in a few seconds

Verdict: Broken. Does not work.

7 Likes