New issue
Advanced search Search tips

Issue 642333 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

cc_unittests failing on chromium.android/Lollipop Low-end Tester

Project Member Reported by pasko@chromium.org, Aug 30 2016

Issue description

cc_unittests failing on chromium.android/Lollipop Low-end Tester

Type: build-failure

Builders failed on: 
- Lollipop Low-end Tester: 
  https://build.chromium.org/p/chromium.android/builders/Lollipop%20Low-end%20Tester


Started failing cc_unittests at:
https://build.chromium.org/p/chromium.android/builders/Lollipop%20Low-end%20Tester/builds/3890
 

Comment 1 by pasko@chromium.org, Aug 30 2016

I could not reproduce it on my sprout device today, all cc_unittests pass in debug mode. Build: sprout-userdebug 4.4.4 KPX44

Comment 2 by pasko@chromium.org, Aug 30 2016

Cc: mdjones@chromium.org

Comment 3 by pasko@chromium.org, Aug 30 2016

Owner: jbudorick@chromium.org
The logcat dump does not reveal any interesting crashes.

The weird thing is that all these tests have status UNKNOWN, and looking at the first few does not reveal a place where they would be started.

C   49.683s Main  [==========] 2543 tests ran.
C   49.683s Main  [  PASSED  ] 2536 tests.
C   49.683s Main  [  FAILED  ] 7 tests, listed below:
C   49.683s Main  [  FAILED  ] LayerTreeHostTestWillBeginImplFrameHasDidFinishImplFrame.RunMultiThread_DelegatingRenderer (UNKNOWN)
C   49.683s Main  [  FAILED  ] OrderedSimpleTaskRunnerTest.OrderingTestWithDelayedPostingTasks (UNKNOWN)
C   49.683s Main  [  FAILED  ] PictureLayerTilingIteratorTest.IteratorCoversLayerBoundsTilingScale (UNKNOWN)
C   49.683s Main  [  FAILED  ] ScaledScrollbarLayerTestResourceCreation.ScaledResourceUpload (UNKNOWN)
C   49.683s Main  [  FAILED  ] SchedulerTest.SynchronousCompositorPrepareTilesOnDraw (UNKNOWN)
C   49.683s Main  [  FAILED  ] SoftwareImageDecodeControllerTest.ImageKeyHighQuality (UNKNOWN)
C   49.683s Main  [  FAILED  ] SurfaceManagerOrderingParamTestInstantiation/SurfaceManagerOrderingParamTest.Ordering/6 (UNKNOWN)

Also, the list of failing tests in cc_unittests is different for each build.

Sharding problem in the test runner on multiple devices?

+jbudorick: please help triage

Components: Tests
Labels: OS-Android
Status: Assigned (was: Available)
will investigate this afternoon
Cc: jbudorick@chromium.org
Labels: Pri-2 Type-Bug
Owner: danakj@chromium.org
I   49.769s run_tests_on_device(AG860440II6EAGC)  INSTRUMENTATION_RESULT: shortMsg=Process crashed.
I   49.769s run_tests_on_device(AG860440II6EAGC)  INSTRUMENTATION_CODE: 0

from http://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=cc_unittests&builder=chromium.android%3ALollipop%20Low-end%20Tester, there are two tests that have been UNKNOWN UNKNOWN UNKNOWN in every run: ScaledScrollbarLayerTestResourceCreation.ScaledResourceUpload and SchedulerTest.SynchronousCompositorPrepareTilesOnDraw. From the logcat, this looks like at least an OOM death in the former:

EI2GC:  08-26 02:31:24.646   854   854 I cr_NativeTest: [----------] 1 test from ScaledScrollbarLayerTestResourceCreation
EI2GC:  08-26 02:31:24.647   854   854 I cr_NativeTest: [ RUN      ] ScaledScrollbarLayerTestResourceCreation.ScaledResourceUpload
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager: Low on memory:
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N     8572 kB: mediaserver (pid 2720) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N     5664 kB: app_process (pid 837) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N     4066 kB: zygote (pid 155) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N     2544 kB: sdcard (pid 1365) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N     1713 kB: surfaceflinger (pid 136) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N     1289 kB: drmserver (pid 144) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N     1010 kB: logd (pid 131) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N      748 kB: media.log (pid 2700) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N      696 kB: mtk_agpsd (pid 150) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N      639 kB: debuggerd (pid 142) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N      555 kB: mtkrild (pid 522) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N      539 kB: vold (pid 135) native
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   ntv   N     4713 kB: (Other native)
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   sys   P    34693 kB: system (pid 551) fixed
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   pers  P    20174 kB: com.android.systemui (pid 691) fixed
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   pers  P     9016 kB: com.android.phone (pid 899) fixed
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   fore  IF    4624 kB: org.chromium.native_test (pid 854) instrumentation
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   fore  T        0 kB: org.chromium.native_test:test_process (pid 887) top-activity
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   vis   IF       0 kB: com.google.process.location (pid 1159) service
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:                        com.google.android.gms/com.google.android.location.network.NetworkLocationService<=Proc{551:system/1000}
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   prcp  T        0 kB: com.google.android.googlequicksearchbox:search (pid 1303) pausing
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   prcp  T        0 kB: com.google.android.gms (pid 1028) service
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:                        com.google.android.gms/.people.service.PeopleService<=Proc{1303:com.google.android.googlequicksearchbox:search/u0a25}
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   prcp  IB       0 kB: com.google.android.apps.inputmethod.hindi (pid 856) service
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:                        com.google.android.apps.inputmethod.hindi/.HindiInputMethodService<=Proc{551:system/1000}
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   prcp  IF       0 kB: com.google.process.gapps (pid 1002) service
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:                        com.google.android.gms/.gcm.http.GoogleHttpService<=Proc{1028:com.google.android.gms/u0a9}
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:             101255 kB: TOTAL
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   MemInfo: 24044 kB slab, 324 kB shmem, 245556 kB vm alloc, 3980 kB page tables 3880 kB kernel stack
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:            332 kB buffers, 62872 kB cached, 22504 kB mapped, 208784 kB free
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   Free RAM: 249484 kB
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   Used RAM: 379039 kB
EI2GC:  08-26 02:31:24.651   551   941 I ActivityManager:   Lost RAM: -203955 kB


The failure pattern looks like a CL landed in https://build.chromium.org/p/chromium.android/builders/Lollipop%20Low-end%20Tester/builds/3890, was reverted in https://build.chromium.org/p/chromium.android/builders/Lollipop%20Low-end%20Tester/builds/3893, and relanded in https://build.chromium.org/p/chromium.android/builders/Lollipop%20Low-end%20Tester/builds/3895. There were two //cc/ CLs that match that pattern: https://codereview.chromium.org/2276633003 and https://codereview.chromium.org/2267263002. +danakj

I need to track down an SD card for my sprout before reproing locally.
Cc: enne@chromium.org
I definitely touched ScaledResourceUpload recently, and probably made it allocate more memory which is making things explode. I will make the test skip that part on IsLowEnd() or something.
jbudorick: Would you be able to try a patch locally to confirm if it fixes it?
If so:

diff --git a/cc/layers/scrollbar_layer_unittest.cc b/cc/layers/scrollbar_layer_unittest.cc
index 45995fc..86716f6 100644
--- a/cc/layers/scrollbar_layer_unittest.cc
+++ b/cc/layers/scrollbar_layer_unittest.cc
@@ -1007,9 +1007,13 @@ TEST_F(ScaledScrollbarLayerTestResourceCreation, ScaledResourceUpload) {
   // Try something extreme to be larger than max texture size, and make it a
   // non-integer for funsies.
   scoped_refptr<TestContextProvider> context = TestContextProvider::Create();
+  // Keep the max texture size reasonable so we don't OOM on low end devices
+  // ( crbug.com/642333 ).
+  context->UnboundTestContext3d()->set_max_texture_size(512);
   context->BindToCurrentThread();
   int max_texture_size = 0;
   context->ContextGL()->GetIntegerv(GL_MAX_TEXTURE_SIZE, &max_texture_size);
+  DCHECK_EQ(512, max_texture_size);
   TestResourceUpload(max_texture_size / 9.9f);
 }
 

Sure.
Status: Started (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Sep 2 2016

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

commit dd8e0f1980106ae0b0ff3ca86034b115c955d61b
Author: danakj <danakj@chromium.org>
Date: Fri Sep 02 17:25:09 2016

cc: Prevent allocating memory buffers too large in tests.

We were OOMing a unit test on lollipop devices since we were using a
resource larger than MAX_TEXTURE_SIZE which is 2048, so we had a
bitmap of size:
  (100 * 2048 / 9.9, 15 * 2048 / 9.9)
= (20687, 3104)

Which is an ARGB32 bitmap so 4 bytes per pixel: 256,849,792 bytes.

With this patch we have
  (100 * 512 / 9.9, 15 * 512 / 9.9)
= (5172, 776)

Which is 4,013,472 which will fit in memory much easier.

R=enne
BUG= 642333 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

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

[modify] https://crrev.com/dd8e0f1980106ae0b0ff3ca86034b115c955d61b/cc/layers/scrollbar_layer_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment