Bug 498630 - Crash on Start on GrapheneOS
Summary: Crash on Start on GrapheneOS
Status: REPORTED
Alias: None
Product: gcompris
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Android Unspecified
: NOR crash
Target Milestone: ---
Assignee: Jazeix Johnny
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-13 22:22 UTC by 07wtdlta
Modified: 2025-01-25 02:39 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Video of crash (2.44 MB, video/webm)
2025-01-13 22:22 UTC, 07wtdlta
Details
Debug log, Jan 24, 2025 (215.16 KB, text/plain)
2025-01-25 02:32 UTC, 07wtdlta
Details

Note You need to log in before you can comment on or make changes to this bug.
Description 07wtdlta 2025-01-13 22:22:56 UTC
Created attachment 177330 [details]
Video of crash

SUMMARY

When attempting to open GCompris, a splash screen is seen for a second, then is closed and returns to the apps launcher. GrapheneOS reports that memory tagging reported an error in GCompris and that it attempted to perform dynamic code loading via memory.

STEPS TO REPRODUCE

1. Tap "GCompris" from the apps tray.
2. GCompris opens to its splash screen.
3. Less than a second later, a notification that GCompris attempted DCL via memory appears.
4. Less than a second later, a notification that memory tagging detected an error in GCompris appears.
5. Less than a second later, GCompris closes and the apps tray reappears.
6. If opened again, same results are observed every time.

OBSERVED RESULT

GCompris closes on start.

EXPECTED RESULT

GCompris progresses past its splash screen.

SOFTWARE/OS VERSIONS

GrapheneOS 2025010700
Android 15
GCompris 4.3, F-Droid

ADDITIONAL INFORMATION

Memory tagging is enabled for all apps. Dynamic code loading via memory is disabled for all apps. It is possible to toggle these settings off on a per-app basis and I am willing to do so for testing purposes.

MEMORY TAGGING REPORT:

```
type: crash
package: net.gcompris.full:40301, targetSdk 33
osVersion: google/husky/husky:15/AP4A.250105.002/2025010700:user/release-keys
uid: 10181 (u:r:untrusted_app_32:s0:c181,c256,c512,c768)
cmdline: net.gcompris.full
processUptime: 2s

signal: 11 (SIGSEGV), code 9 (SEGV_MTESERR), faultAddr 200d7c6eab16a18
threadName: qtMainLoopThrea
MTE: enabled

backtrace:
    /data/app/~~tNW1Bzm5agILijBQC0wSqw==/net.gcompris.full-s6U0ijkWV6pvCfwetJ9sXw==/lib/arm64/libQt5Core.so (pc 2ccb08)
    /data/app/~~tNW1Bzm5agILijBQC0wSqw==/net.gcompris.full-s6U0ijkWV6pvCfwetJ9sXw==/lib/arm64/libQt5Core.so (QCoreApplication::translate(char const*, char const*, char const*, int)+180, pc 28ecc0)
    /data/app/~~tNW1Bzm5agILijBQC0wSqw==/net.gcompris.full-s6U0ijkWV6pvCfwetJ9sXw==/lib/arm64/libQt5Gui.so (QGuiApplication::event(QEvent*)+92, pc 121d24)
```

DCL VIA MEMORY REPORT:

```
type: memory_DCL
osVersion: google/husky/husky:15/AP4A.250105.002/2025010700:user/release-keys
package: net.gcompris.full:40301, targetSdk 33

package: net.gcompris.full:40301

DCL denial type: DENY_EXECMEM
```
Comment 1 Jazeix Johnny 2025-01-14 06:41:22 UTC
Hi,
we are going to release a new version at the end of the month (I still have to finish the fdroid version but it should be ready by the time).

Can you test if you have the same issue using https://gcompris.net/download/qt/android/beta/GCompris-Android-release-signed-aligned-armeabi-v7a-dl-25.0-beta3.apk?
Comment 2 07wtdlta 2025-01-14 14:16:20 UTC
I attempted to install the linked APK, but it was incompatible with my phone. I downloaded GCompris-Android-release-signed-aligned-arm64-v8a-dl-25.0-beta3.apk from the same directory, verified the hash and installed successfully.

Upon launching it, the splash screen appears, GrapheneOS reports that GCompris attempted DCL via memory, but it does not crash. After about twenty seconds or so, GCompris opens and allows me to download assets and interact with it in what I assume is a normal way; it seems to run perfectly. Here's the DCL error report:

```
type: memory_DCL
osVersion: google/husky/husky:15/AP4A.250105.002/2025010700:user/release-keys
package: net.gcompris.full:250001, targetSdk 33

package: net.gcompris.full:250001

DCL denial type: DENY_EXECMEM
```

Would you like an app log?

Also, thank you for your work and the app. Its obvious it is a labor of love.
Comment 3 Jazeix Johnny 2025-01-19 19:01:13 UTC
hi,
sorry for the delay (I'm trying to build the next version on fdroid, it's not fun :D).
Happy to hear the new version works fine!

Regarding the issue, I need to learn more on my side on DCL to understand if it is normal or not. Qt contains lots of plugins that are loaded at runtime, so it would look normal for me that it loads code from it but maybe I'm minsunderstanding the issue.

If you can provide an app log, I can try to dig more to understand if it is an issue on Qt side or if we do something wrong on GCompris.
Comment 4 07wtdlta 2025-01-25 02:32:31 UTC
Created attachment 177658 [details]
Debug log, Jan 24, 2025
Comment 5 07wtdlta 2025-01-25 02:39:44 UTC
I apologize for my delay, as well, though really I'm more than happy to work with you as long as you want. I'll attach a debug log now and if you have a preferred log level, let me know and I'll attach that in addition.

I really do appreciate the work you put into the F-Droid build. I personally use it exclusively to install apps on my family's phones.

Also, my kid has used it quite a bit since last time we spoke and some new memory tagging errors have occurred, but no new crashes or anything I've seen go wrong in a way I could hope to reproduce. I might use it myself at some point in the near future and see if I can trigger anything, myself.