llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.07k stars 11.98k forks source link

[clang++ crash] while building Chromium 121 #80964

Closed squid-f closed 9 months ago

squid-f commented 9 months ago

At about 60% of the build, a crash happens and it is replicable:

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: clang++ -MMD -MF obj/chrome/browser/devtools/devtools/chrome_devtools_session.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=caccdb0407e84357ca6490165e88dcad64e47d17 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DBASE_USE_PERFETTO_CLIENT_LIBRARY=1 -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_SKSURFACE_METHODS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_METHODS -DSK_DISABLE_LEGACY_SKSURFACE_FACTORIES -DSK_DISABLE_LEGACY_SKSURFACE_FLUSH -DSK_DISABLE_LEGACY_SKSURFACE_AS_IMAGE -DSK_DISABLE_LEGACY_SKSURFACE_DISPLAYLIST -DSK_DISABLE_LEGACY_IMAGE_SUBSET_METHODS -DSK_DISABLE_LEGACY_IMAGE_COLORSPACE_METHODS -DSK_DISABLE_LEGACY_IMAGE_RELEASE_PROCS -DSK_DISABLE_LEGACY_GL_BACKEND_SURFACE -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_FLUSH -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_BOOLS -DSK_DISABLE_LEGACY_GL_GRDIRECTCONTEXT_FACTORIES -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_SLUG_DISABLE_LEGACY_DESERIALIZE -DSK_DISABLE_LEGACY_VK_GRDIRECTCONTEXT_FACTORIES -DSK_DEFAULT_TYPEFACE_IS_EMPTY -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 -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DLIBYUV_DISABLE_NEON -DUSE_EGL -DTOOLKIT_VIEWS=1 -DON_FOCUS_PING_ENABLED -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -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 -DLEVELDB_PLATFORM_CHROMIUM=1 -DI18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\" -DEIGEN_MPL2_ONLY -DEIGEN_MAX_ALIGN_BYTES=64 -DEIGEN_HAS_TYPE_TRAITS=0 -DFLATBUFFERS_LOCALE_INDEPENDENT=0 -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 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_SLIM_WRITE_BARRIER -DATK_LIB_DIR=\"/usr/lib64\" -DUSE_ATK_BRIDGE -DOPENSCREEN_TEST_DATA_DIR=\"third_party/openscreen/src/test/data/\" -DENABLE_TRACE_LOGGING -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -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/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/shim_headers/libpng_shim -Igen/shim_headers/libwebp_shim -I../../third_party/libyuv/include -Igen/shim_headers/opus_shim -Igen/shim_headers/ffmpeg_shim -Igen/shim_headers/dav1d_shim -Igen/third_party/dawn/include -I../../third_party/dawn/include -I../../third_party/khronos -I../../gpu -Igen/shim_headers/flac_shim -Igen/third_party/private_membership/src -Igen/third_party/shell-encryption/src -Igen/components/policy/proto -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/protobuf/src -Igen/protoc_out -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/ipcz/include -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -Igen/net/third_party/quiche/src -I../../third_party/libaddressinput/src/cpp/include -I../../third_party/tflite/src -I../../third_party/tflite/src/third_party/xla/third_party/tsl -I../../third_party/pthreadpool/src/include -I../../third_party/eigen3/src -Igen/third_party/tflite/src -I../../third_party/flatbuffers/src/include -I../../third_party/flatbuffers/src/src -I../../third_party/flatbuffers/src -I../../third_party/flatbuffers/generated -I../../third_party/gemmlowp/src -I../../third_party/tflite_support/src -I../../third_party/tflite_support/src/tensorflow_lite_support -I../../third_party/re2/src -Igen/third_party/tflite_support/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/libwebm/source -I../../third_party/mesa_headers -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../../v8/include -Igen/third_party/metrics_proto -I../../third_party/openscreen/src -Igen/third_party/openscreen/src -I../../third_party/jsoncpp/source/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 -Wenum-compare-conditional -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 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -I/usr/include/nss -I/usr/include/nspr4 -Wno-constant-conversion -Wno-shorten-64-to-32 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -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-attributes -Wno-ignored-attributes -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations -Wno-return-type -Wno-parentheses -Wno-misleading-indentation -Wno-ignored-attributes -Wno-address -Wno-dangling-else -I/usr/include/wayland -I/usr/include/libxkbcommon -I/usr/include/opus -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-error=deprecated-declarations -Wno-error=deprecated-copy -Wno-error=psabi -Wno-error=implicit-const-int-float-conversion -Wno-error=non-c-typedef-for-linkage -Wno-error=unused-const-variable -Wno-invalid-offsetof -fpermissive -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++ -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++/src/include -c ../../chrome/browser/devtools/chrome_devtools_session.cc -o obj/chrome/browser/devtools/devtools/chrome_devtools_session.o
1.  <eof> parser at end of file
 #0 0x00007f132db141c1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-15.so+0xb141c1)
 #1 0x00007f132db122b4 llvm::sys::RunSignalHandlers() (/lib64/libLLVM-15.so+0xb122b4)
 #2 0x00007f132da32c48 (/lib64/libLLVM-15.so+0xa32c48)
 #3 0x00007f1335cd0960 __restore_rt libc_sigaction.c:0:0
 #4 0x00007f133355fc8a (/lib64/libclang-cpp.so.15+0xd5fc8a)
 #5 0x00007f133354d2a9 (/lib64/libclang-cpp.so.15+0xd4d2a9)
 #6 0x00007f1333566ad5 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/lib64/libclang-cpp.so.15+0xd66ad5)
 #7 0x00007f1333bf72a9 clang::Sema::PopExpressionEvaluationContext() (/lib64/libclang-cpp.so.15+0x13f72a9)
 #8 0x00007f1333259fa6 clang::ParseAST(clang::Sema&, bool, bool) (/lib64/libclang-cpp.so.15+0xa59fa6)
 #9 0x00007f1334b51d71 clang::FrontendAction::Execute() (/lib64/libclang-cpp.so.15+0x2351d71)
