Linker errors when building jpeg_decode_accelerator_unittest for CrOS in media_gpu_v4l2 |
||||
Issue descriptionBot: https://luci-milo.appspot.com/p/chromium/builders/luci.chromium.ci/chromeos-kevin-rel-hw-tests Currently failing w/ linker errors: ../../media/gpu/v4l2/generic_v4l2_device.cc:508: error: undefined reference to 'media_gpu_v4l2::InitializeStubs(...)' clang-8: error: linker command failed with exit code 1 (use -v to see invocation) from: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8928691139361229632/+/steps/compile/0/stdout The change https://chromium-review.googlesource.com/c/1348042 shows up in the first failing build's blamelist, so is most likely the culprit. Note that this is prob going to block the PFQ when it picks up the change, so the sooner this is resolved the better.
,
Nov 27
You can revert it
,
Nov 28
Interesting. I get a similar but different error building for kevin in Simple Chrome locally: ../../media/gpu/v4l2/generic_v4l2_device.cc:39:10: fatal error: 'media/gpu/v4l2/v4l2_stubs.h' file not found #include "media/gpu/v4l2/v4l2_stubs.h" Reverting that CL (e14ed8784837da724260359cb4a31b3bf29a7e55) fixes my local build.
,
Nov 28
,
Nov 28
Bot's happy again. Thanks for the revert steven.
,
Nov 28
The revert went in yesterday at 16:04 PST as https://crrev.com/c/1352039. It looks like it's not present in the 3624 branch that was used for last night's PFQ run, so tons of builders failed (and are still failing). I'll merge it, but I'm curious why it's not already there. Why aren't daily PFQ runs lined up with Chrome branches?
,
Nov 28
Merged as https://crrev.com/c/1351762.
,
Nov 28
I am not sure why that CL did not make it in to https://chromium.googlesource.com/chromium/src/+log/72.0.3623.0..72.0.3624.0?n=10000# as it appears to have landed well in time, the 3624 cut was at 8pm, 4 hours after landing, so that is a bit of a mystery. The Chrome PFQ picks up the highest version it can find, so it is effectively lined up with the Chrome branches, as soon as 3624 was available it tried to use it, and if 3624.X exists it will try that.
,
Nov 28
Looking at that diff, the last real change was @ Tue Nov 27 15:58:24 2018 (PST). The revert landed @ Tue Nov 27 16:03:17 2018 (PST). IIRC, the Chrome branch is cut at 8 PM, but it uses a "recent stable build". I don't recall the exact algorithm for that, possibly the last revision to succeed on all "important" chromium builders? You would need to talk to a Chrome TPM about that.
,
Nov 29
The cron that creates the branches in chrome is: https://luci-milo.appspot.com/buildbot/official.infra.cron/chrome-branch/ You can see last night's branching run at https://luci-milo.appspot.com/buildbot/official.infra.cron/chrome-branch/893 > I don't recall the exact algorithm for that, possibly the last revision to succeed on all "important" chromium builders? That looks to be the step called "calculate_branch_revisions.best_revision" (which points to the rev you mentioned ~5 min before the one we wanted included). The logic behind that step appears to be a script at: https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/master/recipes/recipe_modules/release/resources/best_revision.py So yeah, some failing test on some main chromium bot probably prevented that script from picking a rev any later than the one it did. (+mmoss in case I got any of that wrong)
,
Nov 29
Yeah, that's pretty much it. Generally the script will pick something within about 2 hours, but there is no hard cut-off; it completely depends on what's going on with the tree and the subset of critical builders. So if some of those builders were failing, or if the tree was closed for a chunk of time such that no newer commits had landed and worked through all those builders yet, then it's going to choose an older revision.
,
Nov 29
And if you really care, you can see in the logging output that your commit was marked "INCOMPLETE" because it hadn't yet been built on: (u'179ebaeeaa56a0f4c5e2a601ecab1b3e912273f1', ['chromium.chromiumos/chromeos-amd64-generic-rel']) You can also see many other commits were flagged for that same builder, so perhaps it had fallen behind from an earlier outage or failure.
,
Nov 29
Thanks for all the details!
,
Nov 29
Now, if only I could reproduce this error locally to be able to reland
,
Nov 29
oprypin@ - If you build on Linux for Chrome OS using Simple Chrome (go/simplechrome) with board=kevin you should be able to reproduce the build failure.
,
Nov 30
The CL set an incorrect path to generate files into. I'm pretty sure that the linker error happens only when there are old files lingering in the correct path, and with a clean build the more obvious include error happens. Reland in https://chromium-review.googlesource.com/c/chromium/src/+/1356703/1..4
,
Dec 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e9b35972e43acb7df051bd4ee7c47ed6c9519d16 commit e9b35972e43acb7df051bd4ee7c47ed6c9519d16 Author: Oleh Prypin <oprypin@chromium.org> Date: Mon Dec 03 22:52:58 2018 Reland "Make a GN template for generate_stubs.py" This is a reland of e14ed8784837da724260359cb4a31b3bf29a7e55 With correct output path to v4l2/v4l2_stubs.{h,cc} Original change's description: > Make a GN template for generate_stubs.py > > Make it produce a source_set which can be depended on rather than directly including sources into the parent target. > > Bug: chromium:682122 > Change-Id: I7ad9f94459f187481e656e3513eabb3e2a6f92a1 > Reviewed-on: https://chromium-review.googlesource.com/c/1348042 > Reviewed-by: Dan Sanders <sandersd@chromium.org> > Reviewed-by: Mirko Bonadei <mbonadei@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Commit-Queue: Oleh Prypin <oprypin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#611117} Bug: chromium:682122, chromium:909020 Change-Id: I1d34d5bb0dc9f4f72a444e9463669793c3f5a171 Reviewed-on: https://chromium-review.googlesource.com/c/1356703 Reviewed-by: Steven Bennetts <stevenjb@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Reviewed-by: Dan Sanders <sandersd@chromium.org> Commit-Queue: Oleh Prypin <oprypin@chromium.org> Cr-Commit-Position: refs/heads/master@{#613300} [modify] https://crrev.com/e9b35972e43acb7df051bd4ee7c47ed6c9519d16/media/audio/BUILD.gn [modify] https://crrev.com/e9b35972e43acb7df051bd4ee7c47ed6c9519d16/media/gpu/BUILD.gn [modify] https://crrev.com/e9b35972e43acb7df051bd4ee7c47ed6c9519d16/media/gpu/vaapi/BUILD.gn [add] https://crrev.com/e9b35972e43acb7df051bd4ee7c47ed6c9519d16/tools/generate_stubs/rules.gni |
||||
►
Sign in to add a comment |
||||
Comment 1 by vmi...@chromium.org
, Nov 27