[BUG]: libwebcrypto.so isn't 16 KB page aligned
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Dart
- Star
- 9
- Fork
- 5
- Merge trung bình
- 49 phút
- Pull request đã merge (30 ngày)
- 34
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của CommandLineCoding/Elephant
-
area: mobile chore good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
CommandLineCoding/Elephant#247 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: mobile bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
CommandLineCoding/Elephant#245 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: mobile enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
CommandLineCoding/Elephant#183 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: mobile difficulty: medium enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 56/100
CommandLineCoding/Elephant#249 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: mobile chore difficulty: medium testing
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 66/100
CommandLineCoding/Elephant#248 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của CommandLineCoding/Elephant
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
livekit/client-sdk-flutter#1281 ·
Maintainer thường phản hồi trong vòng 4 ngày
-
android bug priority: P1 qa
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
GHRik/bielik_oneclick_launcher#55 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
SchedulerBinding.requestPerformanceMode(mode) does not forward the requested mode to the engine.Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
carp demo apps enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
carp-dk/carp.sensing-flutter#670 ·
-
[BUG] IP 质量类型误判:ISP 静态段被显示为机房Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100