#10 0x00007f1334aeaea9 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib64/libclang-cpp.so.15+0x22eaea9)
#11 0x00007f1334bbe44b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib64/libclang-cpp.so.15+0x23be44b)
#12 0x000000000041368d cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang-15+0x41368d)
#13 0x000000000040df5f (/usr/bin/clang-15+0x40df5f)
#14 0x00007f13347f7b95 (/lib64/libclang-cpp.so.15+0x1ff7b95)
#15 0x00007f132da32d43 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib64/libLLVM-15.so+0xa32d43)
#16 0x00007f13347f83c1 (/lib64/libclang-cpp.so.15+0x1ff83c1)
#17 0x00007f13347c7c5f clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/lib64/libclang-cpp.so.15+0x1fc7c5f)
#18 0x00007f13347c83e9 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/lib64/libclang-cpp.so.15+0x1fc83e9)
#19 0x00007f13347d4d2c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/lib64/libclang-cpp.so.15+0x1fd4d2c)
#20 0x0000000000411bee clang_main(int, char**) (/usr/bin/clang-15+0x411bee)
#21 0x00007f1335cbd6b7 __libc_start_call_main libc-start.c:0:0
#22 0x00007f1335cbd775 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x23775)
#23 0x000000000040d181 _start (/usr/bin/clang-15+0x40d181)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 15.0.6 (Mageia 15.0.6-5.mga9)
Target: x86_64-mageia-linux-gnu
Thread model: posix
InstalledDir: /usr/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/chrome_devtools_session-0f89bb.cpp
clang++: note: diagnostic msg: ../../tools/clang/crashreports/chrome_devtools_session-0f89bb.sh
clang++: note: diagnostic msg: 

********************

Chromium 120 was building without any issue.

crashreports files are attached. crashreports.zip

Any idea?

Thanks

shafik commented 9 months ago

I don't see anything recently that looks related. I don't think we will be able to make much progress without a minimized reproducer.

CC @cor3ntin @AaronBallman

AaronBallman commented 9 months ago

CC @tbaederr in case this jogs your memory

tbaederr commented 9 months ago

I don't see anything recently that looks related

I wanted to make a comment about recent developments as well, but then saw that the initial comment uses clang 15. Any chance you can try a newer version?

llvmbot commented 9 months ago

@llvm/issue-subscribers-clang-frontend

Author: squid-f (squid-f)

