Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LLVM17.0.6 crash while building Chromium 125.0.6422.60 #92638

Open
squid-f opened this issue May 18, 2024 · 8 comments
Open

LLVM17.0.6 crash while building Chromium 125.0.6422.60 #92638

squid-f opened this issue May 18, 2024 · 8 comments
Labels
clang:codegen crash Prefer [crash-on-valid] or [crash-on-invalid]

Comments

@squid-f
Copy link

squid-f commented May 18, 2024

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.

Stack dump:
0.	Program arguments: /usr/lib64/llvm17/bin/clang++ -MD -MF obj/third_party/blink/renderer/core/core/text_decoration_painter.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=e3b94d0e5b86883fd77696bf10dc33ba250ba99b -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DBLINK_CORE_IMPLEMENTATION=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DBASE_USE_PERFETTO_CLIENT_LIBRARY=1 -DLIBYUV_DISABLE_NEON -DLIBYUV_DISABLE_LSX -DLIBYUV_DISABLE_LASX -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_SLUG_DISABLE_LEGACY_DESERIALIZE -DSK_DISABLE_LEGACY_VULKAN_BACKENDSEMAPHORE -DSK_DISABLE_LEGACY_CREATE_CHARACTERIZATION -DSK_DISABLE_LEGACY_VULKAN_MUTABLE_TEXTURE_STATE -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSK_GL -DSK_VULKAN=1 -DSK_GRAPHITE -DSK_DAWN -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DUSE_EGL -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DWEBRTC_ENABLE_AVX2 -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_X11 -DWEBRTC_USE_PIPEWIRE -DWEBRTC_USE_GIO -DLOGGING_INSIDE_WEBRTC -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_SLIM_WRITE_BARRIER -DLEVELDB_PLATFORM_CHROMIUM=1 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DWTF_USE_WEBAUDIO_PFFFT=1 -DUSE_SYSTEM_LIBJPEG -DWEBP_EXTERN=extern -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/libevent_shim -I../../net/third_party/quiche/overrides -I../../net/third_party/quiche/src/quiche/common/platform/default -I../../net/third_party/quiche/src -I../../third_party/libyuv/include -Igen/shim_headers/opus_shim -Igen/shim_headers/dav1d_shim -I../../third_party/skia -Igen/third_party/skia -I../../third_party/wuffs/src/release/c -I../../third_party/vulkan/include -I../../third_party/vulkan-deps/vulkan-headers/src/include -I../../third_party/wayland/src/src -I../../third_party/wayland/include/src -Igen/third_party/dawn/include -I../../third_party/dawn/include -Igen/shim_headers/libpng_shim -I../../third_party/khronos -I../../gpu -Igen/shim_headers/flac_shim -I../../third_party/protobuf/src -Igen/protoc_out -I../../base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/ipcz/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Igen/net/third_party/quiche/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../v8/include -I../../third_party/libwebm/source -I../../third_party/mesa_headers -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/crashpad/crashpad -I../../third_party/crashpad/crashpad/compat/linux -I../../third_party/crashpad/crashpad/compat/non_win -I../../third_party/zlib -I../../third_party/libaom/source/libaom -I../../third_party/libaom/source/config/linux/x64 -I../../third_party/libwebp/src/src -I../../third_party/ots/src/include -Igen/v8/include -I../../third_party/fp16/src/include -I../../third_party/libxml/src/include -I../../third_party/libxml/linux/include -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wno-invalid-offsetof -Wno-vla-extension -Wno-thread-safety-reference-return -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -fcomplete-member-pointers -no-canonical-prefixes -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wglobal-constructors -isystem/usr/include/glib-2.0 -isystem/usr/lib64/glib-2.0/include -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -Wconversion -Wno-float-conversion -Wno-sign-conversion -Wno-implicit-float-conversion -Wno-implicit-int-conversion -isystem/usr/include/nss -isystem/usr/include/nspr4 -isystem/usr/include/dbus-1.0 -isystem/usr/lib64/dbus-1.0/include -isystem/usr/include/libpng16 -DLIBXML_STATIC= -isystem/usr/include/libxml2 -Wenum-compare-conditional -Wno-c++11-narrowing-const-reference -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -nostdinc++ -isystem../../third_party/libc++/src/include -isystem../../third_party/libc++abi/src/include -fvisibility-inlines-hidden -O2 -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes -Wno-unknown-pragmas -I/builddir/build/BUILD/chromium-125.0.6422.60/buildtools/third_party/libc++ -I/builddir/build/BUILD/chromium-125.0.6422.60/buildtools/third_party/libc++/src/include -c ../../third_party/blink/renderer/core/paint/text_decoration_painter.cc -o obj/third_party/blink/renderer/core/core/text_decoration_painter.o
1.	<eof> parser at end of file
 #0 0x000000000727031b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib64/llvm17/bin/clang+++0x727031b)
 #1 0x000000000726e600 llvm::sys::RunSignalHandlers() (/usr/lib64/llvm17/bin/clang+++0x726e600)
 #2 0x00000000071e1a28 (/usr/lib64/llvm17/bin/clang+++0x71e1a28)
 #3 0x00007fa2284649e0 __restore_rt libc_sigaction.c:0:0
 #4 0x000000000a2fad04 clang::ASTContext::cleanup() (/usr/lib64/llvm17/bin/clang+++0xa2fad04)
 #5 0x0000000007e5f64d (/usr/lib64/llvm17/bin/clang+++0x7e5f64d)
 #6 0x000000000966d444 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib64/llvm17/bin/clang+++0x966d444)
 #7 0x0000000007e5d5d6 clang::CodeGenAction::ExecuteAction() (/usr/lib64/llvm17/bin/clang+++0x7e5d5d6)
 #8 0x0000000007d7bfe1 clang::FrontendAction::Execute() (/usr/lib64/llvm17/bin/clang+++0x7d7bfe1)
 #9 0x0000000007ceb09f clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib64/llvm17/bin/clang+++0x7ceb09f)
#10 0x0000000007e57d81 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib64/llvm17/bin/clang+++0x7e57d81)
#11 0x0000000004fa6ce5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib64/llvm17/bin/clang+++0x4fa6ce5)
#12 0x0000000004fa3c86 (/usr/lib64/llvm17/bin/clang+++0x4fa3c86)
#13 0x0000000007b765e9 (/usr/lib64/llvm17/bin/clang+++0x7b765e9)
#14 0x00000000071e173c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib64/llvm17/bin/clang+++0x71e173c)
#15 0x0000000007b75e42 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/usr/lib64/llvm17/bin/clang+++0x7b75e42)
#16 0x0000000007b39b7d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib64/llvm17/bin/clang+++0x7b39b7d)
#17 0x0000000007b39e47 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib64/llvm17/bin/clang+++0x7b39e47)
#18 0x0000000007b56149 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib64/llvm17/bin/clang+++0x7b56149)
#19 0x0000000004fa33d5 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib64/llvm17/bin/clang+++0x4fa33d5)
#20 0x0000000004fb24c1 main (/usr/lib64/llvm17/bin/clang+++0x4fb24c1)
#21 0x00007fa228451737 __libc_start_call_main libc-start.c:0:0
#22 0x00007fa2284517f5 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x237f5)
#23 0x0000000004fa0361 _start (/usr/lib64/llvm17/bin/clang+++0x4fa0361)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 17.0.6
Target: x86_64-mageia-linux-gnu
Thread model: posix
InstalledDir: /usr/lib64/llvm17/bin
clang++: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: ../../tools/clang/crashreports/text_decoration_painter-c56a94.cpp
clang++: note: diagnostic msg: ../../tools/clang/crashreports/text_decoration_painter-c56a94.sh
clang++: note: diagnostic msg: 
********************

text_decoration_painter-c56a94.zip

@DimitryAndric
Copy link
Collaborator

This looks like a segfault, but I cannot reproduce it here with your test case. (Note that I had to remove two cfi ignore lists, since they were not in the zipfile.) Is the crash repeatable, and did you notice any out-of-memory errors on the host where you got this crash?

@squid-f
Copy link
Author

squid-f commented May 18, 2024

Thanks @DimitryAndric for your prompt answer.

What are the missing files? I will try to find them. I attached only the requested ones.
Indeed the crash does not happen always at the same place. It is the second time it crashes and it was the same type of error. As I changed some build flags, I thought it was the effect of that but maybe it is more random.
The host has 64GB of memory and I have not noticed any out-of-memory complaints.

@DimitryAndric
Copy link
Collaborator

If the crash is not repeatable it is usually caused by OOM situations, but there can also be some other issue, like non-determinism.

The text_decoration_painter-c56a94.sh file refers to two CFI ignore lists, namely:

 -fsanitize-ignorelist=../../tools/cfi/ignores.txt \
 -fsanitize-system-ignorelist=/usr/lib64/llvm17/lib/clang/17/share/cfi_ignorelist.txt \

These aren't automatically attached to clang's crash report, unfortunately. I don't think these will matter, but it might be good to attach them anyway, just to make sure that they aren't the cause for the crash.

The /usr/lib64/llvm17/lib/clang/17/share/cfi_ignorelist.txt file is from the distro-provided llvm17 installation, so it's very unlikely that causes problems, but ../../tools/cfi/ignores.txt is something from the Chromium tree, which might contain something exotic.

