[BUG]: libwebcrypto.so isn't 16 KB page aligned
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 52/100
Piste de recherche
Start with mobile/pubspec.lock to trace the webcrypto, webpush_encryption, and unifiedpush versions, then inspect .github/workflows/android-release.yaml for the Android build checks. Check libwebcrypto.so with readelf -lW and test loading or push decryption on the 16 KB Android emulator. Done means its PT_LOAD alignment is at least 0x4000 and CI checks every .so.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Context
Android devices with 16 KB memory pages (some Android 15+ devices, and the 16 KB emulator images) can only load native libraries whose ELF LOAD segments are aligned to at least 16 KB.
Checking a release APK built from main (arm64-v8a):
| Library | LOAD alignment |
|---|---|
| libapp.so, libflutter.so | 64 KB |
| libdartjni.so, libdatastore_shared_counter.so, libsqlcipher.so | 16 KB |
| libwebcrypto.so | 4 KB |
The zip alignment (zipalign -c -P 16) passes; only libwebcrypto.so fails. It comes from webcrypto 0.6.0, pulled in by unifiedpush → webpush_encryption, so it is new with push notifications (#204).
What to do
- Find out when
libwebcrypto.sois loaded (at start-up, or only when a push message is decrypted) and what happens on a 16 KB device: crash, or notifications silently failing. - Try
webcrypto 0.6.1(the latest) and check its alignment; otherwise look at a newerwebpush_encryption/unifiedpush, or report it upstream. - Add an alignment check for every
.soto CI, so this can't come back unnoticed.
Where to look
mobile/pubspec.lock (webcrypto, webpush_encryption), .github/workflows/android-release.yaml.
Good to know
To check a library: read the p_align of its PT_LOAD program headers (readelf -lW lib.so); it must be 0x4000 or more. Test on the "16 KB page size" Android emulator image.
- Langage dominant
- Dart
- Étoiles
- 9
- Forks
- 5
- Merge moyen
- 49 min
- PR mergées (30 j)
- 34
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CommandLineCoding/Elephant
-
area: mobile chore good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
CommandLineCoding/Elephant#247 ·
Les mainteneurs répondent en général sous 1 jour
-
area: mobile bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
CommandLineCoding/Elephant#245 ·
Les mainteneurs répondent en général sous 1 jour
-
area: mobile enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
CommandLineCoding/Elephant#183 ·
Les mainteneurs répondent en général sous 1 jour
-
area: mobile difficulty: medium enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
CommandLineCoding/Elephant#249 ·
Les mainteneurs répondent en général sous 1 jour
-
area: mobile chore difficulty: medium testing
Difficulté 4/5 3-5 jours Accessibilité débutants 66/100
CommandLineCoding/Elephant#248 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de CommandLineCoding/Elephant
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 76/100
livekit/client-sdk-flutter#1281 ·
Les mainteneurs répondent en général sous 4 jours
-
android bug priority: P1 qa
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
GHRik/bielik_oneclick_launcher#55 ·
Les mainteneurs répondent en général sous 1 jour
-
SchedulerBinding.requestPerformanceMode(mode) does not forward the requested mode to the engine.Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
carp demo apps enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
carp-dk/carp.sensing-flutter#670 ·
-
[BUG] IP 质量类型误判:ISP 静态段被显示为机房Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100