New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 715429 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment

com.cmbchina.ccd.pluto app crashes on Samsung Galaxy S7/S7 Edge international version starting in M58

Reported by gu7...@gmail.com, Apr 26 2017

Issue description

THIS TEMPLATE IS FOR FILING BUGS ON THE ANDROID SYSTEM WEBVIEW. GENERAL WEB
BUGS SHOULD BE FILED USING A DIFFERENT TEMPLATE!

Device name: Samsung S7 Edge
Android version: 7.0
WebView version (from system settings -> Apps -> Android System WebView):58.0.3029.83
Application:发现精彩(广发银行信用卡客户端)/掌上生活(招商银行信用卡客户端)
Application version:
发现精彩1.2.3
招行掌上生活5.5.7
URLs (if applicable):
http://www.coolapk.com/apk/com.cmbchina.ccd.pluto.cmbActivity
http://sj.qq.com/myapp/detail.htm?apkName=com.cs_credit_bank

Steps to reproduce:
(1)Update your phone's webview to the latest version 58.0.3029.83
(2)Start the "发现精彩/掌上生活" client
(3)Waiting for software to enter

Expected result:
Operating normally

Actual result:
Crash


p.s
If the webview on the 55 version, there will be no such problem, and if you open the system developers option "Enable multi-process webview" , the problem will not be repeated

 

Comment 1 by aluo@chromium.org, Apr 26 2017

Labels: -Type-Bug -Pri-3 Needs-Bisect M-58 Pri-1 Type-Bug-Regression
Owner: dneelame...@chromium.org
Status: Untriaged (was: Unconfirmed)
Was able to see crash after going to login page of the com.cmbchina.ccd.pluto app.  Device: Galaxy S7 SM-G930F NRD90M with Mali-T880 GPU.  Did not see crash in 57.0.2987.132.  Did not see crash in Galaxy S7 Edge SM-G935A with Adreno 530 GPU.

