Obsolete
Status Update
Comments
si...@google.com <si...@google.com> #2
Thanks for the information. Can you provide the below requested information to better understand the issue:
Steps to reproduce
What steps do others need to take in order to reproduce the issue themselves?
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Android bug report
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method:
After reproducing the issue, navigate to developer settings, ensure ‘USB debugging’ is enabled, then enable ‘Bug report shortcut’. To take bug report, hold the power button and select the ‘Take bug report’ option.
Note: Please upload the bug report and screenshot to google drive and share the folder to android-bugreport@google.com, then share the link here.
Steps to reproduce
What steps do others need to take in order to reproduce the issue themselves?
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Android bug report
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method:
After reproducing the issue, navigate to developer settings, ensure ‘USB debugging’ is enabled, then enable ‘Bug report shortcut’. To take bug report, hold the power button and select the ‘Take bug report’ option.
Note: Please upload the bug report and screenshot to google drive and share the folder to android-bugreport@google.com, then share the link here.
si...@google.com <si...@google.com> #3
Can you please provide the information requested in comment #2 to investigate further.
[Deleted User] <[Deleted User]> #4
Steps to reproduce - We don't have steps to reproduce it as these crashes show up in our crash logs hence no Android bug report either.
Frequency - This issue occurs in Android 8.0/8.1.0 and is almost 5000+ crashes a week.
Frequency - This issue occurs in Android 8.0/8.1.0 and is almost 5000+ crashes a week.
si...@google.com <si...@google.com> #5
Please share complete crash logs.
[Deleted User] <[Deleted User]> #7
I have also attached the logs in the first comment itself.
si...@google.com <si...@google.com> #8
We have passed this defect to the development team and will update this issue with more information as it becomes available.
ve...@gmail.com <ve...@gmail.com> #9
I also found this problem in Android O version, we monitored a lot of APP to happen this Exception.
ve...@gmail.com <ve...@gmail.com> #10
Here are some exception stacks:
01-01 07:00:00.229 4552 4552 E AndroidRuntime: FATAL EXCEPTION: main
01-01 07:00:00.229 4552 4552 E AndroidRuntime: Process: com.google.android.setupwizard, PID: 4552
01-01 07:00:00.229 4552 4552 E AndroidRuntime: java.lang.RuntimeException: Error receiving broadcast Intent
{ act=android.intent.action.TIME_SET flg=0x24000010 }
in com.google.android.setupwizard.time.DateTimeMonitor$1@e249864
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1132)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:751)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6121)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: Caused by: java.util.ConcurrentModificationException
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at java.util.ArrayList$Itr.next(ArrayList.java:831)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.google.android.setupwizard.time.DateTimeMonitor.updateStatus(DateTimeMonitor.java:127)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.google.android.setupwizard.time.DateTimeMonitor.-wrap0(DateTimeMonitor.java)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.google.android.setupwizard.time.DateTimeMonitor$1.onReceive(DateTimeMonitor.java:74)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1122)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: ... 7 more
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: Process: com.mi.global.bbs, PID: 11335
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.util.TimeZone.getDisplayName(TimeZone.java:405)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.util.TimeZone.getDisplayName(TimeZone.java:370)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.internal.Utility.refreshTimezone(SourceFile:1397)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.internal.Utility.refreshPeriodicExtendedDeviceInfo(SourceFile:1387)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.internal.Utility.setAppEventExtendedDeviceInfoParameters(SourceFile:1038)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.internal.AppEventsLoggerUtility.getJSONObjectForGraphAPICall(SourceFile:68)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.FacebookSdk.publishInstallAndWaitForResponse(SourceFile:469)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.FacebookSdk$4.run(SourceFile:448)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
05-08 15:27:13.187 1000 2790 11914 I WindowManager: commitFinishDrawingLocked: Window{b7e8c5f u0 Splash Scr
title: java.lang.AssertionError--No NameTypeIndex match for SHORT_STANDARD
det: java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1296)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:1004)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:974)
at java.text.DateFormat.format(DateFormat.java:341)
at org.apache.http.impl.cookie.DateUtils.formatDate(DateUtils.java:206)
at org.apache.http.impl.cookie.DateUtils.formatDate(DateUtils.java:185)
at com.android.volley.toolbox.BasicNetwork.addCacheHeaders(BasicNetwork.java:200)
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:92)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:1......
01-01 07:00:00.229 4552 4552 E AndroidRuntime: FATAL EXCEPTION: main
01-01 07:00:00.229 4552 4552 E AndroidRuntime: Process: com.google.android.setupwizard, PID: 4552
01-01 07:00:00.229 4552 4552 E AndroidRuntime: java.lang.RuntimeException: Error receiving broadcast Intent
{ act=android.intent.action.TIME_SET flg=0x24000010 }
in com.google.android.setupwizard.time.DateTimeMonitor$1@e249864
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1132)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:751)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6121)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: Caused by: java.util.ConcurrentModificationException
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at java.util.ArrayList$Itr.next(ArrayList.java:831)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.google.android.setupwizard.time.DateTimeMonitor.updateStatus(DateTimeMonitor.java:127)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.google.android.setupwizard.time.DateTimeMonitor.-wrap0(DateTimeMonitor.java)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at com.google.android.setupwizard.time.DateTimeMonitor$1.onReceive(DateTimeMonitor.java:74)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1122)
01-01 07:00:00.229 4552 4552 E AndroidRuntime: ... 7 more
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: Process: com.mi.global.bbs, PID: 11335
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.util.TimeZone.getDisplayName(TimeZone.java:405)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.util.TimeZone.getDisplayName(TimeZone.java:370)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.internal.Utility.refreshTimezone(SourceFile:1397)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.internal.Utility.refreshPeriodicExtendedDeviceInfo(SourceFile:1387)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.internal.Utility.setAppEventExtendedDeviceInfoParameters(SourceFile:1038)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.internal.AppEventsLoggerUtility.getJSONObjectForGraphAPICall(SourceFile:68)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.FacebookSdk.publishInstallAndWaitForResponse(SourceFile:469)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at com.facebook.FacebookSdk$4.run(SourceFile:448)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
05-08 15:27:13.200 10137 11335 11476 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
05-08 15:27:13.187 1000 2790 11914 I WindowManager: commitFinishDrawingLocked: Window{b7e8c5f u0 Splash Scr
title: java.lang.AssertionError--No NameTypeIndex match for SHORT_STANDARD
det: java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1296)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:1004)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:974)
at java.text.DateFormat.format(DateFormat.java:341)
at org.apache.http.impl.cookie.DateUtils.formatDate(DateUtils.java:206)
at org.apache.http.impl.cookie.DateUtils.formatDate(DateUtils.java:185)
at com.android.volley.toolbox.BasicNetwork.addCacheHeaders(BasicNetwork.java:200)
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:92)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:1......
ve...@gmail.com <ve...@gmail.com> #11
hi,any update?
ve...@gmail.com <ve...@gmail.com> #12
hi,Who can tell me the progress of this problem? Thank you very much
mi...@gmail.com <mi...@gmail.com> #13
Any update on this issue ? We are seeing same error lot of devices not sure about reproducible steps.
mi...@gmail.com <mi...@gmail.com> #14
I am facing below crash log. Here stack trace i can see it's calling "refreshTimezone" API from Facebook SDK. This has to fix from goole AOSP code side.
Fatal Exception: java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
at java.util.TimeZone.getDisplayName(TimeZone.java:405)
at java.util.TimeZone.getDisplayName(TimeZone.java:370)
at com.facebook.internal.Utility.refreshTimezone(Utility.java:1070)
at com.facebook.internal.Utility.refreshPeriodicExtendedDeviceInfo(Utility.java:1060)
at com.facebook.internal.Utility.setAppEventExtendedDeviceInfoParameters(Utility.java:711)
at com.facebook.appevents.internal.AppEventsLoggerUtility.getJSONObjectForGraphAPICall(AppEventsLoggerUtility.java:76)
at com.facebook.FacebookSdk.publishInstallAndWaitForResponse(FacebookSdk.java:581)
at com.facebook.FacebookSdk$4.run(FacebookSdk.java:562)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
But work-around facebook sdk 4.35 version fixed this issue. By adding "catch (AssertionError e) " check at "refreshTimezone" API.
private static void refreshTimezone() {
try {
TimeZone tz = TimeZone.getDefault();
deviceTimezoneAbbreviation = tz.getDisplayName(
tz.inDaylightTime(new Date()),
TimeZone.SHORT
);
deviceTimeZoneName = tz.getID();
} catch (AssertionError e) {
// Workaround for a bug in Android that can cause crashes on Android 8.0 and 8.1
} catch (Exception e) {
}
}
but ultimately issue need to be fixed from google AOSP side.
Fatal Exception: java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
at java.util.TimeZone.getDisplayName(TimeZone.java:405)
at java.util.TimeZone.getDisplayName(TimeZone.java:370)
at com.facebook.internal.Utility.refreshTimezone(Utility.java:1070)
at com.facebook.internal.Utility.refreshPeriodicExtendedDeviceInfo(Utility.java:1060)
at com.facebook.internal.Utility.setAppEventExtendedDeviceInfoParameters(Utility.java:711)
at com.facebook.appevents.internal.AppEventsLoggerUtility.getJSONObjectForGraphAPICall(AppEventsLoggerUtility.java:76)
at com.facebook.FacebookSdk.publishInstallAndWaitForResponse(FacebookSdk.java:581)
at com.facebook.FacebookSdk$4.run(FacebookSdk.java:562)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
But work-around facebook sdk 4.35 version fixed this issue. By adding "catch (AssertionError e) " check at "refreshTimezone" API.
private static void refreshTimezone() {
try {
TimeZone tz = TimeZone.getDefault();
deviceTimezoneAbbreviation = tz.getDisplayName(
tz.inDaylightTime(new Date()),
TimeZone.SHORT
);
deviceTimeZoneName = tz.getID();
} catch (AssertionError e) {
// Workaround for a bug in Android that can cause crashes on Android 8.0 and 8.1
} catch (Exception e) {
}
}
but ultimately issue need to be fixed from google AOSP side.
[Deleted User] <[Deleted User]> #15
ka...@gmail.com <ka...@gmail.com> #16
I found this problem in Google Setupwizard with Android O.
Package [com.google.android.setupwizard]:
versionCode=227 minSdk=23 targetSdk=27
versionName=227.4773854
09-20 17:21:09.569 2285 5946 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #3
09-20 17:21:09.569 2285 5946 E AndroidRuntime: Process: com.google.android.setupwizard, PID: 2285
09-20 17:21:09.569 2285 5946 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:353)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:271)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: Caused by: java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.TimeZone.getDisplayName(TimeZone.java:405)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.Date.toString(Date.java:1066)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.lang.String.valueOf(String.java:2827)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.lang.StringBuilder.append(StringBuilder.java:132)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at com.google.android.setupwizard.deferred.DeferredSetupNotificationSchedulerService.scheduleNotification(DeferredSetupNotificationSchedulerService.java:163)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at com.google.android.setupwizard.deferred.DeferredSetupScheduler$DeferredSetupSchedulerTask.doInBackground(DeferredSetupScheduler.java:261)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at com.google.android.setupwizard.deferred.DeferredSetupScheduler$DeferredSetupSchedulerTask.doInBackground(DeferredSetupScheduler.java:245)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:333)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: ... 3 more
Package [com.google.android.setupwizard]:
versionCode=227 minSdk=23 targetSdk=27
versionName=227.4773854
09-20 17:21:09.569 2285 5946 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #3
09-20 17:21:09.569 2285 5946 E AndroidRuntime: Process: com.google.android.setupwizard, PID: 2285
09-20 17:21:09.569 2285 5946 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:353)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:271)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: Caused by: java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.TimeZone.getDisplayName(TimeZone.java:405)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.Date.toString(Date.java:1066)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.lang.String.valueOf(String.java:2827)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.lang.StringBuilder.append(StringBuilder.java:132)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at com.google.android.setupwizard.deferred.DeferredSetupNotificationSchedulerService.scheduleNotification(DeferredSetupNotificationSchedulerService.java:163)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at com.google.android.setupwizard.deferred.DeferredSetupScheduler$DeferredSetupSchedulerTask.doInBackground(DeferredSetupScheduler.java:261)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at com.google.android.setupwizard.deferred.DeferredSetupScheduler$DeferredSetupSchedulerTask.doInBackground(DeferredSetupScheduler.java:245)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:333)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
09-20 17:21:09.569 2285 5946 E AndroidRuntime: ... 3 more
vm...@google.com <vm...@google.com> #17
This is a bug in "jack", the Java compiler used in Android M, N and O, where enum switch (in TimeZoneNamesImpl$ZNames.getNameTypeIndex() in this case) is compiled into racy code. (We're using javac in Android P.)
The implementation of the enum switch contains a lot of synthetic code, including the initialization of an int[] array using the enum ordinals and storing it in a synthetic static field for future use. The bug is that the synthetic field is not volatile and therefore there is no synchronization between threads. Thus thread T1 can initialize the int[] array values and store the int[] reference in the field and thread T2 can read the int[] reference from the field but does not yet see the values in that array; T2 loads 0 from the array and hits the fall-through path in the switch leading to the AssertionError.
As a workaround, you could modify an app to exercise the code path (for example, "new Date().toString()") while there is only a single thread. (But fixing this for the SetupWizard that you see after a factory reset would require a system update, preferably putting the workaround into the zygote.)
The implementation of the enum switch contains a lot of synthetic code, including the initialization of an int[] array using the enum ordinals and storing it in a synthetic static field for future use. The bug is that the synthetic field is not volatile and therefore there is no synchronization between threads. Thus thread T1 can initialize the int[] array values and store the int[] reference in the field and thread T2 can read the int[] reference from the field but does not yet see the values in that array; T2 loads 0 from the array and hits the fall-through path in the switch leading to the AssertionError.
As a workaround, you could modify an app to exercise the code path (for example, "new Date().toString()") while there is only a single thread. (But fixing this for the SetupWizard that you see after a factory reset would require a system update, preferably putting the workaround into the zygote.)
ni...@gmail.com <ni...@gmail.com> #18
This is the workaround that I used:
==========================================================================================
String format = "EEE, dd MMM yyyy HH:mm:ss z";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format, Locale.US);
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
Date expiryDate = (bCookieObject.getMaxAge() > 0) ? new Date(System.currentTimeMillis() +
TimeUnit.SECONDS.toMillis(bCookieObject.getMaxAge())) : new Date();
String dateTimeString;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format);
Instant instant = Instant.ofEpochSecond(TimeUnit.MILLISECONDS.toSeconds(expiryDate.getTime()));
ZoneId zoneId = ZoneId.of(TimeZone.getTimeZone("GMT").getID());
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(instant, zoneId);
dateTimeString = dateTimeFormatter.format(zonedDateTime);
} else {
dateTimeString = simpleDateFormat.format(expiryDate);
}
==========================================================================================
==========================================================================================
String format = "EEE, dd MMM yyyy HH:mm:ss z";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format, Locale.US);
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
Date expiryDate = (bCookieObject.getMaxAge() > 0) ? new Date(System.currentTimeMillis() +
TimeUnit.SECONDS.toMillis(bCookieObject.getMaxAge())) : new Date();
String dateTimeString;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(format);
Instant instant = Instant.ofEpochSecond(TimeUnit.MILLISECONDS.toSeconds(expiryDate.getTime()));
ZoneId zoneId = ZoneId.of(TimeZone.getTimeZone("GMT").getID());
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(instant, zoneId);
dateTimeString = dateTimeFormatter.format(zonedDateTime);
} else {
dateTimeString = simpleDateFormat.format(expiryDate);
}
==========================================================================================
bz...@costco.com <bz...@costco.com> #19
same issue happen in Volley request, in all OS 8.1
java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1296)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:1004)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:974)
at java.text.DateFormat.format(DateFormat.java:341)
at com.android.volley.toolbox.HttpHeaderParser.formatEpochAsRfc1123(HttpHeaderParser.java:145)
at com.android.volley.toolbox.BasicNetwork.getCacheHeaders(BasicNetwork.java:268)
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:122)
at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131)
at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90)
java.lang.AssertionError: No NameTypeIndex match for SHORT_STANDARD
at android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex(TimeZoneNamesImpl.java:724)
at android.icu.impl.TimeZoneNamesImpl$ZNames.getName(TimeZoneNamesImpl.java:790)
at android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName(TimeZoneNamesImpl.java:183)
at android.icu.text.TimeZoneNames.getDisplayName(TimeZoneNames.java:261)
at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1296)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:1004)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:974)
at java.text.DateFormat.format(DateFormat.java:341)
at com.android.volley.toolbox.HttpHeaderParser.formatEpochAsRfc1123(HttpHeaderParser.java:145)
at com.android.volley.toolbox.BasicNetwork.getCacheHeaders(BasicNetwork.java:268)
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:122)
at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131)
at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90)
sj...@gmail.com <sj...@gmail.com> #20
If I understand comment #17 correctly the issue is fixed for apps that are compiled with a newer version of "jack"? Is this correct and if so with which version of the Android tools has this been fixed?
jo...@fueledbycaffeine.com <jo...@fueledbycaffeine.com> #21
I take #17 to mean that the framework classes shipped with the system images are potentially buggy due to the compiler issue and you must work around it in your app.
pa...@paytm.com <pa...@paytm.com> #22
Do we have any solution for the same. Getting this crash in 8.1.0 version.
Description
I looked at the "TimeZoneNamesImpl.java in android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex at line 724" class and it does have "SHORT_STANDARD" as a switch case but still throwing the exception that it couldn't find it. So maybe the code for the class "TimeZoneNamesImpl" in Android OS version 8.1.0 may not have this case in the code and hence is crashing.
These are the most common device status:
hw_model - "Pixel 2 XL / Pixel 2" (70%)
hw_product - "taimen / walleye"(70%)
os_version - "8.1.0" (99% cases)
Here is the exception stack:
=====================================================================================
java.lang.AssertionError
No NameTypeIndex match for SHORT_STANDARD
TimeZoneNamesImpl.java in android.icu.impl.TimeZoneNamesImpl$ZNames.getNameTypeIndex at line 724
TimeZoneNamesImpl.java in android.icu.impl.TimeZoneNamesImpl$ZNames.getName at line 790
TimeZoneNamesImpl.java in android.icu.impl.TimeZoneNamesImpl.getTimeZoneDisplayName at line 183
TimeZoneNames.java in android.icu.text.TimeZoneNames.getDisplayName at line 261
SimpleDateFormat.java in java.text.SimpleDateFormat.subFormat at line 1296
SimpleDateFormat.java in java.text.SimpleDateFormat.format at line 1004
SimpleDateFormat.java in java.text.SimpleDateFormat.format at line 974
DateFormat.java in java.text.DateFormat.format at line 341
AccountManager.java ? in com.yahoo.mobile.client.share.account.AccountManager.getBCookieWithProperties at line 940 (application)
AccountManager.java ? in com.yahoo.mobile.client.share.account.AccountManager.buildCookiesHeaderForYid at line 2079 (application)
Account.java ? in com.yahoo.mobile.client.share.account.Account.buildCookiesHeader at line 986 (application)
MailCookies.java ? in com.yahoo.mail.entities.MailCookies.getCookieHeaderStringForUri at line 62 (application)
MailServerV3Api.java ? in com.yahoo.mail.sync.MailServerV3Api.getLoggedInCookieHeaderStringOrThrow at line 1000 (application)
MailServerV3Api.java ? in com.yahoo.mail.sync.MailServerV3Api.doNetworkRequest at line 1145 (application)
SyncRequest.java ? in com.yahoo.mail.sync.SyncRequest.run at line 666 (application)
MailSyncAdapter.java ? in com.yahoo.mail.sync.MailSyncAdapter.fetchAccountsAndFolders at line 1100 (application)
MailSyncAdapter.java ? in com.yahoo.mail.sync.MailSyncAdapter.doDefaultActions at line 994 (application)
AbstractThreadedSyncAdapter.java in android.content.AbstractThreadedSyncAdapter$SyncThread.run at line 321
=====================================================================================
Please see the attached logs here.