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

Issue 627038 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit 15 days ago
Closed: Mar 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android
Pri: 1
Type: Bug



Sign in to add a comment

Lollipop Phone Tester is failing

Project Member Reported by picksi@chromium.org, Jul 11 2016

Issue description

Comment 1 by picksi@chromium.org, Jul 11 2016

Cc: megjab...@chromium.org
megjablon, your patch (https://codereview.chromium.org/2130083002) to deflake this test might have turned it permanently red on some bots :(




Comment 4 by wnwen@chromium.org, Jul 11 2016

Cc: -megjab...@chromium.org
Owner: megjab...@chromium.org
Status: Assigned (was: Unconfirmed)
(Replying here so it can be linked)

The most useful exception stack trace is from logcat. You can download adb logcat output in the logcat_dump link on the buildbot page (http://uberchromegw/i/chromium.android/builders/Lollipop%20Phone%20Tester/builds/5581). It's a lot.

It seems like Calendar also reads disk one line below where it's whitelisted.

I searched for the failing test, "testDataReductionPromoInfoBarDismissed", and then flipped through until I found the StrictMode violation a couple pages down:
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: StrictMode policy violation; ~duration=32 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=2655 violation=2
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1137)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at libcore.io.BlockGuardOs.open(BlockGuardOs.java:182)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at libcore.io.IoBridge.open(IoBridge.java:442)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at libcore.io.IoUtils$FileReader.<init>(IoUtils.java:209)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at libcore.io.IoUtils.readFileAsString(IoUtils.java:116)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.util.TimeZone.getDefault(TimeZone.java:143)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.util.GregorianCalendar.<init>(GregorianCalendar.java:344)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.util.Date.<init>(Date.java:76)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.sql.Date.<init>(Date.java:56)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.sql.Date.valueOf(Date.java:230)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at org.chromium.chrome.browser.infobar.DataReductionPromoInfoBar.maybeLaunchPromoInfoBar(DataReductionPromoInfoBar.java:95)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at org.chromium.chrome.browser.infobar.InfoBarTest$7.run(InfoBarTest.java:259)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.util.concurrent.FutureTask.run(FutureTask.java:237)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at android.os.Handler.handleCallback(Handler.java:739)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at android.os.Handler.dispatchMessage(Handler.java:95)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at android.os.Looper.loop(Looper.java:135)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at android.app.ActivityThread.main(ActivityThread.java:5254)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.lang.reflect.Method.invoke(Native Method)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at java.lang.reflect.Method.invoke(Method.java:372)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
9b5d6:  07-08 23:30:51.626 11638 11638 D StrictMode: »»»at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

Comment 5 by wnwen@chromium.org, Jul 11 2016

Cc: wnwen@chromium.org dfalcant...@chromium.org

Comment 6 by wnwen@chromium.org, Jul 13 2016

Tried a lot of different things to mimic Lollipop Phone Tester, still can't repro locally. :(

N5 on LMY48I, provision_devices.py, run tests, still no failure when accessing Calendar locally. StrictMode is working locally since adding a disk access crashes as expected.
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 14 2016

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

commit ca4f3ba8a3522dbaf066b18465cf4cc322cdfb24
Author: megjablon <megjablon@chromium.org>
Date: Thu Jul 14 19:39:41 2016

Re-enable DataReductionPromoInfoBar tests and fix flakiness

StrictMode violation was from Calendar.getInstance() reading
the /etc/timezone file. Whitelist the StrictMode violation
to be fixed.

Tests were flaky because the UI thread would not always launch
the InfoBar before calling addInfoBarAnimationFinished(). Run
the UI thread blocking so that the InfoBar has always been
launched.

BUG= 625038 , 577185,  627038 

Committed: https://crrev.com/8fcd3f03a3a531f12bb291dc8665834d85511c23
Review-Url: https://codereview.chromium.org/2130083002
Cr-Original-Commit-Position: refs/heads/master@{#404506}
Cr-Commit-Position: refs/heads/master@{#405545}

[modify] https://crrev.com/ca4f3ba8a3522dbaf066b18465cf4cc322cdfb24/chrome/android/java/src/org/chromium/chrome/browser/infobar/DataReductionPromoInfoBar.java
[modify] https://crrev.com/ca4f3ba8a3522dbaf066b18465cf4cc322cdfb24/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarTest.java

Status: Fixed (was: Assigned)

Sign in to add a comment