Thread 0 ( * CRASHED *  @ 0x0 )
0	 [libc.so	 +	 0x50008]
1	 [libmonochrome.so	 -	 SymbolTable.cpp:358] sh::TSymbolTable::insertBuiltIn(int, TOperator, char const*, sh::TType const*, char const*, sh::TType const*, sh::TType const*, sh::TType const*, sh::TType const*, sh::TType const*)
2	 [libmonochrome.so	 -	 SymbolTable.cpp:324] sh::TSymbolTable::insertBuiltIn(int, TOperator, char const*, sh::TType const*, char const*, sh::TType const*, sh::TType const*, sh::TType const*, sh::TType const*, sh::TType const*)
3	 [libmonochrome.so	 -	 texture_manager.cc:3244] gpu::gles2::TextureManager::DoTexImage(gpu::gles2::DecoderTextureState*, gpu::gles2::ContextState*, gpu::gles2::DecoderFramebufferState*, char const*, gpu::gles2::TextureRef*, gpu::gles2::TextureManager::DoTexImageArguments const&)
4	 [libmonochrome.so	 -	 ref_counted.h:314] gpu::gles2::TextureManager::DoTexImage(gpu::gles2::DecoderTextureState*, gpu::gles2::ContextState*, gpu::gles2::DecoderFramebufferState*, char const*, gpu::gles2::TextureRef*, gpu::gles2::TextureManager::DoTexImageArguments const&)
5	 [libmonochrome.so	 -	 autocomplete_controller_android.cc:129] AutocompleteControllerAndroid::AutocompleteControllerAndroid(Profile*)
6	 [libmonochrome.so	 -	 string:2324] gpu::gles2::TextureManager::ValidateTextureParameters(gpu::gles2::ErrorState*, char const*, bool, unsigned int, unsigned int, int, int)
7	 [libmonochrome.so	 -	 autocomplete_controller_android.cc:129] AutocompleteControllerAndroid::AutocompleteControllerAndroid(Profile*)
8	 [libmonochrome.so	 -	 texture_manager.cc:2348] gpu::gles2::TextureManager::ValidateTextureParameters(gpu::gles2::ErrorState*, char const*, bool, unsigned int, unsigned int, int, int)
9	 [libmonochrome.so	 -	 rect.h:230] gpu::gles2::TextureManager::ValidateAndDoTexSubImage(gpu::gles2::GLES2Decoder*, gpu::gles2::DecoderTextureState*, gpu::gles2::ContextState*, gpu::gles2::DecoderFramebufferState*, char const*, gpu::gles2::TextureManager::DoTexSubImageArguments const&)
10	 [libmonochrome.so	 -	 string:2122] gpu::gles2::TextureManager::ValidateTextureParameters(gpu::gles2::ErrorState*, char const*, bool, unsigned int, unsigned int, int, int)
11	 [libmonochrome.so	 -	 region.cc:20] cc::Region::Region(cc::Region const&)
12	 [libmonochrome.so	 -	 rect.h:230] gpu::gles2::TextureManager::ValidateAndDoTexSubImage(gpu::gles2::GLES2Decoder*, gpu::gles2::DecoderTextureState*, gpu::gles2::ContextState*, gpu::gles2::DecoderFramebufferState*, char const*, gpu::gles2::TextureManager::DoTexSubImageArguments const&)
13	 [libmonochrome.so	 -	 texture_manager.cc:2329] gpu::gles2::TextureManager::ValidateTextureParameters(gpu::gles2::ErrorState*, char const*, bool, unsigned int, unsigned int, int, int)
14	 [libmonochrome.so	 -	 texture_manager.cc:2320] gpu::gles2::TextureManager::ValidateTextureParameters(gpu::gles2::ErrorState*, char const*, bool, unsigned int, unsigned int, int, int)
15	 [libmonochrome.so	 -	 algorithm:863] gpu::gles2::TextureManager::ValidateTextureParameters(gpu::gles2::ErrorState*, char const*, bool, unsigned int, unsigned int, int, int)
Labels: -Needs-Bisect
Owner: ----
Status: Available (was: Untriaged)
https://chromium.googlesource.com/chromium/src/+log/58.0.3021.0..58.0.3026.0?pretty=fuller&n=10000



58.0.3021.0 - Good
58.0.3022.0 - No build
58.0.3023.0 - No build
58.0.3024.0 - No build
58.0.3025.0 - No build
58.0.3026.0 - Bad


Comment 3 by aluo@chromium.org, May 1 2017

Labels: -M-58 ReleaseBlock-Stable M-59
Summary: com.cmbchina.ccd.pluto app crashes on Samsung Galaxy S7/S7 Edge international version starting in M58 (was: gu7k7k@gmail.com)

Comment 4 by ti...@chromium.org, May 6 2017

Cc: candr...@chromium.org
Owner: aluo@chromium.org
Status: Assigned (was: Available)
We need the device. Assigning to aluo@, please reassign back to a bug cop if you are able to revive it. It seems we also need to order the rooted device to do bisection with user builds.

Comment 5 by ti...@chromium.org, May 8 2017

Owner: ----
Status: Untriaged (was: Assigned)
aluo@ ordered Galaxy S7 (SM-G930F) and right now device with ntfschr@(bug cop).
Thanks!
I narrowed the bisect range down to:
https://chromium.googlesource.com/chromium/src.git/+log/ce8e030ea1a1f88e12e9d8ce1c3e5f921f27c81b..f9cb6a502f37bb663d158bcb09a0a231f8519e64?pretty=fuller&n=10000

There's one CL which touches "gpu/" and one revert. Reverting the revert doesn't change anything, so this is probably not the cause.

Bisecting manually is taking forever, so I may have to postpone work until I can use the per-CL bisect script on this.
Cc: ntfschr@chromium.org
Owner: bunge...@chromium.org
Status: Assigned (was: Untriaged)
Ok, bisect is finished. Commit at blame is a skia roll: https://chromium.googlesource.com/chromium/src.git/+/030f8344b34bbfe3d7d73501eca197e2ed2114ef

