Linking webkit_unit_tests fails on linux-blink-heap-verification |
||
Issue descriptionThe CI bot only builds a subset of chrome for testing purposes. It started failing on compile after "Make Element::LayoutObjectIsNeeded const". Maybe some missing dependency? Bot: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/linux-blink-heap-verification I suspect that it started failing compiling after https://chromium-review.googlesource.com/c/chromium/src/+/980591 Example log: https://logs.chromium.org/v/?s=chromium%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8950877546282254704%2F%2B%2Fsteps%2Fcompile%2F0%2Fstdout ---snip--- [8157/8167] LINK ./webkit_unit_tests FAILED: webkit_unit_tests python "../../build/toolchain/gcc_link_wrapper.py" --output="./webkit_unit_tests" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--no-as-needed -lpthread -Wl,--as-needed -fuse-ld=lld -Wl,--icf=all -m64 -Werror -Wl,-O2 -Wl,--gc-sections -Wl,--fatal-warnings -nostdlib++ --sysroot=../../build/linux/debian_sid_amd64-sysroot -L../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/usr/local/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/lib/x86_64-linux-gnu -L../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu -Wl,-rpath-link=. -Wl,--disable-new-dtags -Wl,--export-dynamic -o "./webkit_unit_tests" -Wl,--start-group @"./webkit_unit_tests.rsp" -Wl,--end-group -ldl -lpthread -lrt -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lnss3 -lnssutil3 -lsmime3 -lplds4 -lplc4 -lnspr4 -lexpat -lgio-2.0 -lresolv -lX11 -lX11-xcb -lxcb -lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrender -lXtst -lXrandr -lpangocairo-1.0 -lpango-1.0 -lcairo -lXss -lpci -lasound -lm -lz -ldbus-1 -latk-1.0 -latk-bridge-2.0 -lcups /b/swarming/w/ir/cache/builder/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: blink::Element::LayoutObjectIsNeeded(blink::ComputedStyle const&) >>> referenced by NodeTest.cpp >>> obj/third_party/WebKit/Source/core/unit_tests/NodeTest.o:(vtable for blink::FakeMediaControlElement) /b/swarming/w/ir/cache/builder/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: blink::Element::LayoutObjectIsNeeded(blink::ComputedStyle const&) >>> referenced by NodeTest.cpp >>> obj/third_party/WebKit/Source/core/unit_tests/NodeTest.o:(vtable for blink::FakeMediaControls) ---/snip--- Can you have a look>
,
Mar 28 2018
gn args from https://logs.chromium.org/v/?s=chromium%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8950787221187212064%2F%2B%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout dcheck_always_on = true enable_blink_heap_verification = true goma_dir = "/b/swarming/w/ir/cache/goma_client" is_component_build = false is_debug = false strip_absolute_paths_from_debug_symbols = true use_goma = true I think it builds using something along the lines of python -u /b/swarming/w/ir/.cipd/pkgs/11/0b372dcff1ea986770087adcd0b3f39b3117e8f8/build/scripts/slave/recipe_modules/chromium/resources/ninja_wrapper.py --ninja_info_output /b/swarming/w/ir/tmp/tmpLCrc9H.json --failure_output /b/swarming/w/ir/tmp/tmpeZtBdk -- /b/swarming/w/ir/kitchen-checkout/depot_tools/ninja -w 'dupbuild=err' -C /b/swarming/w/ir/cache/builder/src/out/Release -j 80 base_unittests blink_heap_unittests cacheinvalidation_unittests capture_unittests components_unittests content_browsertests content_unittests crypto_unittests google_apis_unittests gpu_unittests ipc_tests jingle_unittests media_blink_unittests media_unittests midi_unittests net_unittests services_unittests skia_unittests sql_unittests ui_base_unittests unit_tests url_unittests webkit_layout_tests_exparchive webkit_unit_tests wtf_unittests Maybe building the targets exactly in that order will help
,
Mar 28 2018
Still no luck, even after using the same gn args, and building the targets in that order. I even tried cleaning the build, building the last successful revision, and then building the first failing revision (this looks like an incremental builder, so I thought this might make a difference). Is there a way to run a clean build on that builder (non incremental)?
,
Mar 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d5a44c1a71815022d8f5e66023a5778fc68e207c commit d5a44c1a71815022d8f5e66023a5778fc68e207c Author: Adithya Srinivasan <adithyas@chromium.org> Date: Wed Mar 28 22:44:18 2018 Fix linux-blink-heap-verification build For some reason, the builder didn't rebuild NodeTest.o after I landed https://crrev.com/c/980591. The dependencies in BUILD.gn seem okay, so I'm suspecting it's a clang bug, but I'm not sure and I cannot reproduce locally. I'm just adding an include to touch NodeTest.cpp in this CL, which should force it to get rebuilt and fix the build. Bug: 826516 Change-Id: I99f1455e5656890ec958db598cb8eae47899178c TBR: mlippautz@chromium.org Reviewed-on: https://chromium-review.googlesource.com/982812 Reviewed-by: Adithya Srinivasan <adithyas@chromium.org> Commit-Queue: Adithya Srinivasan <adithyas@chromium.org> Cr-Commit-Position: refs/heads/master@{#546633} [modify] https://crrev.com/d5a44c1a71815022d8f5e66023a5778fc68e207c/third_party/WebKit/Source/core/dom/NodeTest.cpp
,
Mar 29 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by adithyas@chromium.org
, Mar 28 2018