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

Issue 794637 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocked on:
issue 843745



Sign in to add a comment

CCT doesn't show content (white screen)

Project Member Reported by dskiba@chromium.org, Dec 13 2017

Issue description

Chrome Version: 63.0.3239.83
OS: Android 7.1.1 @ NMJ32F; PH-1 (Essential Phone)

Chrome Home is enabled.

Somehow my Chrome got into a state where opening a CCT resulted in a contentless screen, see the screenshot.

I could click [X] at the top left corner, and it would change its state, but nothing would happen. [...] button at the top right corner was inoperable. However, in the logcat I could see messages from the CCT page (from the renderer).

At some point I was observing the following behavior:

1. Close all CCTs and Chrome.
2. Open CCT => it opens fine.
3. Go back (close CCT), open another one => it opens fine.
4. Start Chrome => it starts in a state where Chrome Home (which I have enabled) is not expanded, i.e. I see only omnibox at the bottom. There are no tabs.
5. Open CCT => CCT opens, but doesn't load.

Regarding step 4 - I can't manually get Chrome Home into the state where omnibox is visible, but is at the bottom. It's either at the top, and I see snippets, or there is no omnibox at all (if I pull it down). I have to pull it almost all the way down (but not completely) to get the same appearance.

I did steps above several times, but at some point Chrome started behaving sanely again, and CCT bug stopped reproducing.
 
BadCCT.png
32.3 KB View Download
Screenshot_20171213-105337.png
45.6 KB View Download
bugreport-NMJ32F-2017-12-13-10-28-02.zip
3.5 MB Download

Comment 1 Deleted

Comment 2 by dskiba@chromium.org, Dec 13 2017

Description: Show this description
Cc: yus...@chromium.org
The Chrome Home state shouldn't have any effect on whether content loads in a CCT. It's possible #4 and #5 are separate issues.

Comment 5 by dskiba@chromium.org, Dec 13 2017

Maybe not Chrome Home, maybe something that it triggers. I feel that the fact that Chrome Home wasn't showing snippets is related. What needs to happen for Chrome Home to be in the Screenshot_20171213-105337.png state above?

It's also interesting that Chrome was getting unresponsive (ANRing) right after bugreport (which samples all Java threads among other things). Perhaps there is a Java thread blocked on some native stuff?
Chrome Home shouldn't ever be in the state in 20171213-105337.png - it looks like you're in the tab switcher with the regular toolbar showing. On cold start, if there are no tabs, we should be opening an NTP. In Chrome Home this is the bottom sheet containing article suggestions.

We don't open the Chrome Home bottom sheet until native is initialized so it's possible that something is going wrong with native initialization.

Do you know approximately what time we should be looking for in the logs?

Comment 7 by dskiba@chromium.org, Dec 13 2017

What is the difference in CCT / CTA native initialization? CCT were initializing just fine, but then presumable CTA triggered some extra initialization, which blocked Chrome Home NTP / broke further CCTs.

Sorry, don't remember much about that bugreport. The only thing I know if that I took it with a CCT being in the bad state.
> What is the difference in CCT / CTA native initialization?

I don't know off-hand.


Did you see this just once or have you hit it multiple times?

Comment 9 by dskiba@chromium.org, Dec 13 2017

I've seen it two times, today and couple of days back. Back then it "fixed" itself fairly quick (I think I just killed Chrome and that fixed the issue), but today it was more persistent.
Next time it happens, would you be able to get adb logcat from the device directly so we have a more targeted log for the issue?
OK, this happened again, and I captured new bugreport. The relevant lines are towards the end:

12-25 21:26:57.343 25845 26477 I ActivityManager: Start proc 2563:com.android.chrome/u0a71 for service com.android.chrome/org.chromium.chrome.browser.customtabs.CustomTabsConnectionService
...
12-26 07:58:18.913 25845 28593 I ActivityManager: START u0 {act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=https://www.google.com/... flg=0x18080000 pkg=com.android.chrome cmp=com.android.chrome/com.google.android.apps.chrome.IntentDispatcher (has extras)} from uid 10044 on display 0
12-26 07:58:18.945 25845 26477 I ActivityManager: START u0 {act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=customtab://79076242-fbeb-4f06-932e-112f79ce4df3?https://www.google.com/amp/embedded?v=7.17.28.21.arm64&hl=en#vgi=https%3A%2F%2Fventurebeat.com%2F2017%2F12%2F25%2Fi-gave-my-parents-a-google-home-for-christmas-and-watched-them-lose-their-minds%2Famp%2F&amp=https%253A%252F%252Fventurebeat.com%252F2017%252F12%252F25%252Fi-gave-my-parents-a-google-home-for-christmas-and-watched-them-lose-their-minds%252Famp%252F&ampidx=0 flg=0x18080000 pkg=com.android.chrome cmp=com.android.chrome/org.chromium.chrome.browser.customtabs.SeparateTaskCustomTabActivity (has extras)} from uid 10071 on display 0

Here I clicked on an article from AGSA "-1" screen.

Apparently from Android perspective everything was fine:

12-26 07:58:19.093 25845 25873 I ActivityManager: Displayed com.android.chrome/org.chromium.chrome.browser.customtabs.SeparateTaskCustomTabActivity: +124ms (total +174ms)

However, the CCT didn't have any content.

There is nothing interesting in the logs, but there is something in the stack traces: 4 AsyncTasks (37, 38, 39, 41) are blocked with the following stacktrace:

"AsyncTask #41" prio=5 tid=19 Native
  | group="main" sCount=1 dsCount=0 obj=0x32f07ee0 self=0xc7d8c800
  | sysTid=13126 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0xc697f920
  | state=S schedstat=( 594792 2083958 4 ) utm=0 stm=0 core=5 HZ=100
  | stack=0xc687d000-0xc687f000 stackSize=1038KB
  | held mutexes=
  kernel: (couldn't read /proc/self/task/13126/stack)
  native: #00 pc 000499a0  /system/lib/libc.so (__ioctl+8)
  native: #01 pc 0001bc73  /system/lib/libc.so (ioctl+38)
  native: #02 pc 0003d237  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+202)
  native: #03 pc 0003dc9f  /system/lib/libbinder.so (_ZN7android14IPCThreadState15waitForResponseEPNS_6ParcelEPi+246)
  native: #04 pc 000368d1  /system/lib/libbinder.so (_ZN7android8BpBinder8transactEjRKNS_6ParcelEPS1_j+36)
  native: #05 pc 00099bed  /system/lib/libandroid_runtime.so (???)
  native: #06 pc 005fd549  /system/framework/arm/boot-framework.oat (Java_android_os_BinderProxy_transactNative__ILandroid_os_Parcel_2Landroid_os_Parcel_2I+140)
  at android.os.BinderProxy.transactNative(Native method)
  at android.os.BinderProxy.transact(Binder.java:615)
  at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:4198)
  at android.app.ActivityThread.acquireProvider(ActivityThread.java:5483)
  at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2239)
  at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1520)
  at android.content.ContentResolver.query(ContentResolver.java:518)
  at android.content.ContentResolver.query(ContentResolver.java:475)
  at org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations$1.doInBackground$51DKOQJ1EPGIUR31DPJIULJFD5I3MAACD9GNCO9FDHGMSPPFAPNMIP1R0(PartnerBrowserCustomizations.java:19)
  at org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations$1.doInBackground(PartnerBrowserCustomizations.java:88)
  at android.os.AsyncTask$2.call(AsyncTask.java:305)
  at java.util.concurrent.FutureTask.run(FutureTask.java:237)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
  at java.lang.Thread.run(Thread.java:761)

I checked the bugreport from the first message (bugreport-NMJ32F-2017-12-13-10-28-02.zip), and sure enough there were 8 tasks blocked on partnercustomizations. But those tasks came from 2 com.android.chrome processes! One was "old" (AsyncTasks 385, 386, 387, 389), the other was "new" (AsyncTasks 1, 2, 3, 7).

In all cases there are just 4 AsyncTask threads, and they are all blocked on partnercustomizations. So I think that all other AsyncTasks are waiting for these 4 to unblock, including the one that loads native libraries.
bugreport-NMJ32F-2017-12-26-07-59-06.zip
2.5 MB Download
Status: Available (was: Untriaged)
Cc: wychen@chromium.org
+wychen for #11

We did start showing partner customizations for non-stable channels to get better test coverage, so this could explain the increased showing on non-stable channels.
Cc: boliu@chromium.org
Maria, this is the bug I was talking about where startup was blocked on AsyncTasks. Turns out, this is related to partnercustomizations. Also +Bo.
Cc: estevenson@chromium.org
+esteveson@ - another AysncTask example we may want to consider in the audit.
Components: UI>Browser>Bookmarks
Blockedon: 843745

Sign in to add a comment