Closed squid-f closed 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
CC @tbaederr in case this jogs your memory
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?
@llvm/issue-subscribers-clang-frontend
Author: squid-f (squid-f)
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)
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.
@llvm/issue-subscribers-c-1
Author: squid-f (squid-f)
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)
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?
I don't have a clue what rocm ships, but you can try attaching another reproducer. I'll give it a try.
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
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.
Or you can reduce it yourself using creduce
or cvise
, and send us a Compiler Explorer reproducer.
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.
At about 60% of the build, a crash happens and it is replicable:
Chromium 120 was building without any issue.
crashreports files are attached. crashreports.zip
Any idea?
Thanks