Closed Bug 1505108 Opened 6 years ago Closed 6 years ago

GeckoView 63 beta has busted build artifacts

Categories

(Firefox Build System :: Android Studio and Gradle Integration, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME
mozilla63

People

(Reporter: snorp, Unassigned)

References

(Depends on 1 open bug)

Details

The AAR for GeckoView 63 from the beta channel has libraries that are not XZ compressed. This results in the resulting app being unusable.
* if the .so files are not compressed by the APK either. If the uncompressed .so files _are_ compressed by the APK, the app ends up working correctly (though somewhat inadvertently).
(In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #0) > The AAR for GeckoView 63 from the beta channel has libraries that are not XZ > compressed. This results in the resulting app being unusable. Huh. The thing that changed around this (that I am aware of) is Bug 1418464. I'll investigate today.
(In reply to Nick Alexander :nalexander [he/him] from comment #2) > (In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #0) > > The AAR for GeckoView 63 from the beta channel has libraries that are not XZ > > compressed. This results in the resulting app being unusable. > > Huh. The thing that changed around this (that I am aware of) is Bug > 1418464. I'll investigate today. I can confirm: https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta-armeabi-v7a/63.0.20181015152921/geckoview-beta-armeabi-v7a-63.0.20181015152921.aar has non XZ-compressed libraries: $ unzip -vl geckoview-beta-armeabi-v7a-63.0.20181015152921.aar Archive: geckoview-beta-armeabi-v7a-63.0.20181015152921.aar Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 5175 Defl:N 1377 73% 02-01-1980 00:00 78368777 proguard.txt 2962 Defl:N 646 78% 02-01-1980 00:00 2d9bdea1 AndroidManifest.xml 5705 Defl:N 1230 78% 02-01-1980 00:00 89804e2b R.txt 17984 Defl:N 14458 20% 02-01-1980 00:00 e7de09cb annotations.zip 1675589 Defl:N 1461520 13% 02-01-1980 00:00 4eb06d4f classes.jar 0 Defl:N 2 0% 02-01-1980 00:00 00000000 aidl/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 aidl/org/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 aidl/org/mozilla/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 aidl/org/mozilla/gecko/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 aidl/org/mozilla/gecko/gfx/ 262 Defl:N 194 26% 02-01-1980 00:00 7b16a543 aidl/org/mozilla/gecko/gfx/GeckoSurface.aidl 0 Defl:N 2 0% 02-01-1980 00:00 00000000 aidl/org/mozilla/gecko/media/ 263 Defl:N 193 27% 02-01-1980 00:00 7738dde1 aidl/org/mozilla/gecko/media/FormatParam.aidl 258 Defl:N 191 26% 02-01-1980 00:00 fe4f03b2 aidl/org/mozilla/gecko/media/Sample.aidl 266 Defl:N 197 26% 02-01-1980 00:00 a70affbe aidl/org/mozilla/gecko/media/SessionKeyInfo.aidl 0 Defl:N 2 0% 02-01-1980 00:00 00000000 aidl/org/mozilla/gecko/util/ 263 Defl:N 195 26% 02-01-1980 00:00 cb3f5e95 aidl/org/mozilla/gecko/util/GeckoBundle.aidl 0 Defl:N 2 0% 02-01-1980 00:00 00000000 jni/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 jni/armeabi-v7a/ 1421724 Defl:N 538880 62% 02-01-1980 00:00 1d25cd0a jni/armeabi-v7a/libmozglue.so 5748 Defl:N 1630 72% 02-01-1980 00:00 033b8b6e jni/armeabi-v7a/libplugin-container.so 0 Defl:N 2 0% 02-01-1980 00:00 00000000 assets/ 4302166 Defl:N 4111652 4% 02-01-1980 00:00 57db9aee assets/omni.ja 0 Defl:N 2 0% 02-01-1980 00:00 00000000 assets/armeabi-v7a/ 251976 Defl:N 154818 39% 02-01-1980 00:00 d5fd73dc assets/armeabi-v7a/libfreebl3.so 35060 Defl:N 19194 45% 02-01-1980 00:00 56693439 assets/armeabi-v7a/liblgpllibs.so 137796 Defl:N 62299 55% 02-01-1980 00:00 74749b76 assets/armeabi-v7a/libmozavcodec.so 166412 Defl:N 65813 61% 02-01-1980 00:00 cd7a9b68 assets/armeabi-v7a/libmozavutil.so 1127900 Defl:N 712298 37% 02-01-1980 00:00 a24d9a7a assets/armeabi-v7a/libnss3.so 344376 Defl:N 172687 50% 02-01-1980 00:00 e66a9768 assets/armeabi-v7a/libnssckbi.so 134224 Defl:N 76304 43% 02-01-1980 00:00 a03e545e assets/armeabi-v7a/libsoftokn3.so 53885404 Defl:N 26585050 51% 02-01-1980 00:00 8c7915fc assets/armeabi-v7a/libxul.so 0 Defl:N 2 0% 02-01-1980 00:00 00000000 org/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 org/mozilla/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 org/mozilla/gecko/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 org/mozilla/gecko/gfx/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 org/mozilla/gecko/util/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 org/mozilla/gecko/media/ 0 Defl:N 2 0% 02-01-1980 00:00 00000000 armeabi-v7a/ -------- ------- --- ------- 63521513 33980862 47% 39 files
(In reply to Nick Alexander :nalexander [he/him] from comment #4) > How did this ever work for _any_ consumer? If the APK compresses the libs through deflate, the resulting APK works correctly. The APK only fails to work if the libs are totally uncompressed (through APK or through XZ)
Funny story, the ticket I expected -- Bug 1418464 -- lands on Wednesday, October 10. That's what fixes the issue. AFAICT this was always wrong in the GV AARs published to maven.mozilla.org up until that point. And this makes sense: we were XZ compressing as a side effect of building the Fennec APK. Bug 1418464 makes compression part of packaging. Since we were packaging for Fennec and for GeckoView separately, we didn't get compression for GV. Now, why this was working at all, even locally... I can't really say. If we want to publish a usable beta AAR, we should probably _uplift_ Bug 1418464.
(In reply to Jim Chen [:jchen] [:darchons] from comment #6) > (In reply to Nick Alexander :nalexander [he/him] from comment #4) > > How did this ever work for _any_ consumer? > > If the APK compresses the libs through deflate, the resulting APK works > correctly. The APK only fails to work if the libs are totally uncompressed > (through APK or through XZ) Hmm, so it only fails for STORE and not-XZ. And clearly we have that happening in some situations. Are people setting `noCompress '.so'` in their configurations? That would do it.
Is there an action here? Yes, published AARs are in bad shape. But the underlying issue has been addressed by Bug 1418464. We could: - try to remove them - try to push newer versions Removing old versions is generally bad form; that breaks a lot of expectations about how Maven repositories work, and could impact caching for consumers. However, we basically have no consumers, so maybe we should "try and see". Pushing newer versions is probably somewhere from easy (on m-c) to very hard (pushing a very old version of GV). snorp, do you think we need to try to correct this? Or should we close this as WORKSFORME?
Depends on: 1418464
Flags: needinfo?(snorp)
Ugh. What a mess. I guess we're lucky that we have few consumers right now. Because of XZ-compressed libs in 64, apps need to add `noCompress`, but with 63 you must NOT have it. If we later kill XZ, you'll want to remove `noCompress` again. This would be good stuff to put into the human-generated Changelog (bug 1458668), but we don't have that yet... I guess I'm fine with closing this as WORKSFORME, but it feels pretty terrible.
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(snorp)
Resolution: --- → WORKSFORME
No longer depends on: 1418464
Product: Firefox for Android → Firefox Build System
Target Milestone: Firefox 63 → mozilla63
You need to log in before you can comment on or make changes to this bug.