At about 60% of the build, a crash happens and it is replicable: ``` 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: clang++ -MMD -MF obj/chrome/browser/devtools/devtools/chrome_devtools_session.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=caccdb0407e84357ca6490165e88dcad64e47d17 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DBASE_USE_PERFETTO_CLIENT_LIBRARY=1 -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_SKSURFACE_METHODS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_METHODS -DSK_DISABLE_LEGACY_SKSURFACE_FACTORIES -DSK_DISABLE_LEGACY_SKSURFACE_FLUSH -DSK_DISABLE_LEGACY_SKSURFACE_AS_IMAGE -DSK_DISABLE_LEGACY_SKSURFACE_DISPLAYLIST -DSK_DISABLE_LEGACY_IMAGE_SUBSET_METHODS -DSK_DISABLE_LEGACY_IMAGE_COLORSPACE_METHODS -DSK_DISABLE_LEGACY_IMAGE_RELEASE_PROCS -DSK_DISABLE_LEGACY_GL_BACKEND_SURFACE -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_FLUSH -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_BOOLS -DSK_DISABLE_LEGACY_GL_GRDIRECTCONTEXT_FACTORIES -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_SLUG_DISABLE_LEGACY_DESERIALIZE -DSK_DISABLE_LEGACY_VK_GRDIRECTCONTEXT_FACTORIES -DSK_DEFAULT_TYPEFACE_IS_EMPTY -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 -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DLIBYUV_DISABLE_NEON -DUSE_EGL -DTOOLKIT_VIEWS=1 -DON_FOCUS_PING_ENABLED -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -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 -DLEVELDB_PLATFORM_CHROMIUM=1 -DI18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\" -DEIGEN_MPL2_ONLY -DEIGEN_MAX_ALIGN_BYTES=64 -DEIGEN_HAS_TYPE_TRAITS=0 -DFLATBUFFERS_LOCALE_INDEPENDENT=0 -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 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_SLIM_WRITE_BARRIER -DATK_LIB_DIR=\"/usr/lib64\" -DUSE_ATK_BRIDGE -DOPENSCREEN_TEST_DATA_DIR=\"third_party/openscreen/src/test/data/\" -DENABLE_TRACE_LOGGING -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -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/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/shim_headers/libpng_shim -Igen/shim_headers/libwebp_shim -I../../third_party/libyuv/include -Igen/shim_headers/opus_shim -Igen/shim_headers/ffmpeg_shim -Igen/shim_headers/dav1d_shim -Igen/third_party/dawn/include -I../../third_party/dawn/include -I../../third_party/khronos -I../../gpu -Igen/shim_headers/flac_shim -Igen/third_party/private_membership/src -Igen/third_party/shell-encryption/src -Igen/components/policy/proto -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/protobuf/src -Igen/protoc_out -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/ipcz/include -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -Igen/net/third_party/quiche/src -I../../third_party/libaddressinput/src/cpp/include -I../../third_party/tflite/src -I../../third_party/tflite/src/third_party/xla/third_party/tsl -I../../third_party/pthreadpool/src/include -I../../third_party/eigen3/src -Igen/third_party/tflite/src -I../../third_party/flatbuffers/src/include -I../../third_party/flatbuffers/src/src -I../../third_party/flatbuffers/src -I../../third_party/flatbuffers/generated -I../../third_party/gemmlowp/src -I../../third_party/tflite_support/src -I../../third_party/tflite_support/src/tensorflow_lite_support -I../../third_party/re2/src -Igen/third_party/tflite_support/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/libwebm/source -I../../third_party/mesa_headers -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../../v8/include -Igen/third_party/metrics_proto -I../../third_party/openscreen/src -Igen/third_party/openscreen/src -I../../third_party/jsoncpp/source/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 -Wenum-compare-conditional -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 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -I/usr/include/nss -I/usr/include/nspr4 -Wno-constant-conversion -Wno-shorten-64-to-32 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -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-attributes -Wno-ignored-attributes -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations -Wno-return-type -Wno-parentheses -Wno-misleading-indentation -Wno-ignored-attributes -Wno-address -Wno-dangling-else -I/usr/include/wayland -I/usr/include/libxkbcommon -I/usr/include/opus -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-error=deprecated-declarations -Wno-error=deprecated-copy -Wno-error=psabi -Wno-error=implicit-const-int-float-conversion -Wno-error=non-c-typedef-for-linkage -Wno-error=unused-const-variable -Wno-invalid-offsetof -fpermissive -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++ -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++/src/include -c ../../chrome/browser/devtools/chrome_devtools_session.cc -o obj/chrome/browser/devtools/devtools/chrome_devtools_session.o 1. <eof> parser at end of file #0 0x00007f132db141c1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-15.so+0xb141c1) #1 0x00007f132db122b4 llvm::sys::RunSignalHandlers() (/lib64/libLLVM-15.so+0xb122b4) #2 0x00007f132da32c48 (/lib64/libLLVM-15.so+0xa32c48) #3 0x00007f1335cd0960 __restore_rt libc_sigaction.c:0:0 #4 0x00007f133355fc8a (/lib64/libclang-cpp.so.15+0xd5fc8a) #5 0x00007f133354d2a9 (/lib64/libclang-cpp.so.15+0xd4d2a9) #6 0x00007f1333566ad5 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/lib64/libclang-cpp.so.15+0xd66ad5) #7 0x00007f1333bf72a9 clang::Sema::PopExpressionEvaluationContext() (/lib64/libclang-cpp.so.15+0x13f72a9) #8 0x00007f1333259fa6 clang::ParseAST(clang::Sema&, bool, bool) (/lib64/libclang-cpp.so.15+0xa59fa6) #9 0x00007f1334b51d71 clang::FrontendAction::Execute() (/lib64/libclang-cpp.so.15+0x2351d71) #10 0x00007f1334aeaea9 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib64/libclang-cpp.so.15+0x22eaea9) #11 0x00007f1334bbe44b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib64/libclang-cpp.so.15+0x23be44b) #12 0x000000000041368d cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang-15+0x41368d) #13 0x000000000040df5f (/usr/bin/clang-15+0x40df5f) #14 0x00007f13347f7b95 (/lib64/libclang-cpp.so.15+0x1ff7b95) #15 0x00007f132da32d43 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib64/libLLVM-15.so+0xa32d43) #16 0x00007f13347f83c1 (/lib64/libclang-cpp.so.15+0x1ff83c1) #17 0x00007f13347c7c5f clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/lib64/libclang-cpp.so.15+0x1fc7c5f) #18 0x00007f13347c83e9 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/lib64/libclang-cpp.so.15+0x1fc83e9) #19 0x00007f13347d4d2c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/lib64/libclang-cpp.so.15+0x1fd4d2c) #20 0x0000000000411bee clang_main(int, char**) (/usr/bin/clang-15+0x411bee) #21 0x00007f1335cbd6b7 __libc_start_call_main libc-start.c:0:0 #22 0x00007f1335cbd775 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x23775) #23 0x000000000040d181 _start (/usr/bin/clang-15+0x40d181) clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation) clang version 15.0.6 (Mageia 15.0.6-5.mga9) Target: x86_64-mageia-linux-gnu Thread model: posix InstalledDir: /usr/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/chrome_devtools_session-0f89bb.cpp clang++: note: diagnostic msg: ../../tools/clang/crashreports/chrome_devtools_session-0f89bb.sh clang++: note: diagnostic msg: ******************** ``` Chromium 120 was building without any issue. crashreports files are attached. [crashreports.zip](https://github.com/llvm/llvm-project/files/14192158/crashreports.zip) Any idea? Thanks
AaronBallman commented 9 months ago

I don't see anything recently that looks related

I wanted to make a comment about recent developments as well, but then saw that the initial comment uses clang 15. Any chance you can try a newer version?

Oh good catch, I missed that

clang version 15.0.6 (Mageia 15.0.6-5.mga9)

Endilll commented 9 months ago

I reproduced all 5 crashes on Clang 15, but all of them seem to be fixed in 16. They don't reproduce on 17 and post-18 trunk either. Feel free to reopen if you can reproduce it on the latest release or trunk.

llvmbot commented 9 months ago

@llvm/issue-subscribers-c-1

Author: squid-f (squid-f)

At about 60% of the build, a crash happens and it is replicable: ``` 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: clang++ -MMD -MF obj/chrome/browser/devtools/devtools/chrome_devtools_session.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=caccdb0407e84357ca6490165e88dcad64e47d17 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DBASE_USE_PERFETTO_CLIENT_LIBRARY=1 -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_SKSURFACE_METHODS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_METHODS -DSK_DISABLE_LEGACY_SKSURFACE_FACTORIES -DSK_DISABLE_LEGACY_SKSURFACE_FLUSH -DSK_DISABLE_LEGACY_SKSURFACE_AS_IMAGE -DSK_DISABLE_LEGACY_SKSURFACE_DISPLAYLIST -DSK_DISABLE_LEGACY_IMAGE_SUBSET_METHODS -DSK_DISABLE_LEGACY_IMAGE_COLORSPACE_METHODS -DSK_DISABLE_LEGACY_IMAGE_RELEASE_PROCS -DSK_DISABLE_LEGACY_GL_BACKEND_SURFACE -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_FLUSH -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_BOOLS -DSK_DISABLE_LEGACY_GL_GRDIRECTCONTEXT_FACTORIES -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_SLUG_DISABLE_LEGACY_DESERIALIZE -DSK_DISABLE_LEGACY_VK_GRDIRECTCONTEXT_FACTORIES -DSK_DEFAULT_TYPEFACE_IS_EMPTY -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 -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DLIBYUV_DISABLE_NEON -DUSE_EGL -DTOOLKIT_VIEWS=1 -DON_FOCUS_PING_ENABLED -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -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 -DLEVELDB_PLATFORM_CHROMIUM=1 -DI18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\" -DEIGEN_MPL2_ONLY -DEIGEN_MAX_ALIGN_BYTES=64 -DEIGEN_HAS_TYPE_TRAITS=0 -DFLATBUFFERS_LOCALE_INDEPENDENT=0 -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 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DV8_USE_PERFETTO -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_SLIM_WRITE_BARRIER -DATK_LIB_DIR=\"/usr/lib64\" -DUSE_ATK_BRIDGE -DOPENSCREEN_TEST_DATA_DIR=\"third_party/openscreen/src/test/data/\" -DENABLE_TRACE_LOGGING -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -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/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/shim_headers/libpng_shim -Igen/shim_headers/libwebp_shim -I../../third_party/libyuv/include -Igen/shim_headers/opus_shim -Igen/shim_headers/ffmpeg_shim -Igen/shim_headers/dav1d_shim -Igen/third_party/dawn/include -I../../third_party/dawn/include -I../../third_party/khronos -I../../gpu -Igen/shim_headers/flac_shim -Igen/third_party/private_membership/src -Igen/third_party/shell-encryption/src -Igen/components/policy/proto -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/protobuf/src -Igen/protoc_out -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/ipcz/include -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -Igen/net/third_party/quiche/src -I../../third_party/libaddressinput/src/cpp/include -I../../third_party/tflite/src -I../../third_party/tflite/src/third_party/xla/third_party/tsl -I../../third_party/pthreadpool/src/include -I../../third_party/eigen3/src -Igen/third_party/tflite/src -I../../third_party/flatbuffers/src/include -I../../third_party/flatbuffers/src/src -I../../third_party/flatbuffers/src -I../../third_party/flatbuffers/generated -I../../third_party/gemmlowp/src -I../../third_party/tflite_support/src -I../../third_party/tflite_support/src/tensorflow_lite_support -I../../third_party/re2/src -Igen/third_party/tflite_support/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/libwebm/source -I../../third_party/mesa_headers -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../../v8/include -Igen/third_party/metrics_proto -I../../third_party/openscreen/src -Igen/third_party/openscreen/src -I../../third_party/jsoncpp/source/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 -Wenum-compare-conditional -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 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -I/usr/include/nss -I/usr/include/nspr4 -Wno-constant-conversion -Wno-shorten-64-to-32 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -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-attributes -Wno-ignored-attributes -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations -Wno-return-type -Wno-parentheses -Wno-misleading-indentation -Wno-ignored-attributes -Wno-address -Wno-dangling-else -I/usr/include/wayland -I/usr/include/libxkbcommon -I/usr/include/opus -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-error=deprecated-declarations -Wno-error=deprecated-copy -Wno-error=psabi -Wno-error=implicit-const-int-float-conversion -Wno-error=non-c-typedef-for-linkage -Wno-error=unused-const-variable -Wno-invalid-offsetof -fpermissive -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++ -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++/src/include -c ../../chrome/browser/devtools/chrome_devtools_session.cc -o obj/chrome/browser/devtools/devtools/chrome_devtools_session.o 1. <eof> parser at end of file #0 0x00007f132db141c1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-15.so+0xb141c1) #1 0x00007f132db122b4 llvm::sys::RunSignalHandlers() (/lib64/libLLVM-15.so+0xb122b4) #2 0x00007f132da32c48 (/lib64/libLLVM-15.so+0xa32c48) #3 0x00007f1335cd0960 __restore_rt libc_sigaction.c:0:0 #4 0x00007f133355fc8a (/lib64/libclang-cpp.so.15+0xd5fc8a) #5 0x00007f133354d2a9 (/lib64/libclang-cpp.so.15+0xd4d2a9) #6 0x00007f1333566ad5 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/lib64/libclang-cpp.so.15+0xd66ad5) #7 0x00007f1333bf72a9 clang::Sema::PopExpressionEvaluationContext() (/lib64/libclang-cpp.so.15+0x13f72a9) #8 0x00007f1333259fa6 clang::ParseAST(clang::Sema&, bool, bool) (/lib64/libclang-cpp.so.15+0xa59fa6) #9 0x00007f1334b51d71 clang::FrontendAction::Execute() (/lib64/libclang-cpp.so.15+0x2351d71) #10 0x00007f1334aeaea9 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib64/libclang-cpp.so.15+0x22eaea9) #11 0x00007f1334bbe44b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib64/libclang-cpp.so.15+0x23be44b) #12 0x000000000041368d cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang-15+0x41368d) #13 0x000000000040df5f (/usr/bin/clang-15+0x40df5f) #14 0x00007f13347f7b95 (/lib64/libclang-cpp.so.15+0x1ff7b95) #15 0x00007f132da32d43 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib64/libLLVM-15.so+0xa32d43) #16 0x00007f13347f83c1 (/lib64/libclang-cpp.so.15+0x1ff83c1) #17 0x00007f13347c7c5f clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/lib64/libclang-cpp.so.15+0x1fc7c5f) #18 0x00007f13347c83e9 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/lib64/libclang-cpp.so.15+0x1fc83e9) #19 0x00007f13347d4d2c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/lib64/libclang-cpp.so.15+0x1fd4d2c) #20 0x0000000000411bee clang_main(int, char**) (/usr/bin/clang-15+0x411bee) #21 0x00007f1335cbd6b7 __libc_start_call_main libc-start.c:0:0 #22 0x00007f1335cbd775 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x23775) #23 0x000000000040d181 _start (/usr/bin/clang-15+0x40d181) clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation) clang version 15.0.6 (Mageia 15.0.6-5.mga9) Target: x86_64-mageia-linux-gnu Thread model: posix InstalledDir: /usr/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/chrome_devtools_session-0f89bb.cpp clang++: note: diagnostic msg: ../../tools/clang/crashreports/chrome_devtools_session-0f89bb.sh clang++: note: diagnostic msg: ******************** ``` Chromium 120 was building without any issue. crashreports files are attached. [crashreports.zip](https://github.com/llvm/llvm-project/files/14192158/crashreports.zip) Any idea? Thanks
Endilll commented 9 months ago

Leaving one of the crashes here for reference and search. All of them were the same:

In file included from ../../chrome/browser/autofill/personal_data_manager_factory.cc:16:
In file included from ../../components/autofill/core/browser/personal_data_manager.h:24:
In file included from ../../components/autofill/core/browser/data_model/autofill_profile.h:22:
../../components/autofill/core/browser/data_model/autofill_i18n_api.h:18:30: warning: declaration requires an exit-time destructor [-Wexit-time-destructors]
constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"};
                             ^
../../components/autofill/core/browser/data_model/autofill_i18n_api.h:19:30: warning: declaration requires an exit-time destructor [-Wexit-time-destructors]
constexpr AddressCountryCode kLegacyHierarchyCountryCode =
                             ^
In file included from ../../chrome/browser/autofill/personal_data_manager_factory.cc:16:
In file included from ../../components/autofill/core/browser/personal_data_manager.h:31:
In file included from ../../components/autofill/core/browser/metrics/autofill_metrics.h:28:
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator autofill::OptionalBoolean<autofill::OptionalBoolean>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:88:36: note: used here
  OptionalBoolean has_suggestion = internal::IsRequired();
                                   ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator autofill::FillDataType<autofill::FillDataType>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:99:28: note: used here
  FillDataType data_type = internal::IsRequired();
                           ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator basic_string<std::string>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:102:41: note: used here
  std::string associated_country_code = internal::IsRequired();
                                        ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator Time<base::Time>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:104:26: note: used here
  base::Time timestamp = internal::IsRequired();
                         ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator IdType<base::IdType<autofill::FillEventIdClass, unsigned int, 0, 1>>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:113:31: note: used here
  FillEventId fill_event_id = internal::IsRequired();
                              ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator autofill::FieldFillingSkipReason<autofill::FieldFillingSkipReason>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:115:52: note: used here
  FieldFillingSkipReason autofill_skipped_status = internal::IsRequired();
                                                   ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator autofill::ServerFieldType<autofill::ServerFieldType>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:145:32: note: used here
  ServerFieldType field_type = internal::IsRequired();
                               ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator autofill::PatternSource<autofill::PatternSource>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:146:34: note: used here
  PatternSource pattern_source = internal::IsRequired();
                                 ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator bool<bool>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:147:35: note: used here
  bool is_active_pattern_source = internal::IsRequired();
                                  ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator unsigned long<unsigned long>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:148:42: note: used here
  size_t rank_in_field_signature_group = internal::IsRequired();
                                         ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator autofill::mojom::HtmlFieldType<autofill::mojom::HtmlFieldType>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:156:29: note: used here
  HtmlFieldType html_type = internal::IsRequired();
                            ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator autofill::mojom::HtmlFieldMode<autofill::mojom::HtmlFieldMode>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:157:29: note: used here
  HtmlFieldMode html_mode = internal::IsRequired();
                            ^
../../components/autofill/core/browser/metrics/log_event.h:81:13: warning: inline function 'autofill::internal::IsRequired::operator autofill::AutofillQueryResponse_FormSuggestion_FieldSuggestion_FieldPrediction_Source<autofill::AutofillQueryResponse_FormSuggestion_FieldSuggestion_FieldPrediction_Source>' is not defined [-Wundefined-inline]
  consteval operator T();
            ^
../../components/autofill/core/browser/metrics/log_event.h:167:48: note: used here
  FieldPrediction::Source prediction_source1 = internal::IsRequired();
                                               ^

clang++: /root/llvm-project/clang/lib/Sema/SemaExpr.cpp:17624:
void RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, llvm::SmallVectorTemplateCommon<llvm::PointerIntPair<clang::ConstantExpr*, 1>, void>::reverse_iterator):
Assertion `Res.isUsable()' failed.

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: /opt/compiler-explorer/clang-assertions-15.0.0/bin/clang++ -cc1 -triple x86_64-mageia-linux-gnu -emit-llvm-bc -flto=thin -flto-unit -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name personal_data_manager_factory.cc -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -fmerge-all-constants -fno-delete-null-pointer-checks -mframe-pointer=all -relaxed-aliasing -fmath-errno -ffp-contract=off -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -gsimple-template-names=simple -debug-forward-template-params -mllvm -crash-diagnostics-dir=../../tools/clang/crashreports -fcoverage-compilation-dir=/builddir/build/BUILD/chromium-121.0.6167.139/out/Release -nostdinc++ -D USE_UDEV -D USE_AURA=1 -D USE_GLIB=1 -D USE_OZONE=1 -D OFFICIAL_BUILD -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D _FILE_OFFSET_BITS=64 -D _LARGEFILE_SOURCE -D _LARGEFILE64_SOURCE -D NO_UNWIND_TABLES -D _GNU_SOURCE -D _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D CR_LIBCXX_REVISION=caccdb0407e84357ca6490165e88dcad64e47d17 -D NDEBUG -D NVALGRIND -D DYNAMIC_ANNOTATIONS_ENABLED=0 -D GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -D GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -D BASE_USE_PERFETTO_CLIENT_LIBRARY=1 -D SK_ENABLE_SKSL -D SK_UNTIL_CRBUG_1187654_IS_FIXED -D SK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -D SK_WIN_FONTMGR_NO_SIMULATIONS -D SK_DISABLE_LEGACY_SKSURFACE_METHODS -D SK_DISABLE_LEGACY_GRAPHITE_IMAGE_FACTORIES -D SK_DISABLE_LEGACY_GRAPHITE_IMAGE_METHODS -D SK_DISABLE_LEGACY_SKSURFACE_FACTORIES -D SK_DISABLE_LEGACY_SKSURFACE_FLUSH -D SK_DISABLE_LEGACY_SKSURFACE_AS_IMAGE -D SK_DISABLE_LEGACY_SKSURFACE_DISPLAYLIST -D SK_DISABLE_LEGACY_IMAGE_SUBSET_METHODS -D SK_DISABLE_LEGACY_IMAGE_COLORSPACE_METHODS -D SK_DISABLE_LEGACY_IMAGE_RELEASE_PROCS -D SK_DISABLE_LEGACY_GL_BACKEND_SURFACE -D SK_DISABLE_LEGACY_INIT_DECODERS -D SK_DISABLE_LEGACY_GRDIRECTCONTEXT_FLUSH -D SK_DISABLE_LEGACY_GRDIRECTCONTEXT_BOOLS -D SK_DISABLE_LEGACY_GL_GRDIRECTCONTEXT_FACTORIES -D SK_DISABLE_LEGACY_PNG_WRITEBUFFER -D SK_SLUG_DISABLE_LEGACY_DESERIALIZE -D SK_DISABLE_LEGACY_VK_GRDIRECTCONTEXT_FACTORIES -D SK_DEFAULT_TYPEFACE_IS_EMPTY -D SK_CODEC_DECODES_JPEG -D SK_ENCODE_JPEG -D SK_ENCODE_PNG -D SK_ENCODE_WEBP -D SK_GANESH -D SK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -D SK_GL -D SK_VULKAN=1 -D SK_GRAPHITE -D VK_USE_PLATFORM_XCB_KHR -D VK_USE_PLATFORM_WAYLAND_KHR -D LIBYUV_DISABLE_NEON -D USE_EGL -D TOOLKIT_VIEWS=1 -D ON_FOCUS_PING_ENABLED -D GOOGLE_PROTOBUF_NO_RTTI -D GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -D GOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -D HAVE_PTHREAD -D U_USING_ICU_NAMESPACE=0 -D U_ENABLE_DYLOAD=0 -D USE_CHROMIUM_ICU=1 -D U_ENABLE_TRACING=1 -D U_ENABLE_RESOURCE_TRACING=0 -D U_STATIC_IMPLEMENTATION -D ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -D LEVELDB_PLATFORM_CHROMIUM=1 -D I18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\" -D EIGEN_MPL2_ONLY -D EIGEN_MAX_ALIGN_BYTES=64 -D EIGEN_HAS_TYPE_TRAITS=0 -D FLATBUFFERS_LOCALE_INDEPENDENT=0 -D WEBRTC_ENABLE_AVX2 -D WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -D WEBRTC_CHROMIUM_BUILD -D WEBRTC_POSIX -D WEBRTC_LINUX -D ABSL_ALLOCATOR_NOTHROW=1 -D WEBRTC_USE_X11 -D WEBRTC_USE_PIPEWIRE -D WEBRTC_USE_GIO -D LOGGING_INSIDE_WEBRTC -D CRASHPAD_ZLIB_SOURCE_EXTERNAL -D V8_USE_EXTERNAL_STARTUP_DATA -D V8_COMPRESS_POINTERS -D V8_COMPRESS_POINTERS_IN_SHARED_CAGE -D V8_31BIT_SMIS_ON_64BIT_ARCH -D V8_ENABLE_SANDBOX -D V8_DEPRECATION_WARNINGS -D V8_USE_PERFETTO -D CPPGC_CAGED_HEAP -D CPPGC_YOUNG_GENERATION -D CPPGC_POINTER_COMPRESSION -D CPPGC_SLIM_WRITE_BARRIER -D ATK_LIB_DIR=\"/usr/lib64\" -D USE_ATK_BRIDGE -D I18N_PHONENUMBERS_USE_ICU_REGEXP=1 -D I18N_PHONENUMBERS_USE_ALTERNATE_FORMATS=1 -D I18N_PHONENUMBERS_NO_THREAD_SAFETY=1 -D PROTOBUF_ALLOW_DEPRECATED=1 -D_FORTIFY_SOURCE=2 -O2 -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -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 -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wno-redundant-parens -Wno-redundant-parens -Wno-constant-conversion -Wno-shorten-64-to-32 -Wno-trigraphs -Wformat -Werror=format-security -Wno-attributes -Wno-ignored-attributes -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations -Wno-return-type -Wno-parentheses -Wno-misleading-indentation -Wno-ignored-attributes -Wno-address -Wno-dangling-else -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-error=deprecated-declarations -Wno-error=deprecated-copy -Wno-error=psabi -Wno-error=implicit-const-int-float-conversion -Wno-error=non-c-typedef-for-linkage -Wno-error=unused-const-variable -Wno-invalid-offsetof -std=c++20 -fdeprecated-macro -fdebug-compilation-dir=/builddir/build/BUILD/chromium-121.0.6167.139/out/Release -ferror-limit 19 -fvisibility-inlines-hidden -fsanitize=cfi-icall,cfi-vcall -fsanitize-trap=cfi-icall,cfi-vcall -fsanitize-cfi-canonical-jump-tables -pthread -stack-protector 1 -stack-protector-buffer-size 4 -ftrivial-auto-var-init=pattern -fno-rtti -fgnuc-version=4.2.1 -fno-implicit-modules -Qn -fcolor-diagnostics -vectorize-loops -vectorize-slp -mllvm -instcombine-lower-dbg-declare=0 -fwhole-program-vtables -fsplit-lto-unit -fcomplete-member-pointers -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x c++ personal_data_manager_factory-20e6bc.cpp
1.      <eof> parser at end of file
 #0 0x0000000003477e00 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x00000000034756bc SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f9b5714e510 (/lib/x86_64-linux-gnu/libc.so.6+0x3c510)
 #3 0x00007f9b5719c16c (/lib/x86_64-linux-gnu/libc.so.6+0x8a16c)
 #4 0x00007f9b5714e472 raise (/lib/x86_64-linux-gnu/libc.so.6+0x3c472)
 #5 0x00007f9b571384b2 abort (/lib/x86_64-linux-gnu/libc.so.6+0x264b2)
 #6 0x00007f9b571383d5 (/lib/x86_64-linux-gnu/libc.so.6+0x263d5)
 #7 0x00007f9b571473a2 (/lib/x86_64-linux-gnu/libc.so.6+0x353a2)
 #8 0x0000000005d86042 clang::Sema::PopExpressionEvaluationContext() (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0x5d86042)
 #9 0x00000000058d0c06 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0x58d0c06)
#10 0x00000000046c3398 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0x46c3398)
#11 0x0000000003f95ff9 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0x3f95ff9)
#12 0x0000000003f21e86 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0x3f21e86)
#13 0x0000000004070263 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0x4070263)
#14 0x0000000000ac869e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0xac869e)
#15 0x0000000000ac1908 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#16 0x0000000000ac4c2e clang_main(int, char**) (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0xac4c2e)
#17 0x00007f9b571396ca (/lib/x86_64-linux-gnu/libc.so.6+0x276ca)
#18 0x00007f9b57139785 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27785)
#19 0x0000000000ac1525 _start (/opt/compiler-explorer/clang-assertions-15.0.0/bin/clang+++0xac1525)
squid-f commented 9 months ago

Thanks for your prompt feedbacks. I was suspected clang 15 would not help here. I gave it a try, still, because no newer version is available on Mageia 9. I might need to backport something myself, as you confirmed what I was afraid of: dead end with clang 15.

I reproduced all 5 crashes on Clang 15, but all of them seem to be fixed in 16. They don't reproduce on 17 and post-18 trunk either. Feel free to reopen if you can reproduce it on the latest release or trunk.

Thanks @Endilll for that, it helps to confirm the track and I have a chance to go through if I use clang 17. Actually, I have already packaged rocm-llvm to package the ROCm stack. I tried it then (rocm-llvm 6.0.0 ships llvm 17.0.0) but I get a crash as well; not at the same location, at the early beginning and it means it might more be either the way I have packaged it or rocm-llvm cannot be used as a replacement. Any hints here, in case you know?

Endilll commented 9 months ago

I don't have a clue what rocm ships, but you can try attaching another reproducer. I'll give it a try.

squid-f commented 9 months ago

Thanks @Endilll Here is what I got using LLVM17 through ROCM-LLVM (https://github.com/ROCm/llvm-project/releases/tag/rocm-6.0.0)

[3526/58079] CXX obj/skia/skia_core_and_effects/SkBitmapProcState_opts_hsw.o
FAILED: obj/skia/skia_core_and_effects/SkBitmapProcState_opts_hsw.o 
/usr/lib64/rocm/llvm/bin/clang++ -MMD -MF obj/skia/skia_core_and_effects/SkBitmapProcState_opts_hsw.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -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=caccdb0407e84357ca6490165e88dcad64e47d17 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -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_SKSURFACE_METHODS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_METHODS -DSK_DISABLE_LEGACY_SKSURFACE_FACTORIES -DSK_DISABLE_LEGACY_SKSURFACE_FLUSH -DSK_DISABLE_LEGACY_SKSURFACE_AS_IMAGE -DSK_DISABLE_LEGACY_SKSURFACE_DISPLAYLIST -DSK_DISABLE_LEGACY_IMAGE_SUBSET_METHODS -DSK_DISABLE_LEGACY_IMAGE_COLORSPACE_METHODS -DSK_DISABLE_LEGACY_IMAGE_RELEASE_PROCS -DSK_DISABLE_LEGACY_GL_BACKEND_SURFACE -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_FLUSH -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_BOOLS -DSK_DISABLE_LEGACY_GL_GRDIRECTCONTEXT_FACTORIES -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_SLUG_DISABLE_LEGACY_DESERIALIZE -DSK_DISABLE_LEGACY_VK_GRDIRECTCONTEXT_FACTORIES -DSK_DEFAULT_TYPEFACE_IS_EMPTY -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 -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DIS_SKIA_IMPL=1 -DSKIA_IMPLEMENTATION=1 -DSK_TYPEFACE_FACTORY_FREETYPE -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2 -DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -I../.. -Igen -I../../buildtools/third_party/libc++ -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 -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 -Wno-redundant-parens -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-unused-but-set-variable -Wno-misleading-indentation -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -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 -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-attributes -Wno-ignored-attributes -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations -Wno-return-type -Wno-parentheses -Wno-misleading-indentation -Wno-ignored-attributes -Wno-address -Wno-dangling-else -I/usr/include/wayland -I/usr/include/libxkbcommon -I/usr/include/opus -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-error=deprecated-declarations -Wno-error=deprecated-copy -Wno-error=psabi -Wno-error=implicit-const-int-float-conversion -Wno-error=non-c-typedef-for-linkage -Wno-error=unused-const-variable -Wno-invalid-offsetof -fpermissive -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++ -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++/src/include -c ../../third_party/skia/src/core/SkBitmapProcState_opts_hsw.cpp -o obj/skia/skia_core_and_effects/SkBitmapProcState_opts_hsw.o
fatal error: error in backend: Instruction Combining seems stuck in an infinite loop after 100 iterations.
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/rocm/llvm/bin/clang++ -MMD -MF obj/skia/skia_core_and_effects/SkBitmapProcState_opts_hsw.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -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=caccdb0407e84357ca6490165e88dcad64e47d17 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -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_SKSURFACE_METHODS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_METHODS -DSK_DISABLE_LEGACY_SKSURFACE_FACTORIES -DSK_DISABLE_LEGACY_SKSURFACE_FLUSH -DSK_DISABLE_LEGACY_SKSURFACE_AS_IMAGE -DSK_DISABLE_LEGACY_SKSURFACE_DISPLAYLIST -DSK_DISABLE_LEGACY_IMAGE_SUBSET_METHODS -DSK_DISABLE_LEGACY_IMAGE_COLORSPACE_METHODS -DSK_DISABLE_LEGACY_IMAGE_RELEASE_PROCS -DSK_DISABLE_LEGACY_GL_BACKEND_SURFACE -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_FLUSH -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_BOOLS -DSK_DISABLE_LEGACY_GL_GRDIRECTCONTEXT_FACTORIES -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_SLUG_DISABLE_LEGACY_DESERIALIZE -DSK_DISABLE_LEGACY_VK_GRDIRECTCONTEXT_FACTORIES -DSK_DEFAULT_TYPEFACE_IS_EMPTY -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 -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_WAYLAND_KHR -DIS_SKIA_IMPL=1 -DSKIA_IMPLEMENTATION=1 -DSK_TYPEFACE_FACTORY_FREETYPE -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2 -DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -I../.. -Igen -I../../buildtools/third_party/libc++ -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 -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 -Wno-redundant-parens -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-unused-but-set-variable -Wno-misleading-indentation -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -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 -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-attributes -Wno-ignored-attributes -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations -Wno-return-type -Wno-parentheses -Wno-misleading-indentation -Wno-ignored-attributes -Wno-address -Wno-dangling-else -I/usr/include/wayland -I/usr/include/libxkbcommon -I/usr/include/opus -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-error=deprecated-declarations -Wno-error=deprecated-copy -Wno-error=psabi -Wno-error=implicit-const-int-float-conversion -Wno-error=non-c-typedef-for-linkage -Wno-error=unused-const-variable -Wno-invalid-offsetof -fpermissive -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++ -I/builddir/build/BUILD/chromium-121.0.6167.139/buildtools/third_party/libc++/src/include -c ../../third_party/skia/src/core/SkBitmapProcState_opts_hsw.cpp -o obj/skia/skia_core_and_effects/SkBitmapProcState_opts_hsw.o
1.  <eof> parser at end of file
2.  Optimizer
 #0 0x0000000006fabd5b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib64/rocm/llvm/bin/clang+++0x6fabd5b)
 #1 0x0000000006faa040 llvm::sys::RunSignalHandlers() (/usr/lib64/rocm/llvm/bin/clang+++0x6faa040)
 #2 0x0000000006f21228 (/usr/lib64/rocm/llvm/bin/clang+++0x6f21228)
 #3 0x0000000006f211bf llvm::CrashRecoveryContext::HandleExit(int) (/usr/lib64/rocm/llvm/bin/clang+++0x6f211bf)
 #4 0x0000000006fa6cf7 llvm::sys::Process::Exit(int, bool) (/usr/lib64/rocm/llvm/bin/clang+++0x6fa6cf7)
 #5 0x0000000004d6d0f2 (/usr/lib64/rocm/llvm/bin/clang+++0x4d6d0f2)
 #6 0x0000000006f27d29 llvm::report_fatal_error(llvm::Twine const&, bool) (/usr/lib64/rocm/llvm/bin/clang+++0x6f27d29)
 #7 0x0000000006bc70c8 (/usr/lib64/rocm/llvm/bin/clang+++0x6bc70c8)
 #8 0x0000000006bc583f llvm::InstCombinePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/lib64/rocm/llvm/bin/clang+++0x6bc583f)
 #9 0x00000000076ef5fd (/usr/lib64/rocm/llvm/bin/clang+++0x76ef5fd)
#10 0x0000000006a2ea0b llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/lib64/rocm/llvm/bin/clang+++0x6a2ea0b)
#11 0x00000000050d192d (/usr/lib64/rocm/llvm/bin/clang+++0x50d192d)
#12 0x00000000061a574e llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/lib64/rocm/llvm/bin/clang+++0x61a574e)
#13 0x00000000050d394d (/usr/lib64/rocm/llvm/bin/clang+++0x50d394d)
#14 0x00000000061a0ea8 llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/lib64/rocm/llvm/bin/clang+++0x61a0ea8)
#15 0x000000000824dc2d (/usr/lib64/rocm/llvm/bin/clang+++0x824dc2d)
#16 0x00000000061a3edc llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/lib64/rocm/llvm/bin/clang+++0x61a3edc)
#17 0x0000000008263efd (/usr/lib64/rocm/llvm/bin/clang+++0x8263efd)
#18 0x00000000061a27bb llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib64/rocm/llvm/bin/clang+++0x61a27bb)
#19 0x000000000824debd (/usr/lib64/rocm/llvm/bin/clang+++0x824debd)
#20 0x0000000006a2dd1b llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib64/rocm/llvm/bin/clang+++0x6a2dd1b)
#21 0x000000000833ee39 llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib64/rocm/llvm/bin/clang+++0x833ee39)
#22 0x0000000008253fed (/usr/lib64/rocm/llvm/bin/clang+++0x8253fed)
#23 0x0000000006a2dd1b llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib64/rocm/llvm/bin/clang+++0x6a2dd1b)
#24 0x00000000076e9c05 (/usr/lib64/rocm/llvm/bin/clang+++0x76e9c05)
#25 0x00000000076e150a clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/usr/lib64/rocm/llvm/bin/clang+++0x76e150a)
#26 0x0000000007b5fd19 (/usr/lib64/rocm/llvm/bin/clang+++0x7b5fd19)
#27 0x0000000009099d14 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib64/rocm/llvm/bin/clang+++0x9099d14)
#28 0x0000000007b5ded6 clang::CodeGenAction::ExecuteAction() (/usr/lib64/rocm/llvm/bin/clang+++0x7b5ded6)
#29 0x0000000007a7d681 clang::FrontendAction::Execute() (/usr/lib64/rocm/llvm/bin/clang+++0x7a7d681)
#30 0x00000000079eb37f clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib64/rocm/llvm/bin/clang+++0x79eb37f)
#31 0x0000000007b57921 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib64/rocm/llvm/bin/clang+++0x7b57921)
#32 0x0000000004d6ca2a cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib64/rocm/llvm/bin/clang+++0x4d6ca2a)
#33 0x0000000004d68196 (/usr/lib64/rocm/llvm/bin/clang+++0x4d68196)
#34 0x0000000007868ce9 (/usr/lib64/rocm/llvm/bin/clang+++0x7868ce9)
#35 0x0000000006f2115c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib64/rocm/llvm/bin/clang+++0x6f2115c)
#36 0x0000000007868282 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/rocm/llvm/bin/clang+++0x7868282)
#37 0x0000000007825bdd clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib64/rocm/llvm/bin/clang+++0x7825bdd)
#38 0x00000000078286eb (/usr/lib64/rocm/llvm/bin/clang+++0x78286eb)
#39 0x00000000078264be clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib64/rocm/llvm/bin/clang+++0x78264be)
#40 0x0000000007846c79 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib64/rocm/llvm/bin/clang+++0x7846c79)
#41 0x0000000004d677b1 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib64/rocm/llvm/bin/clang+++0x4d677b1)
#42 0x0000000004d78021 main (/usr/lib64/rocm/llvm/bin/clang+++0x4d78021)
#43 0x00007fb3a36516b7 __libc_start_call_main libc-start.c:0:0
#44 0x00007fb3a3651775 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x23775)
#45 0x0000000004d64621 _start (/usr/lib64/rocm/llvm/bin/clang+++0x4d64621)
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 17.0.0
Target: x86_64-mageia-linux-gnu
Thread model: posix
InstalledDir: /usr/lib64/rocm/llvm/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/SkBitmapProcState_opts_hsw-c1c11f.cpp
clang++: note: diagnostic msg: ../../tools/clang/crashreports/SkBitmapProcState_opts_hsw-c1c11f.sh
clang++: note: diagnostic msg: 

********************

crashreports folder attached: crashreports-ROCM.zip

Endilll commented 9 months ago

Can't reproduce using 17 with assertions and trunk. I see that crash is in the middle-end this time (InstCombine pass). We need you to test this on vanilla Clang to make sure this is not caused by downstream changes in ROCm.

Endilll commented 9 months ago

Or you can reduce it yourself using creduce or cvise, and send us a Compiler Explorer reproducer.

squid-f commented 9 months ago

Can't reproduce using 17 with assertions and trunk. I see that crash is in the middle-end this time (InstCombine pass). We need you to test this on vanilla Clang to make sure this is not caused by downstream changes in ROCm.

So, I packaged llvm 17.0.6 with the same structure I used to package rocm-llvm Vanilla Clang 17 doesn't crash. It means ROCm teams has tweaked rocm-llvm in a way it works to build the ROCm stack but it cannot be used for other packages (at least not granted).

Thanks all for your awesome support. I propose to stop bothering you with this report.