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

Issue 791592 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Chromite unittests fail on R64 release branch

Project Member Reported by bhthompson@google.com, Dec 4 2017

Issue description

This fails across most boards (I think anything that tries to run unittests).

https://uberchromegw.corp.google.com/i/chromeos_release/builders/ninja-release%20release-R64-10176.B
https://uberchromegw.corp.google.com/i/chromeos_release/builders/ninja-release%20release-R64-10176.B/builds/2
https://logs.chromium.org/v/?s=chromeos%2Fbb%2Fchromeos_release%2Fninja-release_release-R64-10176.B%2F2%2F%2B%2Frecipes%2Fsteps%2FUnitTest%2F0%2Fstdout
...
chromite-0.0.2-r3562: ======================================================================
chromite-0.0.2-r3562: ERROR: [chromite.cbuildbot.build_status_unittest] SlaveStatusTest.testGetRetriableBuildsNotRetryOnStartedBuilds
chromite-0.0.2-r3562: test _GetRetriableBuilds for master not retrying started builds.
chromite-0.0.2-r3562: ----------------------------------------------------------------------
chromite-0.0.2-r3562: Traceback (most recent call last):
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/lib/timeout_util.py", line 191, in TimeoutWrapper
chromite-0.0.2-r3562:     return func(*args, **kwargs)
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status_unittest.py", line 495, in testGetRetriableBuildsNotRetryOnStartedBuilds
chromite-0.0.2-r3562:     slave_status._GetRetriableBuilds(self._GetCompletedAllSet()),
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status.py", line 281, in _GetRetriableBuilds
chromite-0.0.2-r3562:     build_result = self.new_buildbucket_info_dict[build].result
chromite-0.0.2-r3562: TypeError: 'NoneType' object has no attribute '__getitem__'
chromite-0.0.2-r3562: 
chromite-0.0.2-r3562: ======================================================================
chromite-0.0.2-r3562: ERROR: [chromite.cbuildbot.build_status_unittest] SlaveStatusTest.testGetRetriableBuildsReturnsNone
chromite-0.0.2-r3562: GetRetriableBuilds returns no build to retry.
chromite-0.0.2-r3562: ----------------------------------------------------------------------
chromite-0.0.2-r3562: Traceback (most recent call last):
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/lib/timeout_util.py", line 191, in TimeoutWrapper
chromite-0.0.2-r3562:     return func(*args, **kwargs)
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status_unittest.py", line 465, in testGetRetriableBuildsReturnsNone
chromite-0.0.2-r3562:     slave_status._GetRetriableBuilds(self._GetCompletedAllSet()),
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status.py", line 281, in _GetRetriableBuilds
chromite-0.0.2-r3562:     build_result = self.new_buildbucket_info_dict[build].result
chromite-0.0.2-r3562: TypeError: 'NoneType' object has no attribute '__getitem__'
chromite-0.0.2-r3562: 
chromite-0.0.2-r3562: ======================================================================
chromite-0.0.2-r3562: FAIL: [chromite.cbuildbot.build_status_unittest] SlaveStatusTest.testGetBuildsToRetryWithBuildbucket
chromite-0.0.2-r3562: Test GetBuildsToRetry with Buildbucket.
chromite-0.0.2-r3562: ----------------------------------------------------------------------
chromite-0.0.2-r3562: Traceback (most recent call last):
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/lib/timeout_util.py", line 191, in TimeoutWrapper
chromite-0.0.2-r3562:     return func(*args, **kwargs)
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status_unittest.py", line 635, in testGetBuildsToRetryWithBuildbucket
chromite-0.0.2-r3562:     set(['completed_failure']))
chromite-0.0.2-r3562: AssertionError: None != set(['completed_failure'])
chromite-0.0.2-r3562: 
chromite-0.0.2-r3562: ======================================================================
chromite-0.0.2-r3562: FAIL: [chromite.cbuildbot.build_status_unittest] SlaveStatusTest.testGetCompletedBuildsWithBuildbucket
chromite-0.0.2-r3562: Tests GetCompletedBuilds with Buildbucket
chromite-0.0.2-r3562: ----------------------------------------------------------------------
chromite-0.0.2-r3562: Traceback (most recent call last):
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/lib/timeout_util.py", line 191, in TimeoutWrapper
chromite-0.0.2-r3562:     return func(*args, **kwargs)
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status_unittest.py", line 576, in testGetCompletedBuildsWithBuildbucket
chromite-0.0.2-r3562:     'completed_canceled']))
chromite-0.0.2-r3562: AssertionError: Items in the second set but not the first:
chromite-0.0.2-r3562: 'completed_canceled'
chromite-0.0.2-r3562: 
chromite-0.0.2-r3562: ======================================================================
chromite-0.0.2-r3562: FAIL: [chromite.cbuildbot.build_status_unittest] SlaveStatusTest.testShouldWaitBuildersStillBuildingWithBuildbucket
chromite-0.0.2-r3562: ShouldWait says yes because builders still in started status.
chromite-0.0.2-r3562: ----------------------------------------------------------------------
chromite-0.0.2-r3562: Traceback (most recent call last):
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/lib/timeout_util.py", line 191, in TimeoutWrapper
chromite-0.0.2-r3562:     return func(*args, **kwargs)
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status_unittest.py", line 1202, in testShouldWaitBuildersStillBuildingWithBuildbucket
chromite-0.0.2-r3562:     self.assertEqual(slave_status.builds_to_retry, set())
chromite-0.0.2-r3562: AssertionError: None != set([])
chromite-0.0.2-r3562: 
chromite-0.0.2-r3562: ======================================================================
chromite-0.0.2-r3562: FAIL: [chromite.cbuildbot.build_status_unittest] SlaveStatusTest.testShouldWaitBuildersStillBuildingWithBuildbucket_2
chromite-0.0.2-r3562: ShouldWait says yes because builders still in started status.
chromite-0.0.2-r3562: ----------------------------------------------------------------------
chromite-0.0.2-r3562: Traceback (most recent call last):
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/lib/timeout_util.py", line 191, in TimeoutWrapper
chromite-0.0.2-r3562:     return func(*args, **kwargs)
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status_unittest.py", line 1225, in testShouldWaitBuildersStillBuildingWithBuildbucket_2
chromite-0.0.2-r3562:     self.assertEqual(slave_status.builds_to_retry, set(['failure']))
chromite-0.0.2-r3562: AssertionError: None != set(['failure'])
chromite-0.0.2-r3562: 
chromite-0.0.2-r3562: ======================================================================
chromite-0.0.2-r3562: FAIL: [chromite.cbuildbot.build_status_unittest] SlaveStatusTest.testShouldWaitMissingBuilderWithBuildbucket
chromite-0.0.2-r3562: Test ShouldWait says yes waiting because one build status is missing.
chromite-0.0.2-r3562: ----------------------------------------------------------------------
chromite-0.0.2-r3562: Traceback (most recent call last):
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/lib/timeout_util.py", line 191, in TimeoutWrapper
chromite-0.0.2-r3562:     return func(*args, **kwargs)
chromite-0.0.2-r3562:   File "/mnt/host/source/chromite/cbuildbot/build_status_unittest.py", line 1047, in testShouldWaitMissingBuilderWithBuildbucket
chromite-0.0.2-r3562:     self.assertTrue(slave_status.ShouldWait())
chromite-0.0.2-r3562: AssertionError: False is not true
chromite-0.0.2-r3562: 
chromite-0.0.2-r3562: ----------------------------------------------------------------------
...

Looking at the code around these I am guessing Ningning knows where this is going wrong?

This would be good to fix as the waterfall shows up all red, though it does not appear to be preventing generation of signed artifacts. 
 

Comment 1 by nxia@chromium.org, Dec 4 2017

This is because the active-waterfall of 'master-release' is changed from chromeos to chromeos_release, so buildbucket is disabled the waterfall:

https://cs.corp.google.com/chromeos_public/chromite/lib/config_lib.py?type=cs&q=UseBuildbucketScheduler&l=187

As  crbug.com/755276  is in plan, I will hack the unittests to always return True for UseBuildbucketScheduler to only test cases with Buildbucket in unittests. Later, the method UseBuildbucketScheduler will be removed.
Hi this is impacting the current M64 build attempts (Chrome OS and Chrome revs).

Specifically:

samus-chrome-pre-flight-branch release-R64-10176.B Build #6
https://uberchromegw.corp.google.com/i/chromeos_release/builders/samus-chrome-pre-flight-branch%20release-R64-10176.B/builds/6

We're also kicking off builds for Builder: master-release release-R64-10176.B.
10176.3.0 was the lasted failed build.  

We're scheduled to build again at 9PM Pac tonight.  Need to pick up the Chrome rev as well.

Thanks



Project Member

Comment 3 by bugdroid1@chromium.org, Dec 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/336bbe52e31ad75ba0d2db9b1dc2da8440109b07

commit 336bbe52e31ad75ba0d2db9b1dc2da8440109b07
Author: Ningning Xia <nxia@chromium.org>
Date: Mon Dec 04 22:17:32 2017

build_status_unittests: patch UseBuildbucketScheduler to return True.

The active_waterfall is different for 'master-release' config in different
branches. unittests failed for 'master-release' in chromeos-release
waterfall as Buildbucket isn't enabled in the chromeos-release waterfal.
As  crbug.com/755276  is going to schedule slaves via Buildbucket in
chromeos_release waterfall, hack build_status_unittests to patch
UseBuildbucketScheduler to return True in all cases.

BUG= chromium:791592 
TEST=unit_tests

Change-Id: I07ae4a3071f914d56ecfbdc36b531a4253039f18
Reviewed-on: https://chromium-review.googlesource.com/806761
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Tested-by: Ningning Xia <nxia@chromium.org>

[modify] https://crrev.com/336bbe52e31ad75ba0d2db9b1dc2da8440109b07/cbuildbot/build_status_unittest.py

Comment 4 by nxia@chromium.org, Dec 4 2017

Labels: Merge-Request-64
Labels: -Merge-Request-64 Merge-Approved-64
Approving merge to M64 Chrome OS
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 4 2017

Labels: merge-merged-release-R64-10176.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/b4081346989802588e65b0d31c0d1f4e58cabbd9

commit b4081346989802588e65b0d31c0d1f4e58cabbd9
Author: Ningning Xia <nxia@chromium.org>
Date: Mon Dec 04 22:50:36 2017

build_status_unittests: patch UseBuildbucketScheduler to return True.

The active_waterfall is different for 'master-release' config in different
branches. unittests failed for 'master-release' in chromeos-release
waterfall as Buildbucket isn't enabled in the chromeos-release waterfal.
As  crbug.com/755276  is going to schedule slaves via Buildbucket in
chromeos_release waterfall, hack build_status_unittests to patch
UseBuildbucketScheduler to return True in all cases.

BUG= chromium:791592 
TEST=unit_tests

Change-Id: I07ae4a3071f914d56ecfbdc36b531a4253039f18
Reviewed-on: https://chromium-review.googlesource.com/806761
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Tested-by: Ningning Xia <nxia@chromium.org>
(cherry picked from commit 82fd7dfa6ad3b1ccb4bc97d63a59639f8a8c21b3)
Reviewed-on: https://chromium-review.googlesource.com/807185

[modify] https://crrev.com/b4081346989802588e65b0d31c0d1f4e58cabbd9/cbuildbot/build_status_unittest.py

Cc: pho...@chromium.org
Status: Started (was: Untriaged)
Hopefully, this is now fixed.

Comment 9 by nxia@chromium.org, Dec 5 2017

Status: Fixed (was: Started)
Project Member

Comment 10 by sheriffbot@chromium.org, Dec 11 2017

Cc: kbleicher@google.com
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 11 by sheriffbot@chromium.org, Feb 12 2018

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 12 by nxia@chromium.org, Feb 12 2018

Labels: -Merge-Approved-64

Sign in to add a comment