Bisecting skia suggests the blame is to fall on this commit:
https://skia.googlesource.com/skia.git/+/fc497343cbcbd526f77da913ae2feca0e1b1b866

bungeman@, any ideas why this would be causing crashes for this GPU? Any ideas for a fix I could try out locally?
Cc: -ntfschr@chromium.org bunge...@chromium.org
Owner: ntfschr@chromium.org
When https://skia.googlesource.com/skia.git/+/fc497343cbcbd526f77da913ae2feca0e1b1b866 landed it added a method to query a font property to Skia, but this method was not immediately in any use in Chromium / WebView. It wasn't until later that Chromium started calling the new function. Also, this just changes how to query some data out of a font, I can't imagine how it would be causing an issue in some texture manager.

By 'bisecting skia' do you mean you actually set up the WebView build at this point and built with and without this change and it made a difference? Because I'm struggling to understand what difference this might have made at all (since Chromium wasn't using most of this code change yet).
Cc: -bunge...@chromium.org ntfschr@chromium.org
Owner: bunge...@chromium.org
To bisect, I set:

 - clank revision: https://chrome-internal.googlesource.com/clank/internal/apps/+/3b2dd52c2ca9b35952fe25c2893e980a7c585b33
 - chromium revision: https://chromium.googlesource.com/chromium/src.git/+/030f8344b34bbfe3d7d73501eca197e2ed2114ef
 - skia revision: first https://skia.googlesource.com/skia.git/+/fc497343cbcbd526f77da913ae2feca0e1b1b866, then https://skia.googlesource.com/skia.git/+/9fe1b22249171087a0f01c67369559f6fd491540

I saw a crash in the first configuration (includes fc4973), and no crash in the second configuration (right before fc4973). Stepping to e30f758 and reverting fc4973 also fixed the crash.

Ben, any ideas on how this might cause a crash, or how we might step around this?
By 'fixed the crash' do you mean it just crashed or that it crashed in the same way the  stack in comment #1? Because that Skia change did have an issue where it was possible to deference a nullptr, but that was fixed later (e7e5499c787a492d98f73445dea78b9dfb0f773b). On the other hand I don't see how this Skia change can possibly be related since as far as I can tell there is no data interaction between and of the code in the Skia change and the stack trace in comment #1.
All I see is that the app no longer crashes at startup. When I observed the crash, I never actually saw a microdump with the same stack as in c#1, so I'm not sure if this can be chalked up to memory corruption or not.

I did my best to symbolize the microdump I see from the crash (this is different than the microdump I saw at the start of the bisection, but perhaps is still related to the issue). Does the stack (see attached unsymbolized-skia-stack.txt/symbolized-skia-stack.txt) make any sense?

Could it be the nullptr issue you mentioned? Cherry picking e7e549 didn't fix the crash, but the stack changed (see the attached *-with-cherry.txt files).
unsymbolized-skia-stack.txt
2.5 KB View Download
symbolized-skia-stack.txt
11.0 KB View Download
unsymbolized-skia-stack-with-cherry.txt
2.3 KB View Download
symbolized-skia-stack-with-cherry.txt
10.2 KB View Download
Cc: torne@chromium.org
CC'ing Torne
Oh, ok. I think Torne was right, I see some "dlopen(nullptr...)" stuff in here, so that might be the issue.

Comment 15 by torne@chromium.org, May 15 2017

The skia change linked here: https://skia.googlesource.com/skia.git/+/fc497343cbcbd526f77da913ae2feca0e1b1b866
changes a bunch of the #ifdef guards around some code which uses dlopen(nullptr) to get a handle for the current executable.

It looks like this is causing the dlopen(nullptr) to be executed on Android, which it previously wasn't. This has a bad interaction with some third party app obfuscation code which hooks dlopen incorrectly and doesn't check if the path is null before attempting to do string operations on it.

If the change to the behaviour on Android here was unintentional, then it may be worth changing in M59 to reduce compatibility issues with these apps (what we're doing is perfectly legitimate, but it looks like this is the first time we've ever happened to make this particular libc call).

If this is actually providing some benefit on Android (I really can't follow the change to work out what it's supposed to do) then that's fine.

See also b/38162069 
Thanks for the in-depth explanation, Torne. Yeah, I never would've guessed dlopen(nullptr) was to blame until you mentioned it today.

Comment 17 by boliu@chromium.org, May 15 2017

Issue 722502 has been merged into this issue.

Comment 18 by hcm@chromium.org, May 24 2017

Cc: djsollen@google.com reed@google.com
note that bungeman is on paternity leave, questionable availability for a while- adding some others on Skia team
Ah, thanks for adding them.

djsollen@, reed@: we believe the issue for WebView is simply due to the `dlopen(nullptr)`. Is it reasonable to avoid this call on Android? Or is there a non-null argument we can put there?

As Torne said, this isn't really a bug--it's valid to pass nullptr to the function. On the other hand, there seem to be a large number of apps that don't handle the nullptr case and are crashing because of it. Ideally, the apps should fix their bugs, but WebView team wants to be flexible where possible.

Comment 20 by hcm@chromium.org, May 25 2017

Cc: hcm@chromium.org

Comment 21 by aluo@chromium.org, May 25 2017

Labels: -ReleaseBlock-Stable -M-59 M-60
Per comment 19, this isn't a bug in WebView.  It is also causing about less than 0.5% of crashes on M58.  Removing RBS label and bumping to M-60.

Comment 22 by torne@chromium.org, May 25 2017

There's no non-null arg to put there; dlopen(null) requests a specific thing that can't be replicated any other way.

However, this code didn't used to actually call dlopen(null) on webview (probably not on android at all) and so my guess from the CL is that introducing it was a mistake, since it seems unlikely that it's actually going to end up finding the symbol it's looking for on android.

The crash rate is apparently much higher in China where we don't get crash data; there's various app obfuscation frameworks that are popular in that market that aren't common on the Play Store. But I agree that this isn't critical.
Owner: djsollen@chromium.org
Passing off to djsollen@ to make sure this gets looked at. Please reassign as necessary.
It looks like it might be the case that the Nexus 4 LMY48T libc doesn't support this either. We've seen about 200 crashes on this device in m59 with magic signature FreeTypeLibrary::FreeTypeLibrary.
(25% of those crashes are in GSA)

Comment 26 by hcm@google.com, Jun 1 2017

Components: Internals>Skia
Whether or not dlopen is called here is based on the SK_FREETYPE_MINIMUM_RUNTIME_VERSION build flag. I'm not entirely sure how WebView is built, does it have its own copy of FreeType or use the system FreeType? If it's the system copy then there's no real way around this, if it is using it's own copy of FreeType then setting SK_FREETYPE_MINIMUM_RUNTIME_VERSION and using an up to date FreeType should work.
WebView is a standard build of the chromium code for android; it should be using exactly the same freetype build and settings as Chrome does on Android, so if this is happening in WebView it's probably also happening in Chrome.
Also: this doesn't appear to have been happening before the CL linked above, so I'm pretty sure that CL changed this behaviour even though it's not documented as doing so.
I think the issue here is that SK_FREETYPE_MINIMUM_RUNTIME_VERSION isn't being set. It should be set when !use_system_freetype . I'll take a look at making sure that's done.
Project Member

Comment 31 by bugdroid1@chromium.org, Jun 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/981d5eacd1b5812b6803065a3bfe5d5e690be48a

commit 981d5eacd1b5812b6803065a3bfe5d5e690be48a
Author: Ben Wagner <bungeman@chromium.org>
Date: Fri Jun 09 21:11:58 2017

