-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pixel on Android 14+ hardlocks when getting instance in /storage/emulated/0/Android/data/<appname>/files
#7950
Comments
This comment was marked as outdated.
This comment was marked as outdated.
➤ PM Bot commented: Jira ticket: RCORE-2226 |
@nirinchev what can we do to make progress here? |
Not them, but I did some bisecting and unconventional building using GitHub Actions at https://github.com/realm/realm-dotnet. The problem seemingly originates in e003bda. Note that I don't have a clue what the code does. Edit: I could reproduce the problem in the latest Android 15 emulator, if you don't have a physical device. |
/storage/emulated/0/Android/data/<appname>/files
/storage/emulated/0/Android/data/<appname>/files
Given the uncertainty regarding the future of realm at large (see realm/realm-dotnet#3676) I've decided to spend a few more hours investigating this myself off the top of the investigation above. I'm not very well versed in cpp or cmake (or even willing to be, to be quite honest), so I used quite crude techniques. Knowing that e003bda appears to be responsible for this, and seeing that that commit introduced new three cmake feature detection toggles, I decided to produce 3 versions of Notably, on source inspection, the modified realm-core/src/realm/util/file.cpp Lines 955 to 957 in 978ca22
which is an ifdef path that appears to be explicitly intended for android, but now will presumably not taken as I'm not sure why |
@fealebenpae any chance that you could have a look at this? |
The need to add Alpine compilation (#7372) wasn't stated. Now that Realm is slimming down, perhaps this support can be removed now by reverting the original PR and subsequent fixes? |
We run the .NET unit tests on a Pixel 8 device running Android 14 over at AWS Device Farm and we haven't seen issues there, so there must be something very subjective that triggers this. Unfortunately I don't have the capacity to investigate so I think the safest best is to just explicitly opt-out of We can't revert the musl support because IIRC we had customers wanting to run an SDK on a musl-based IoT device. |
If no one experiencing the issue is using sync, we could theoretically revert that PR changes onto the local only branch as it's unlikely anyone depends on musl c for the offline database. |
Sorry to be a pain, but given that you guys are keeping realm updated with compatibility fixes elsewhere (thanks for this), it would be amazing if a potential revert of the breaking changes here could be considered so that we can track the latest release for our projects. I don't know the full context but based on @nirinchev's last reply, it seems like it may be a very quick no-brainer change based on Sync being put to sleep. |
RealmCore v20.1.2 on the community branch hopefully solves this. |
What happened?
Hello, I'm a regular contributor in osu! and we haven't updated since 11.5.0. Paper trail here: ppy/osu#27920
This issue mentioned in the title is happening since https://github.com/realm/realm-dotnet/releases/tag/11.6.1. I have a Pixel 6a on Android 14, but this may affect any Pixel on Android 14. I am emphasizing Pixel because an osu! dev doesn't experience such an issue on a non-pixel on Android 14: ppy/osu#27920 (comment).
Also throwing in phones from users experiencing the issue the last time we bumped Realm >=11.6.1 to production: Xperia 1 V and AQUOS R8 pro. Those phones are capable of running Android 14. Ref: ppy/osu#27738
Repro steps
The below is similar to what I think osu! does in it's
getConfiguration()
: https://github.com/ppy/osu/blob/565107205c60f14488f1642011808d286d712c31/osu.Game/Database/RealmAccess.cs#L745 (namelystorage.GetFullPath(filename ?? Filename, true)
). If you want to test osu! side, remove thatstorage.GetFullPath()
and it should run. Revert and it'll get stuck.Apply this diff and run. It should get stuck at this line:
Version
8.0
What Atlas Services are you using?
Local Database only
What type of application is this?
Other
Client OS and version
Android 14 (Pixels), since https://github.com/realm/realm-dotnet/releases/tag/11.6.1
Code snippets
No response
Stacktrace of the exception/crash you're getting
No response
Relevant log output
No response
The text was updated successfully, but these errors were encountered: