Force close has seen in Chrome Browser during Regression Testing
Reported by
ankithbt...@gmail.com,
Feb 27 2018
|
|||||||
Issue description
Example URL:
Steps to reproduce the problem:
1. connect to the network
2. open chrome browser
3. clear cache & history
4. open google.co.in
5. bookmarked this page
6. press home button
7. close chrome app from recent apps
8. repeat steps from 4 to 7 around 100 times.
Chrome force close have seen.
issue is reproducible on 2 devices out of 4.
What is the expected behavior?
There should not be any exception.
What went wrong?
below is the stack of failure-:
E/AndroidRuntime( 8082): FATAL EXCEPTION: main
E/AndroidRuntime( 8082): Process: com.android.chrome, PID: 8082
E/AndroidRuntime( 8082): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in
E/AndroidRuntime( 8082): at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_51267(LoadedApk.java:1305)
E/AndroidRuntime( 8082): at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.$m$0(Unknown Source:4)
E/AndroidRuntime( 8082): at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.run(Unknown Source:0)
E/AndroidRuntime( 8082): at android.os.Handler.handleCallback(Handler.java:789)
E/AndroidRuntime( 8082): at android.os.Handler.dispatchMessage(Handler.java:98)
E/AndroidRuntime( 8082): at android.os.Looper.loop(Looper.java:164)
E/AndroidRuntime( 8082): at android.app.ActivityThread.main(ActivityThread.java:6565)
E/AndroidRuntime( 8082): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 8082): at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
E/AndroidRuntime( 8082): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
E/AndroidRuntime( 8082): Caused by: java.util.concurrent.RejectedExecutionException: Task android.os.AsyncTask$3@6176625 rejected from
E/AndroidRuntime( 8082): at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2078)
E/AndroidRuntime( 8082): at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:843)
E/AndroidRuntime( 8082): at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1389)
E/AndroidRuntime( 8082): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:651)
E/AndroidRuntime( 8082): at org.chromium.components.signin.AccountManagerFacade$ConnectionRetry.attempt(AccountManagerFacade.java:10)
E/AndroidRuntime( 8082): at org.chromium.components.signin.AccountManagerFacade$ConnectionRetry.onConnectionTypeChanged(AccountManagerFacade.java:17)
E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifier.notifyObserversOfConnectionTypeChange(NetworkChangeNotifier.java:108)
E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifier.updateCurrentConnectionType(NetworkChangeNotifier.java:100)
E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifier$1.onConnectionTypeChanged(NetworkChangeNotifier.java:3)
E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifierAutoDetect.connectionTypeChanged(NetworkChangeNotifierAutoDetect.java:99)
E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifierAutoDetect$1.run(NetworkChangeNotifierAutoDetect.java:13)
E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifierAutoDetect.runOnThread(NetworkChangeNotifierAutoDetect.java:29)
E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifierAutoDetect.onReceive(NetworkChangeNotifierAutoDetect.java:91)
E/AndroidRuntime( 8082): at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_51267(LoadedApk.java:1295)
E/AndroidRuntime( 8082): ... 9 more
Did this work before? N/A
Chrome version: 63.0.3239.111 Channel: stable
OS Version: 8.1
Flash Version:
Android Version - 8.1
Platform - SDM660
Kernel - 4.4.78
,
Feb 28 2018
ankithbti52509@ -- Thanks for reporting this issue. Could you please share the Crash ID generated in Chrome://crashes. Thanks in advance!
,
Feb 28 2018
Thanks for Responding... Please tell me, how can I get the Crash ID ?
,
Feb 28 2018
+bsazonov@: Can you take a look? The error is thrown by AccountManagerFacade$ConnectionRetry.attempt() during NetworkChangeNotifier.notifyObserversOfConnectionTypeChange(). The comment on AccountManagerFacade$ConnectionRetry.attempt() seems to suggest that this won't happen https://cs.chromium.org/chromium/src/components/signin/core/browser/android/java/src/org/chromium/components/signin/AccountManagerFacade.java?rcl=5ad48177e1359d9ba6410f1ece0f4f238f41da84&l=781 Here's the stack trace copied out from logcat.txt attached in the report. 01-27 01:05:17.126 E/AndroidRuntime( 8082): Caused by: java.util.concurrent.RejectedExecutionException: Task android.os.AsyncTask$3@6176625 rejected from java.util.concurrent.ThreadPoolExecutor@4513dab[Running, pool size = 17, active threads = 17, queued tasks = 128, completed tasks = 20428] 01-27 01:05:17.126 E/AndroidRuntime( 8082): at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2078) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:843) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1389) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:651) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.components.signin.AccountManagerFacade$ConnectionRetry.attempt(AccountManagerFacade.java:10) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.components.signin.AccountManagerFacade$ConnectionRetry.onConnectionTypeChanged(AccountManagerFacade.java:17) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifier.notifyObserversOfConnectionTypeChange(NetworkChangeNotifier.java:108) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifier.updateCurrentConnectionType(NetworkChangeNotifier.java:100) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifier$1.onConnectionTypeChanged(NetworkChangeNotifier.java:3) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifierAutoDetect.connectionTypeChanged(NetworkChangeNotifierAutoDetect.java:99) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifierAutoDetect$1.run(NetworkChangeNotifierAutoDetect.java:13) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifierAutoDetect.runOnThread(NetworkChangeNotifierAutoDetect.java:29) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at org.chromium.net.NetworkChangeNotifierAutoDetect.onReceive(NetworkChangeNotifierAutoDetect.java:91) 01-27 01:05:17.126 E/AndroidRuntime( 8082): at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_51267(LoadedApk.java:1295) 01-27 01:05:17.126 E/AndroidRuntime( 8082): ... 9 more
,
Feb 28 2018
bsazonov@ PTAL at #4. There seems to be an invalid assumption made in AccountManagerFacade about when it'll be notified by NetworkChangeNotifier. Can you check that it is registered/unregistered correctly? Thanks.
,
Feb 28 2018
It looks like comment for attempt() still holds, because onConnectionTypeChanged unregisters the observer before calling attempt(): https://cs.chromium.org/chromium/src/components/signin/core/browser/android/java/src/org/chromium/components/signin/AccountManagerFacade.java?l=819&rcl=5ad48177e1359d9ba6410f1ece0f4f238f41da84. It looks like this error is caused by ThreadPoolExecutor because task queue got too big (limit is 128 tasks, which is supported by the error message of the RejectedExecutionException). This error seems to be a prominent source of crashes: https://crash.corp.google.com/browse?q=product.name%3D%27Chrome_Android%27%20AND%20STRPOS(expanded_custom_data.ChromeCrashProto.magic_signature_1.name%2C%27RejectedExecutionException%27)%20%3E%200. However, most of these crashes come from other parts Chrome, and for M-64 AccountManagerFacade caused only 12% of these crashes: https://crash.corp.google.com/browse?q=product.name%3D%27Chrome_Android%27%20AND%20STRPOS(expanded_custom_data.ChromeCrashProto.magic_signature_1.name%2C%27RejectedExecutionException%27)%20%3E%200%20AND%20EXISTS%20(SELECT%201%20FROM%20UNNEST(thread)%20CROSS%20JOIN%20UNNEST(StackTrace.cause)%20CROSS%20JOIN%20UNNEST(StackFrame)%20WHERE%20SourceFileName%3D%27AccountManagerFacade.java%27) I don't see a straightforward way to fix this at the moment, will get to this later.
,
Apr 2 2018
--Chrome Identity automated triaging-- This bug is Assigned and has gone one month without any activity, so it is being moved to Available to indicate that it is not actively being worked on. If you are working on this bug, please mark yourself as the owner and move back to Assigned. Please see https://goo.gl/78kbny for more details. Please remove the Services>SignIn or UI>Browser>Profiles components if this bug isn't related to Chrome Identity. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 1
,
Sep 3
--Chrome Identity automated triaging-- This bug is Assigned and has gone one month without any activity, so it is being moved to Available to indicate that it is not actively being worked on. If you are working on this bug, please mark yourself as the owner and move back to Assigned. Please see https://goo.gl/78kbny for more details. Please remove the Services>SignIn or UI>Browser>Profiles components if this bug isn't related to Chrome Identity. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by pnangunoori@chromium.org
, Feb 28 2018