Remove gtk dependency from gles tests.

Remove gtk2 dependency from gles2_conform_test_windowless on Linux.
This dependendency no longer seems to be used and indirectly drags in
the sysroot libfreetype.so.6 (through pkg-config) to link against.
This introduces difficult to track link errors in component builds as
FreeType should be selected by //build/config/freetype.

BUG= chromium:715429 

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I1f29360c1b5eba11d799de57936b64846cb24b6d
Reviewed-on: https://chromium-review.googlesource.com/527918
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Ben Wagner <bungeman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478415}
[modify] https://crrev.com/981d5eacd1b5812b6803065a3bfe5d5e690be48a/build/config/linux/gtk2/BUILD.gn
[modify] https://crrev.com/981d5eacd1b5812b6803065a3bfe5d5e690be48a/gpu/gles2_conform_support/BUILD.gn

Project Member

Comment 32 by bugdroid1@chromium.org, Jun 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d40a96d7f62188cfd4347ba7a817d3e786e5aff1

commit d40a96d7f62188cfd4347ba7a817d3e786e5aff1
Author: Ben Wagner <bungeman@chromium.org>
Date: Mon Jun 12 16:03:17 2017

Set build flag when using own FreeType.

Set the SK_FREETYPE_MINIMUM_RUNTIME_VERSION build flag when the
use_system_freetype gn flag is false. Currently the build flag is only
set when is_win or is_mac, but this needs to be set any time it is
known that FreeType will be built into the resulting binary. In
particular this is desired for Android and WebView, but also for
desktop Linux.

BUG= chromium:715429 

Change-Id: Ie5e425b0b347caf51400c5522a42e8a88605c147
Reviewed-on: https://chromium-review.googlesource.com/524185
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Ben Wagner <bungeman@chromium.org>
Commit-Queue: Ben Wagner <bungeman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478644}
[modify] https://crrev.com/d40a96d7f62188cfd4347ba7a817d3e786e5aff1/skia/BUILD.gn

Owner: ntfschr@chromium.org
So this should now be fixed in tip of tree (m61). If the branches don't care about (don't build) gles2_conform_test_windowless then just cherry-picking the patch from comment #32 is enough. If gles2_conform_test_windowless are a concern then the change in comment #31 will also need to be cherry-picked.

Not sure how much this fix is desired so not sure if merging is desired or to which branches. Note that these changes are all build file changes (which effectively modify the code to match what was being built for Windows and Mac already).

I'm assigning this back to WebView for verification that this is really fixed and determination of which branches (if any) this should be merged into. If it's fixed and this doesn't seem important to merge, feel free to close. Otherwise, let me know and assign it back.

Comment 34 by aluo@chromium.org, Jun 15 2017

Cc: amineer@chromium.org
Labels: M-61 Merge-Request-60 Merge-Request-59 M-59
Do commits in c31 and 32 fix most of the crashes seen on Chinese apps in M58?  If so, should it be merged into M59 and/or M60 given the high number of affected users?  Making the merge request to get comments on this.
Project Member

Comment 35 by sheriffbot@chromium.org, Jun 15 2017

Labels: -Merge-Request-60 Hotlist-Merge-Review Merge-Review-60
This bug requires manual review: M60 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), josafat@(ChromeOS), bustamante@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 36 by aluo@chromium.org, Jun 16 2017

