New issue
Advanced search Search tips

Issue 616923 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

DexLoaderTest#testLoadAfterDeleteCachedDexes flaky on Lollipop Phone Tester

Project Member Reported by pkotw...@chromium.org, Jun 2 2016

Issue description


C  580.446s Main  [FAIL] org.chromium.webapk.shell_apk.DexLoaderTest#testLoadAfterDeleteCachedDexes:
C  580.446s Main  junit.framework.AssertionFailedError
C  580.446s Main  	at org.chromium.webapk.shell_apk.DexLoaderTest.testLoadAfterDeleteCachedDexes(DexLoaderTest.java:258)
C  580.446s Main  	at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
C  580.446s Main  	at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
C  580.446s Main  	at org.chromium.base.test.BaseTestResult.run(BaseTestResult.java:129)
C  580.446s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
C  580.446s Main  	at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
C  580.446s Main  	at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
C  580.446s Main  	at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)
 
Owner: pkotw...@chromium.org
Status: Started (was: Untriaged)
It looks like DexLoader#deleteCachedDexes() does not delete all of the data and the second time that the dex file is loaded some cached data is used 
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 7 2016

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

commit c59b7de12ab8878ddfe4df4fe5cd91b0d526b8c2
Author: pkotwicz <pkotwicz@chromium.org>
Date: Tue Jun 07 02:16:29 2016

Fix DexLoaderTest#testLoadAfterDeleteCachedDexes() flakiness

There seems to be data cached by the OS which is not deleted by
DexLoader#deleteCachedDexes() which is causing the test to be flaky.
This CL changes DexLoaderTest#testLoadAfterDeleteCachedDexes() to test
DexLoader#deleteCachedDexes() in a scenario which is closer to how the function
is used in production.

The test used to test that calling DexLoader#deleteCachedDexes() would make
DexLoader#load() load a dex file from scratch.

The CL changes the test to test that:
- DexLoader#deleteCachedDexes() deletes previously extracted dexes from the local
data directory
- It is possible to use reuse a data directory to load several dexes

BUG= 616923 

Review-Url: https://codereview.chromium.org/2033953002
Cr-Commit-Position: refs/heads/master@{#398198}

[modify] https://crrev.com/c59b7de12ab8878ddfe4df4fe5cd91b0d526b8c2/chrome/android/webapk/shell_apk/javatests/canary_lib/BUILD.gn
[modify] https://crrev.com/c59b7de12ab8878ddfe4df4fe5cd91b0d526b8c2/chrome/android/webapk/shell_apk/javatests/canary_lib/src/org/chromium/webapk/shell_apk/test/canary/Canary.java
[add] https://crrev.com/c59b7de12ab8878ddfe4df4fe5cd91b0d526b8c2/chrome/android/webapk/shell_apk/javatests/canary_lib/src/org/chromium/webapk/shell_apk/test/canary/Canary2.java
[modify] https://crrev.com/c59b7de12ab8878ddfe4df4fe5cd91b0d526b8c2/chrome/android/webapk/shell_apk/javatests/dex_optimizer/BUILD.gn
[modify] https://crrev.com/c59b7de12ab8878ddfe4df4fe5cd91b0d526b8c2/chrome/android/webapk/shell_apk/javatests/src/org/chromium/webapk/shell_apk/DexLoaderTest.java

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 7 2016

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

commit 1514931b7dd9bcb5706e2dfa32e3d4e64f60d887
Author: timvolodine <timvolodine@chromium.org>
Date: Tue Jun 07 12:43:20 2016

Revert of Fix DexLoaderTest#testLoadAfterDeleteCachedDexes() flakiness (patchset #3 id:60001 of https://codereview.chromium.org/2033953002/ )

Reason for revert:
looks like this broke the Android Tests (dbg) bot
https://uberchromegw.corp.google.com/i/chromium.linux/builders/Android%20Tests%20(dbg)

also see  crbug.com/617935 

Original issue's description:
> Fix DexLoaderTest#testLoadAfterDeleteCachedDexes() flakiness
>
> There seems to be data cached by the OS which is not deleted by
> DexLoader#deleteCachedDexes() which is causing the test to be flaky.
> This CL changes DexLoaderTest#testLoadAfterDeleteCachedDexes() to test
> DexLoader#deleteCachedDexes() in a scenario which is closer to how the function
> is used in production.
>
> The test used to test that calling DexLoader#deleteCachedDexes() would make
> DexLoader#load() load a dex file from scratch.
>
> The CL changes the test to test that:
> - DexLoader#deleteCachedDexes() deletes previously extracted dexes from the local
> data directory
> - It is possible to use reuse a data directory to load several dexes
>
> BUG= 616923 
>
> Committed: https://crrev.com/c59b7de12ab8878ddfe4df4fe5cd91b0d526b8c2
> Cr-Commit-Position: refs/heads/master@{#398198}

TBR=hanxi@chromium.org,pkotwicz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 616923 

Review-Url: https://codereview.chromium.org/2041333003
Cr-Commit-Position: refs/heads/master@{#398281}

[modify] https://crrev.com/1514931b7dd9bcb5706e2dfa32e3d4e64f60d887/chrome/android/webapk/shell_apk/javatests/canary_lib/BUILD.gn
[modify] https://crrev.com/1514931b7dd9bcb5706e2dfa32e3d4e64f60d887/chrome/android/webapk/shell_apk/javatests/canary_lib/src/org/chromium/webapk/shell_apk/test/canary/Canary.java
[delete] https://crrev.com/47023d2839c7cb6cc0f7a2ef9a10b4f49ce78225/chrome/android/webapk/shell_apk/javatests/canary_lib/src/org/chromium/webapk/shell_apk/test/canary/Canary2.java
[modify] https://crrev.com/1514931b7dd9bcb5706e2dfa32e3d4e64f60d887/chrome/android/webapk/shell_apk/javatests/dex_optimizer/BUILD.gn
[modify] https://crrev.com/1514931b7dd9bcb5706e2dfa32e3d4e64f60d887/chrome/android/webapk/shell_apk/javatests/src/org/chromium/webapk/shell_apk/DexLoaderTest.java

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 8 2016

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

commit 36e19af6ecccfdd9940ac9dcf219edbd735a3a3a
Author: pkotwicz <pkotwicz@chromium.org>
Date: Fri Jul 08 00:46:33 2016

Reland: Fix DexLoaderTest#testLoadAfterDeleteCachedDexes() flakiness part 2/2

There seems to be data cached by the OS which is not deleted by
DexLoader#deleteCachedDexes() which is causing the test to be flaky.
This CL changes DexLoaderTest#testLoadAfterDeleteCachedDexes() to test
DexLoader#deleteCachedDexes() in a scenario which is closer to how the function
is used in production.

The test used to test that calling DexLoader#deleteCachedDexes() would make
DexLoader#load() load a dex file from scratch.

The CL changes the test to test that:
- DexLoader#deleteCachedDexes() deletes previously extracted dexes from the local
data directory
- It is possible to use reuse a data directory to load several dexes

Original CL: https://codereview.chromium.org/2033953002

BUG= 616923 

Review-Url: https://codereview.chromium.org/2131713002
Cr-Commit-Position: refs/heads/master@{#404280}

[modify] https://crrev.com/36e19af6ecccfdd9940ac9dcf219edbd735a3a3a/chrome/android/webapk/shell_apk/javatests/src/org/chromium/webapk/shell_apk/DexLoaderTest.java

Status: Fixed (was: Started)

Sign in to add a comment