GCC 4.9.1 causes weird icons in Google PlayStore

Bug #1332989 reported by Łukasz Domeradzki on 2014-06-22
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Linaro
Fix Released
Undecided
Unassigned
Linaro GCC
Fix Released
Undecided
Bernhard Rosenkraenzer

Bug Description

AOSP Android 4.4.x compiled with latest GCC 4.9.1 obtained through http://snapshots.linaro.org/android/~linaro-android/toolchain-4.9-linaro-git/lastSuccessful causes weird icons in PlayStore.

Problem exists only with newest Google's PlayStore app (4.8.X) and is reproducable on latest GCC 4.9.x and 4.8.x toolchains, including stable releases.

I couldn't reproduce this problem with older PlayStore (4.7.x) or older Linaro toolchain (4.7).

Problem does not happen when compiled with any other toolchain, including the one provided by AOSP https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/. For me it looks like this bug has been introduced long time ago but Google recently included an app which uses some part of the Android that is wrongly optimized when the Android is compiled with Linaro toolchain.

Screenshot attached, unfortunately I couldn't find any clue why this bug happens, hope you'll be able to reproduce it and find the culprit.

Thank you in advance.

Łukasz Domeradzki (justarchi) wrote :
Changed in gcc-linaro:
assignee: nobody → Bernhard Rosenkraenzer (berolinux)
Łukasz Domeradzki (justarchi) wrote :

Reproduced also with 2014.06 stable 4.9 Linaro toolchain.

I can confirm this strange behavior.

I'm on Nexus 5 AOSP 4.4.4 (build KTU84P) compiled with Linaro GCC 4.9.1 (linaro-4.9-branch)

Can you reproduce this in any Open application? it is hard to figure out what is going on there because the Play Store is essentially a black box.

Given the Play Store is not rebuilt with the new toolchain, I'd assume that something odd is happening inside e.g. libpng - but regular png displays are working fine (including the very same icons when they're displayed by the launcher).

>Can you reproduce this in any Open application?
No.

After some tests I figured out that this happens only with the Google Play Store v4.8.x, everything's ok with v4.6.x, icons are shown correctly.

Hope this help.

Łukasz Domeradzki (justarchi) wrote :

I pointed that in OP :).

Problem happens only with play store, and I couldn't find any other app on the same compiled system that shows similar behaviour. Unfortunately.

oops, I'm sorry! I read your first post too quickly.

MWisBest (repinski23) wrote :

I can reproduce this as well with the 4.9 toolchain, 4.8 was fine last I checked. I'll see if I can figure out what's causing it, but it shouldn't be libpng as libpng is compiled with Clang.

MWisBest (repinski23) wrote :

Oh, it's worse than just icons: the little preview images above an app's description are messed up in a similar fashion.

Łukasz Domeradzki (justarchi) wrote :

Yup, image rendering is screwed up totally.

I had to revert back to original toolchain until this issue is resolved.

Vikrant (vikrant82) wrote :

Also reproducible with Linaro GCC 4.8.2014.03

Łukasz Domeradzki (justarchi) wrote :

Good news: Google has just released their GCC 4.9, and bugged playstore icons are there too.

So now I'm definitely sure that some commit between GCC 4.8 and 4.9 broke some android part responsible for image rendering.

This is not Linaro's bug, it's GCC's bug :).

Łukasz Domeradzki (justarchi) wrote :

4.8(.0) was fine, 4.9(.0) is not.

Łukasz Domeradzki (justarchi) wrote :

https://code.google.com/p/android/issues/detail?id=74557 - posted issue on Google's tracker as it hits GCC as well.

MWisBest (repinski23) wrote :

This is resolved with the latest Linaro GCC 4.9 builds and/or with the newest Play Store.

Changed in linaro:
status: New → Fix Released
Changed in gcc-linaro:
status: New → Fix Released
Łukasz Domeradzki (justarchi) wrote :

Still reproducable with Playstore 4.9.13 and Linaro 4.9.2 snapshot from August 29.

Changed in linaro:
status: Fix Released → Confirmed
Changed in gcc-linaro:
status: Fix Released → Confirmed
Łukasz Domeradzki (justarchi) wrote :

We already found out that it's not directly Linaro bug, but GCC's. Still, it's not resolved, at least for me (I made totally clean build to make sure)

MWisBest (repinski23) wrote :

Hmm, might be something with the compiler flags then. I'll tinker around with them and see what I can find.

Łukasz Domeradzki (justarchi) wrote :

We tracked this issue to be caused by libskia.so. Using precompiled /system/lib/libskia.so with older toolchain fixes this issue.

Łukasz Domeradzki (justarchi) wrote :

Okay, I found a fix.
https://github.com/JustArchi/android_external_webp/commit/36c6201fbb108d6b757f860e2cd57f3982191662 - just for refernece.

I don't know what exactly caused this issue but updating webp to 0.4.1 seems to work.

Changed in linaro:
status: Confirmed → Fix Released
Changed in gcc-linaro:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.