Owner: dneelame...@chromium.org
dneelamegam@, please verify the http://www.coolapk.com/apk/com.cmbchina.ccd.pluto.cmbActivity no longer crashes in M61, ntfschr@ indicated if fix works it should fix other similar crashes for apps in China.
I verified on M61, this apps is not crashing (http://www.coolapk.com/apk/com.cmbchina.ccd.pluto.cmbActivity). 

But I do see the other App (http://sj.qq.com/myapp/detail.htm?apkName=com.cs_credit_bank) still crashes on M61/61.0.3132.0 on Samsung S7 Edge

Crash_logcat.txt
6.5 MB View Download
Cc: bunge...@chromium.org
Unfortunately all the reported crashes in Crash_logcat.txt from Comment 37 are very generic, just toybox and libc stack frames (looks like strncmp is being passed nullptr though). Which app was used for the bisect (in Comment 8)? Did com.cs_credit_bank break across the same change (the one pointed out in Comment 15)?
dneelamegam@ Thanks for verifying.

If I remember correctly, I could never get com.cs_credit_bank working on my device. I assume that the app or my device had something misconfigured.

I used com.cmbchina.ccd.pluto.cmbActivity for the bisect. If that app is fixed on tip of tree, then the dlopen(nullptr) issue is fixed, and that was the main concern.

I'll try to confirm if we need both commits to be cherry picked.
It appears that the tests are at least built on the builders, so it looks like both changes from Comment 31 and 32 will be needed. I just locally built gles2_conform_test_windowless with the change from Comment 31 at the M59 branch point and things seem ok.
Labels: -Merge-Request-59 -Merge-Review-60 Merge-Approved-59 Merge-Approved-60
Approved for M59 branch 3071 and M60 branch 3112.
Owner: bunge...@chromium.org
bungeman@, are you able to take care of the merges?
Project Member

Comment 43 by bugdroid1@chromium.org, Jun 16 2017

Labels: -merge-approved-59 merge-merged-3071
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8aac87a96da48b465b40eff08a3fe807c49c62a9

commit 8aac87a96da48b465b40eff08a3fe807c49c62a9
Author: Ben Wagner <bungeman@chromium.org>
Date: Fri Jun 16 21:48:12 2017

Remove gtk dependency from gles tests.

Remove gtk2 dependency from gles2_conform_test_windowless on Linux.
This dependendency no longer seems to be used and indirectly drags in
the sysroot libfreetype.so.6 (through pkg-config) to link against.
This introduces difficult to track link errors in component builds as
FreeType should be selected by //build/config/freetype.

BUG= chromium:715429 
TBR=bungeman@chromium.org

(cherry picked from commit 981d5eacd1b5812b6803065a3bfe5d5e690be48a)

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I1f29360c1b5eba11d799de57936b64846cb24b6d
Reviewed-on: https://chromium-review.googlesource.com/527918
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Ben Wagner <bungeman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#478415}
Reviewed-on: https://chromium-review.googlesource.com/538336
Reviewed-by: Ben Wagner <bungeman@google.com>
Cr-Commit-Position: refs/branch-heads/3071@{#795}
Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641}
[modify] https://crrev.com/8aac87a96da48b465b40eff08a3fe807c49c62a9/build/config/linux/gtk2/BUILD.gn
[modify] https://crrev.com/8aac87a96da48b465b40eff08a3fe807c49c62a9/gpu/gles2_conform_support/BUILD.gn

Project Member

Comment 44 by bugdroid1@chromium.org, Jun 16 2017

Labels: -merge-approved-60 merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a604d1fbffd399ef13a3506a49d074aa109a192f

commit a604d1fbffd399ef13a3506a49d074aa109a192f
Author: Ben Wagner <bungeman@chromium.org>
Date: Fri Jun 16 21:50:47 2017

Remove gtk dependency from gles tests.

Remove gtk2 dependency from gles2_conform_test_windowless on Linux.
This dependendency no longer seems to be used and indirectly drags in
the sysroot libfreetype.so.6 (through pkg-config) to link against.
This introduces difficult to track link errors in component builds as
FreeType should be selected by //build/config/freetype.

BUG= chromium:715429 
TBR=bungeman@chromium.org

(cherry picked from commit 981d5eacd1b5812b6803065a3bfe5d5e690be48a)

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I1f29360c1b5eba11d799de57936b64846cb24b6d
Reviewed-on: https://chromium-review.googlesource.com/527918
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Ben Wagner <bungeman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#478415}
Reviewed-on: https://chromium-review.googlesource.com/538600
Reviewed-by: Ben Wagner <bungeman@google.com>
Cr-Commit-Position: refs/branch-heads/3112@{#368}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/a604d1fbffd399ef13a3506a49d074aa109a192f/build/config/linux/gtk2/BUILD.gn
[modify] https://crrev.com/a604d1fbffd399ef13a3506a49d074aa109a192f/gpu/gles2_conform_support/BUILD.gn

Project Member

Comment 45 by bugdroid1@chromium.org, Jun 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/149e65cb0a8c073f8ed25db26ab526dae7314817

commit 149e65cb0a8c073f8ed25db26ab526dae7314817
Author: Ben Wagner <bungeman@chromium.org>
Date: Fri Jun 16 22:09:03 2017

Set build flag when using own FreeType.

Set the SK_FREETYPE_MINIMUM_RUNTIME_VERSION build flag when the
use_system_freetype gn flag is false. Currently the build flag is only
set when is_win or is_mac, but this needs to be set any time it is
known that FreeType will be built into the resulting binary. In
particular this is desired for Android and WebView, but also for
desktop Linux.

BUG= chromium:715429 
TBR=bungeman@chromium.org

(cherry picked from commit d40a96d7f62188cfd4347ba7a817d3e786e5aff1)

Change-Id: Ie5e425b0b347caf51400c5522a42e8a88605c147
Reviewed-on: https://chromium-review.googlesource.com/524185
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Ben Wagner <bungeman@chromium.org>
Commit-Queue: Ben Wagner <bungeman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#478644}
Reviewed-on: https://chromium-review.googlesource.com/538337
Reviewed-by: Ben Wagner <bungeman@google.com>
Cr-Commit-Position: refs/branch-heads/3071@{#796}
Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641}
[modify] https://crrev.com/149e65cb0a8c073f8ed25db26ab526dae7314817/skia/BUILD.gn

Project Member

Comment 46 by bugdroid1@chromium.org, Jun 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e193fbb20ab0b9118937a7c82d8e1ce7eaad410

commit 2e193fbb20ab0b9118937a7c82d8e1ce7eaad410
Author: Ben Wagner <bungeman@chromium.org>
Date: Fri Jun 16 22:11:54 2017

Set build flag when using own FreeType.

Set the SK_FREETYPE_MINIMUM_RUNTIME_VERSION build flag when the
use_system_freetype gn flag is false. Currently the build flag is only
set when is_win or is_mac, but this needs to be set any time it is
known that FreeType will be built into the resulting binary. In
particular this is desired for Android and WebView, but also for
desktop Linux.

BUG= chromium:715429 
TBR=bungeman@chromium.org

(cherry picked from commit d40a96d7f62188cfd4347ba7a817d3e786e5aff1)

Change-Id: Ie5e425b0b347caf51400c5522a42e8a88605c147
Reviewed-on: https://chromium-review.googlesource.com/524185
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Ben Wagner <bungeman@chromium.org>
Commit-Queue: Ben Wagner <bungeman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#478644}
Reviewed-on: https://chromium-review.googlesource.com/538601
Reviewed-by: Ben Wagner <bungeman@google.com>
Cr-Commit-Position: refs/branch-heads/3112@{#370}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/2e193fbb20ab0b9118937a7c82d8e1ce7eaad410/skia/BUILD.gn

Verified on webivew : 59.0.3071.112  and 60.0.3112.40 on Samsung S7 Edge/NRD90M (http://www.coolapk.com/apk/com.cmbchina.ccd.pluto.cmbActivity)

For the "com.cs_credit_bank" apps shows white screen and some time crashes (filed seprated bug crbug.com/735597), (http://sj.qq.com/myapp/detail.htm?apkName=com.cs_credit_bank)



Status: Fixed (was: Started)

Sign in to add a comment