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

Issue 922274 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

probable non-deterministic build introduced by platform2/camera migration

Project Member Reported by semenzato@chromium.org, Jan 15

Issue description

We're seeing build failures in the CQ that are inconsistent with building locally and we're blaming recent platform2/camera CLs and we are hoping we're right.

We're reverting these CLs:

https://crrev.com/c/1404882
https://crrev.com/c/1404457
https://crrev.com/c/1404786

which depend on each other.  No other CLs depend on these.


 
Reverts have been chumped.
Cc: evanhernandez@chromium.org
These three packages seem to be broken on several paladins:

gyp: /build/caroline/tmp/portage/media-libs/arc-camera-service-0.0.1-r188/work/platform2/common-mk/mojom_bindings_generator.gypi not found

gyp: /build/nocturne/tmp/portage/media-libs/cros-camera-libcbm-0.0.1-r133/work/platform2/common-mk/common_test.gypi not found (cwd: /build/nocturne/tmp/portage/media-libs/cros-camera-libcbm-0.0.1-r133/work/cros-camera-libcbm-0.0.1) while reading includes of /build/nocturne/tmp/portage/media-libs/cros-camera-libcbm-0.0.1-r133/work/cros-camera-libcbm-0.0.1/camera/common/libcbm.gyp
c

gyp: /build/nocturne/tmp/portage/media-libs/cros-camera-libcamera_common-0.0.1-r134/work/platform2/common-mk/common_test.gypi not found (cwd: /build/nocturne/tmp/portage/media-libs/cros-camera-libcamera_common-0.0.1-r134/work/cros-camera-libcamera_common-0.0.1) while reading includes of /build/nocturne/tmp/portage/media-libs/cros-camera-libcamera_common-0.0.1-r134/work/cros-camera-libcamera_common-0.0.1/camera/common/libcamera_common.gyp
cros-camera-libcamera_common-0.0.1-r134: platform2.py: Unhandled exception:
c
Components: OS>Kernel>Camera

Comment 4 by hidehiko@chromium.org, Jan 16 (6 days ago)

Status: Fixed (was: Untriaged)
Thanks to the revert CL:1413495, CL:1413170 and CL:1413610, the bots look fixed, so closing.

FYI: I investigated what happened and it is probably...;

Those CLs are exercised on CQ R73-11586.0.0-rc2.
https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8924283428852408208

In that case, it is built as OUTOFTREE_BUILD.
Specifically, the directory structure looks like;
- platform2
  - common-mk
    - common_test.gypi
  - camera
    - common
      - libcbm.gyp

So, ../../../platform2/common-mk/common_test.gypi from libcbm.gyp works correctly, and build succeeds.
This is as same as local build.

Note that, at this moment, cros-camera-libcbm's version is r133.

The failure build: R73-11588.0.0-rc2
https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8924260603703280720

In uprev stage;

05:51:48: INFO: Determining whether to create new ebuild /b/swarming/w/ir/cache/cbuild/repository/src/third_party/chromiumos-overlay/media-libs/cros-camera-libcbm/cros-camera-libcbm-0.0.1-r134.ebuild
05:51:48: INFO: Old and new ebuild /b/swarming/w/ir/cache/cbuild/repository/src/third_party/chromiumos-overlay/media-libs/cros-camera-libcbm/cros-camera-libcbm-0.0.1-r134.ebuild are exactly identical; skipping uprev

so, the cros-camera-libcbm's ebuild is kept older one (r133). It makes sense as it does not have
platform2/common-mk or platform2/camera changes.

On the other hand, there are other platform2/ changes, so the local platform2 repository has more commits.
Thus, platform2's commit hash and cros-camera-libcbm's commit hash got different,
which blocks using OUTOFTREE_BUILD.

Also it seems like there's no bin package used, so it starts to build locally.
Thus, the directory looks like;

- cros-camera-libcbm-0.0.1/
  - common-mk
    - common_test.gypi
  - camera
    - common
      - libcbm.gyp

So, ../../../platform2/common-mk/common_test.gypi from libcbm.gyp does not refer the expected file.

The fix should be removing "../platform2/", which looks redundant.

cf) crbug.com/916471 to align the checkout directory for the build and our local checkout.

Sign in to add a comment