Assertion failed: Layout && "Unable to find record layout information for type", file C:\b\c\b\ToTWin64_dbg_\src\third_party\llvm\tools\clang\lib\CodeGen\CodeGenTypes.cpp, line 770 when building chrome/win without goma |
||||
Issue descriptionhttps://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.clang%2FToTWin64_dbg_%2F1160%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout FAILED: obj/third_party/blink/renderer/modules/accessibility/accessibility/ax_inline_text_box.obj ../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\um -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\shared -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\winrt -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\ucrt -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\VC\Tools\MSVC\14.14.26428\include -imsvc..\..\third_party\depot_tools\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\VC\Tools\MSVC\14.14.26428\atlmfc\include -DV8_DEPRECATION_WARNINGS -DUSE_AURA=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED "-DCR_CLANG_REVISION=\"342245\"" -D_HAS_NODISCARD -D_HAS_EXCEPTIONS=0 -DCOMPONENT_BUILD -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=1 -DWIN32 -D_SECURE_ATL -D_USING_V110_SDK71_ -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=0x0A000002 -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DUSING_V8_SHARED -DBLINK_MODULES_IMPLEMENTATION=1 -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DWEBP_EXTERN=extern -DUSE_EGL -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=wchar_t -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DPROTOBUF_USE_DLLS -DBORINGSSL_SHARED_LIBRARY -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_WIN -DABSL_ALLOCATOR_NOTHROW=1 -DNO_MAIN_THREAD_WRAPPING -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSKCMS_API=__declspec(dllexport) -DSK_SUPPORT_GPU=1 "-DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\"" -DGR_GL_FUNCTION_TYPE=__stdcall -D__STD_C -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DWTF_USE_WEBAUDIO_FFMPEG=1 -DSUPPORT_WEBGL2_COMPUTE_CONTEXT=1 -DWTF_USE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSING_V8_SHARED -DV8_ENABLE_CHECKS -DV8_DEPRECATION_WARNINGS -DPNG_USE_DLL -DPNG_NO_MODULEDEF -DUSING_V8_SHARED -DV8_ENABLE_CHECKS -DV8_DEPRECATION_WARNINGS -DLIBXSLT_STATIC -I../.. -Igen -I../../third_party/libyuv/include -I../../third_party/libwebp/src -I../../third_party/wtl/include -I../../third_party/khronos -I../../gpu -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/protobuf/src -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/boringssl/src/include -I../../third_party/webrtc_overrides -I../../third_party/webrtc -I../../third_party/abseil-cpp -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/gpu -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/skia/modules/skottie/include -I../../third_party/angle/include -I../../third_party/angle/src/common/third_party/base -Igen/angle -I../../third_party/blink/renderer/platform/wtf/os-win32 -I../../third_party/libjpeg_turbo -I../../v8/include -Igen/v8/include -I../../third_party/iccjpeg -I../../third_party/libpng -I../../third_party/zlib -I../../third_party/ots/include -I../../v8/include -Igen/v8/include -I../../third_party/libxml/src/include -I../../third_party/libxml/win32/include -I../../third_party/libxslt/src -I../../third_party/snappy/src -I../../third_party/snappy/win32 /utf-8 /X -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fcolor-diagnostics -fmerge-all-constants -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -fcomplete-member-pointers /Gy /FS /bigobj /d2FastFail /Zc:sizedDealloc- -fmsc-version=1911 -m64 /Brepro /W4 -Wimplicit-fallthrough -Wthread-safety /WX /wd4091 /wd4127 /wd4251 /wd4275 /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589 /wd4611 /wd4100 /wd4121 /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995 /wd4996 /wd4456 /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4245 /wd4267 /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-user-defined-warnings -Wno-unused-lambda-capture -Wno-null-pointer-arithmetic -Wno-enum-compare-switch -Wno-ignored-pragma-optimize /Od /Ob0 /GF /MDd -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wno-shorten-64-to-32 /wd4305 /wd4324 /wd4714 /wd4800 /wd4996 -Wglobal-constructors /Z7 -fno-standalone-debug /FI../../third_party/blink/renderer/core/precompile_core.h -Wno-inconsistent-missing-override /wd4344 /wd4706 /wd4291 -DLIBXML_STATIC= /Fpobj/third_party/blink/renderer/modules/accessibility/accessibility_cc.pch /Yu../../third_party/blink/renderer/core/precompile_core.h -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare /TP /wd4577 /GR- /c ../../third_party/blink/renderer/modules/accessibility/ax_inline_text_box.cc /Foobj/third_party/blink/renderer/modules/accessibility/accessibility/ax_inline_text_box.obj /Fd"obj/third_party/blink/renderer/modules/accessibility/accessibility_cc.pdb" Assertion failed: Layout && "Unable to find record layout information for type", file C:\b\c\b\ToTWin64_dbg_\src\third_party\llvm\tools\clang\lib\CodeGen\CodeGenTypes.cpp, line 770 LLVMSymbolizer: error reading file: 'C:\b\c\b\ToTWin64_dbg_\src\third_party\llvm-build\Release+Asserts\bin\clang.pdb': An unknown error has occurred. HRESULT: 0x8007007E: Calling NoRegCoCreate LLVMSymbolizer: error reading file: 'kernel32.pdb': An unknown error has occurred. HRESULT: 0x8007007E: Calling NoRegCoCreate LLVMSymbolizer: error reading file: 'ntdll.pdb': An unknown error has occurred. HRESULT: 0x8007007E: Calling NoRegCoCreate #0 0x0000000140b03855 (C:\b\c\b\ToTWin64_dbg_\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x1853855) #1 0x0000000142705d97 (C:\b\c\b\ToTWin64_dbg_\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3455d97) #2 0x00000001426f3310 (C:\b\c\b\ToTWin64_dbg_\src\third_party\llvm-build\Release+Asserts\bin\clang-cl.exe+0x3443310)
,
Sep 17
Still broken.
,
Sep 18
First instance of this failure: https://ci.chromium.org/buildbot/chromium.clang/ToTWin64%28dbg%29/1150 Assuming this is caused by upstream changes, our LLVM rev range would be: bad: r342111 good: r342102 Pretty small. I tried to get a reproducer, but I must've gotten my gn args wrong, because it didn't crash.
,
Sep 18
This bug looks related to PCH. It looks like we auto-enable PCH without goma, and auto-disable it with goma. Normally to repro problems quickly, I build with goma -j900 to get to the crashing TU, and then rebuild just that TU with ToT clang-cl. That won't work for PCH-related issues, I guess. I suppose it makes it more important to finish deploying the crash uploader. Should we be continuously testing PCH builds on the ToT waterfall? We definitely don't want to ship a clang with broken PCH, since we want users to be able to build Chromium without goma. I imagine that PCH builds are inherently more fragile than non-PCH builds, but is it possible that by testing PCH builds only, we will miss some goma-specific failures? I suppose we will inevitably catch those types of non-PCH or goma-only failures when we run try jobs on our clang roll change after uploading the new package, but should we have more continuous monitoring? There are no clang changes in the LLVM revision range, so this must have been caused by some Chromium side change. It's possible that it will reproduce with pinned clang without goma. I'll check that next. If so, would it be reasonable to revert the chromium cl that caused this while we fix the bug?
,
Sep 18
> It's possible that it will reproduce with pinned clang without goma. I'll check that next. I believe I was running into this when trying to build Chromium; see my report in Issue 885008 .
,
Sep 18
I'm not aware of any issues we missed due to our only testing pchs on the tot bots. Someone one irc claimed that they're seeing this crash with pinned clang on irc. I wondered how that could happen given all the public bots are happy -- but that's because none of them use pchs. So yes, this is likely broken with pinned clang too.
,
Sep 18
Issue 885008 has been merged into this issue.
,
Sep 18
,
Sep 18
From the dupe, a stack: 1. ../../third_party/blink/renderer/modules/accessibility/ax_object.h:1088:2: current parser token ';' 2. ../../third_party/blink/renderer/modules/accessibility/ax_object.h:164:1: parsing namespace 'blink' 3. ../../third_party/blink/renderer/modules/accessibility/ax_object.h:166:1: parsing struct/union/class body 'blink::AXObject' 4. ../../third_party/blink/renderer/modules/accessibility/ax_object.h:295:32: LLVM IR generation of inline function 'blink::swap' 5. ../../third_party/blink/renderer/modules/accessibility/ax_object.h:295:32: Generating code for declaration 'blink::swap' 6. /usr/local/google/home/tmathmeyer/chromium/src/out/Windows/../../third_party/blink/renderer/platform/heap/heap_page.h:717:3 <Spelling=../../third_part y/blink/renderer/platform/wtf/allocator.h:110:9>: LLVM IR generation of declaration 'blink::BaseArena::operator new' 7. ../../third_party/blink/renderer/modules/accessibility/ax_object.h:243:5: Generating code for declaration 'blink::AXObject::InOrderTraversalIterator:: InOrderTraversalIterator' #0 0x00000000020d5c84 (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x20d5c84) #1 0x00000000020d3b1e llvm::sys::RunSignalHandlers() (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x20d3b1e) #2 0x00000000020d5e42 (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x20d5e42) #3 0x00007fb9c09370c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x110c0) #4 0x00007fb9bf6f2fcf gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x32fcf) #5 0x00007fb9bf6f43fa abort (/lib/x86_64-linux-gnu/libc.so.6+0x343fa) #6 0x00007fb9bf6ebe37 (/lib/x86_64-linux-gnu/libc.so.6+0x2be37) #7 0x00007fb9bf6ebee2 (/lib/x86_64-linux-gnu/libc.so.6+0x2bee2) #8 0x00000000023bf34c clang::CodeGen::CodeGenTypes::getCGRecordLayout(clang::RecordDecl const*) (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x2 3bf34c) ... #98 0x000000000335c666 clang::ParseAST(clang::Sema&, bool, bool) (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x335c666) #99 0x00000000027751c0 clang::FrontendAction::Execute() (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x27751c0) #100 0x000000000271d6b1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x271d6b1) #101 0x0000000002819399 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x2819399) #102 0x00000000008d8694 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x8d8694) #103 0x00000000008d5e95 main (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x8d5e95) #104 0x00007f078c0232b1 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b1) #105 0x00000000008d2e3d _start (../../third_party/llvm-build/Release+Asserts/bin/clang-cl+0x8d2e3d) clang-cl: error: unable to execute command: Aborted clang-cl: error: clang frontend command failed due to signal (use -v to see invocation) clang version 8.0.0 (trunk 340925) Target: x86_64-pc-windows-msvc Thread model: posix InstalledDir: ../../third_party/llvm-build/Release+Asserts/bin clang-cl: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. clang-cl: note: diagnostic msg: ********************
,
Sep 18
(The dupe makes the point that this affects everyone doing cross builds and has args.gn that repro)
,
Sep 18
,
Sep 18
For people blocked on this, from the first dupe: """Modifying build/config/pch.gni to add "&& !is_clang" to "enable_precompiled_headers" has allowed me to build.""" (This makes the build slower, so don't forget to undo once we have fixed this)
,
Sep 19
,
Sep 20
We rolled in a fixed clang in #592531, if you're synced past that you should be good (assuming the roll sticks).
,
Sep 20
> Should we be continuously testing PCH builds on the ToT waterfall? We definitely don't want to ship a clang with broken PCH, since we want users to be able to build Chromium without goma. I imagine that PCH builds are inherently more fragile than non-PCH builds, but is it possible that by testing PCH builds only, we will miss some goma-specific failures? I suppose we will inevitably catch those types of non-PCH or goma-only failures when we run try jobs on our clang roll change after uploading the new package, but should we have more continuous monitoring? I think the current setup is probably fine: as you say, the PCH build is inherently more fragile so having that enabled gives us more coverage. It does mean the non-PCH case doesn't get tested as well, but probably the diff in problem surface isn't that big, and we'll see such failures when running tryjobs.
,
Sep 24
|
||||
►
Sign in to add a comment |
||||
Comment 1 by thakis@chromium.org
, Sep 15