@DimitryAndric
Copy link
Collaborator

FWIW, with clang llvmorg-18-init-00000-g4706251a318 (which is right after 17.x was branched), on my test machine it uses ~50s to compile, and ~644MiB of resident memory:

       49.23 real        43.40 user         1.08 sys
    660056  maximum resident set size
     75025  average shared memory size
       854  average unshared data size
       701  average unshared stack size
    151120  page reclaims
       676  page faults
         0  swaps
         0  block input operations
         1  block output operations
         0  messages sent
         0  messages received
         0  signals received
         8  voluntary context switches
     21185  involuntary context switches

I have tried various clang versions, from roughly the 16.x branch point to the most recent main, and it never crashes.

@squid-f
Copy link
Author

squid-f commented May 18, 2024

Thanks for your great support.
Here are the ignore lists. I will relaunch the build without cfi / thin_lto, to check the impact.
ignores.txt
cfi_ignorelist.txt

@EugeneZelenko EugeneZelenko added clang:codegen crash Prefer [crash-on-valid] or [crash-on-invalid] and removed new issue labels May 18, 2024
@llvmbot
Copy link
Collaborator

llvmbot commented May 18, 2024

@llvm/issue-subscribers-clang-codegen

Author: squid-f (squid-f)

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: /usr/lib64/llvm17/bin/clang++ -MD -MF obj/third_party/blink/renderer/core/core/text_decoration_painter.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=e3b94d0e5b86883fd77696bf10dc33ba250ba99b -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DBLINK_CORE_IMPLEMENTATION=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DBASE_USE_PERFETTO_CLIENT_LIBRARY=1 -DLIBYUV_DISABLE_NEON -DLIBYUV_DISABLE_LSX -DLIBYUV_DISABLE_LASX -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_SLUG_DISABLE_LEGACY_DESERIALIZE -DSK_DISABLE_LEGACY_VULKAN_BACKENDSEMAPHORE -DSK_DISABLE_LEGACY_CREATE_CHARACTERIZATION -DSK_DISABLE_LEGACY_VULKAN_MUTABLE_TEXTURE_STATE -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSK_GL -DSK_VULKAN=1 -DSK_GRAPHITE -DSK_DAWN -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DUSE_EGL -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DWEBRTC_ENABLE_AVX2 -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_X11 -DWEBRTC_USE_PIPEWIRE -DWEBRTC_USE_GIO -DLOGGING_INSIDE_WEBRTC -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_SLIM_WRITE_BARRIER -DLEVELDB_PLATFORM_CHROMIUM=1 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DWTF_USE_WEBAUDIO_PFFFT=1 -DUSE_SYSTEM_LIBJPEG -DWEBP_EXTERN=extern -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/libevent_shim -I../../net/third_party/quiche/overrides -I../../net/third_party/quiche/src/quiche/common/platform/default -I../../net/third_party/quiche/src -I../../third_party/libyuv/include -Igen/shim_headers/opus_shim -Igen/shim_headers/dav1d_shim -I../../third_party/skia -Igen/third_party/skia -I../../third_party/wuffs/src/release/c -I../../third_party/vulkan/include -I../../third_party/vulkan-deps/vulkan-headers/src/include -I../../third_party/wayland/src/src -I../../third_party/wayland/include/src -Igen/third_party/dawn/include -I../../third_party/dawn/include -Igen/shim_headers/libpng_shim -I../../third_party/khronos -I../../gpu -Igen/shim_headers/flac_shim -I../../third_party/protobuf/src -Igen/protoc_out -I../../base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/ipcz/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Igen/net/third_party/quiche/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../v8/include -I../../third_party/libwebm/source -I../../third_party/mesa_headers -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/crashpad/crashpad -I../../third_party/crashpad/crashpad/compat/linux -I../../third_party/crashpad/crashpad/compat/non_win -I../../third_party/zlib -I../../third_party/libaom/source/libaom -I../../third_party/libaom/source/config/linux/x64 -I../../third_party/libwebp/src/src -I../../third_party/ots/src/include -Igen/v8/include -I../../third_party/fp16/src/include -I../../third_party/libxml/src/include -I../../third_party/libxml/linux/include -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wno-invalid-offsetof -Wno-vla-extension -Wno-thread-safety-reference-return -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -fcomplete-member-pointers -no-canonical-prefixes -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wglobal-constructors -isystem/usr/include/glib-2.0 -isystem/usr/lib64/glib-2.0/include -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -Wconversion -Wno-float-conversion -Wno-sign-conversion -Wno-implicit-float-conversion -Wno-implicit-int-conversion -isystem/usr/include/nss -isystem/usr/include/nspr4 -isystem/usr/include/dbus-1.0 -isystem/usr/lib64/dbus-1.0/include -isystem/usr/include/libpng16 -DLIBXML_STATIC= -isystem/usr/include/libxml2 -Wenum-compare-conditional -Wno-c++11-narrowing-const-reference -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -nostdinc++ -isystem../../third_party/libc++/src/include -isystem../../third_party/libc++abi/src/include -fvisibility-inlines-hidden -O2 -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes -Wno-unknown-pragmas -I/builddir/build/BUILD/chromium-125.0.6422.60/buildtools/third_party/libc++ -I/builddir/build/BUILD/chromium-125.0.6422.60/buildtools/third_party/libc++/src/include -c ../../third_party/blink/renderer/core/paint/text_decoration_painter.cc -o obj/third_party/blink/renderer/core/core/text_decoration_painter.o 1. <eof> parser at end of file #0 0x000000000727031b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib64/llvm17/bin/clang+++0x727031b) #1 0x000000000726e600 llvm::sys::RunSignalHandlers() (/usr/lib64/llvm17/bin/clang+++0x726e600) #2 0x00000000071e1a28 (/usr/lib64/llvm17/bin/clang+++0x71e1a28) #3 0x00007fa2284649e0 __restore_rt libc_sigaction.c:0:0 #4 0x000000000a2fad04 clang::ASTContext::cleanup() (/usr/lib64/llvm17/bin/clang+++0xa2fad04) #5 0x0000000007e5f64d (/usr/lib64/llvm17/bin/clang+++0x7e5f64d) #6 0x000000000966d444 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib64/llvm17/bin/clang+++0x966d444) #7 0x0000000007e5d5d6 clang::CodeGenAction::ExecuteAction() (/usr/lib64/llvm17/bin/clang+++0x7e5d5d6) #8 0x0000000007d7bfe1 clang::FrontendAction::Execute() (/usr/lib64/llvm17/bin/clang+++0x7d7bfe1) #9 0x0000000007ceb09f clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib64/llvm17/bin/clang+++0x7ceb09f) #10 0x0000000007e57d81 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib64/llvm17/bin/clang+++0x7e57d81) #11 0x0000000004fa6ce5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib64/llvm17/bin/clang+++0x4fa6ce5) #12 0x0000000004fa3c86 (/usr/lib64/llvm17/bin/clang+++0x4fa3c86) #13 0x0000000007b765e9 (/usr/lib64/llvm17/bin/clang+++0x7b765e9) #14 0x00000000071e173c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib64/llvm17/bin/clang+++0x71e173c) #15 0x0000000007b75e42 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/usr/lib64/llvm17/bin/clang+++0x7b75e42) #16 0x0000000007b39b7d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib64/llvm17/bin/clang+++0x7b39b7d) #17 0x0000000007b39e47 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib64/llvm17/bin/clang+++0x7b39e47) #18 0x0000000007b56149 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib64/llvm17/bin/clang+++0x7b56149) #19 0x0000000004fa33d5 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib64/llvm17/bin/clang+++0x4fa33d5) #20 0x0000000004fb24c1 main (/usr/lib64/llvm17/bin/clang+++0x4fb24c1) #21 0x00007fa228451737 __libc_start_call_main libc-start.c:0:0 #22 0x00007fa2284517f5 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x237f5) #23 0x0000000004fa0361 _start (/usr/lib64/llvm17/bin/clang+++0x4fa0361) clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation) clang version 17.0.6 Target: x86_64-mageia-linux-gnu Thread model: posix InstalledDir: /usr/lib64/llvm17/bin clang++: note: diagnostic msg: ********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: ../../tools/clang/crashreports/text_decoration_painter-c56a94.cpp
clang++: note: diagnostic msg: ../../tools/clang/crashreports/text_decoration_painter-c56a94.sh
clang++: note: diagnostic msg:
text_decoration_painter-c56a94.zip


@DimitryAndric
Copy link
Collaborator

I could add both ignore lists, but I see no difference in behavior: it compiles fine with any version of llvm (from roughly after 16.x through 19.x) I have here. I'm unsure what is going on in your environment.

@squid-f
Copy link
Author

squid-f commented May 18, 2024

Hi again. By deactivating thin_lto and cfi flags of Chromium, I have been able to build it twice without any crash.
I am sure I am not facing an out of memory issue. But, then, what is the issue? Weird.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang:codegen crash Prefer [crash-on-valid] or [crash-on-invalid]
Projects
None yet
Development

No branches or pull requests

4 participants