Issue 176004
Summary assertion APInt "Value is not an N-bit unsigned value" while building musl
Labels new issue
Assignees
Reporter androm3da
    While building the toolchain's C library, we encounter the assertion `llvm::isUIntN(BitWidth, val) && "Value is not an N-bit unsigned value"'`.

This issue prevents us from bootstrapping the toolchain.

The entire log (including the stage 0 compiler build) is at [build_22.1.0-rc0.log.xz.txt](https://github.com/user-attachments/files/24621852/build_22.1.0-rc0.log.xz.txt), an excerpt is below.

The compiler dumped these outputs:

* [strfmon-aff67a.sh.txt](https://github.com/user-attachments/files/24621889/strfmon-aff67a.sh.txt)
* [strfmon-aff67a.c.txt](https://github.com/user-attachments/files/24621891/strfmon-aff67a.c.txt)

```
hexagon-unknown-linux-musl-clang: /home/brian/src/toolchain_for_hexagon/llvm-project/llvm/include/llvm/ADT/APInt.h:128: llvm::APInt::APInt(unsigned int, uint64_t, bool, bool): Assertion `llvm::isUIntN(BitWidth, val) && "Value is not an N-bit unsigned value"' 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: /home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang -std=c99 -nostdinc -ffreestanding -fexcess-precision=standard -frounding-math -fno-strict-aliasing -Wa,--noexecstack -D_XOPEN_SOURCE=700 -I./arch/hexagon -I./arch/generic -Iobj/src/internal -I./src/include -I./src/internal -Iobj/include -I./include -pipe -fomit-frame-pointer -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -w -Wno-pointer-to-int-cast -Werror=implicit-function-declaration -Werror=implicit-int -Werror=pointer-sign -Werror=pointer-arith -Werror=int-conversion -Werror=incompatible-pointer-types -Qunused-arguments -Waddress -Warray-bounds -Wchar-subscripts -Wduplicate-decl-specifier -Winit-self -Wreturn-type -Wsequence-point -Wstrict-aliasing -Wunused-function -Wunused-label -Wunused-variable -G0 -O0 -mv68 -fno-builtin -mlong-calls --target=hexagon-unknown-linux-musl -Wno-switch-bool -Wno-unsupported-floating-point-opt -fPIC -c -o obj/src/locale/strfmon.lo sr/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang -std=c99 -nostdinc -ffreestanding -fexcess-precision=standard -frounding-math -fno-strict-aliasing -Wa,--noexecstack -D_XOPEN_SOURCE=700 -I./arch/hexagon -I./arch/generic -Iobj/src/internal -I./src/include -I./src/internal -Iobj/include -I./include  -pipe -fomit-frame-pointer -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -w -Wno-pointer-to-int-cast -Werror=implicit-function-declaration -Werror=implicit-int -Werror=pointer-sign -Werror=pointer-arith -Werror=int-conversion -Werror=incompatible-pointer-types -Qunused-arguments -Waddress -Warray-bounds -Wchar-subscripts -Wduplicate-decl-specifier -Winit-self -Wreturn-type -Wsequence-point -Wstrict-aliasing -Wunused-function -Wunused-label -Wunused-variable -G0 -O0 -mv68 -fno-builtin -mlong-calls --target=hexagon-unknown-linux-musl -Wno-switch-bool -Wno-unsupported-floating-point-opt -fPIC -c -o obj/src/math/__fpclassify.lo src/math/__fpclassify.c
c/locale/strfmon.c
1.	<eof> parser at end of file
2.	Per-file LLVM IR generation
3.	src/locale/strfmon.c:8:16: Generating code for declaration 'vstrfmon_l'
4.	src/locale/strfmon.c:15:22: LLVM IR generation of compound statement ('{}')
...
 #0 0x000058a6250bd2e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x3ec32e8)
 #1 0x000058a6250baa75 llvm::sys::RunSignalHandlers() (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x3ec0a75)
 #2 0x000058a62502aa36 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x000070b9b1442520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x000070b9b14969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #5 0x000070b9b14969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #6 0x000070b9b14969fc pthread_kill ./nptl/pthread_kill.c:89:10
 #7 0x000070b9b1442476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #8 0x000070b9b14287f3 abort ./stdlib/abort.c:81:7
 #9 0x000070b9b142871b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x000070b9b1439e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x000058a623f9f24e llvm::APInt::APInt(unsigned int, unsigned long, bool, bool) HexagonConstPropagation.cpp:0:0
#12 0x000058a624a59a25 llvm::ConstantInt::get(llvm::IntegerType*, unsigned long, bool, bool) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x385fa25)
#13 0x000058a625aeb2a9 (anonymous namespace)::HexagonABIInfo::EmitVAArg(clang::CodeGen::CodeGenFunction&, clang::CodeGen::Address, clang::QualType, clang::CodeGen::AggValueSlot) const Hexagon.cpp:0:0
#14 0x000058a62537ed55 clang::CodeGen::CodeGenFunction::EmitVAArg(clang::VAArgExpr*, clang::CodeGen::Address&, clang::CodeGen::AggValueSlot) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4184d55)
#15 0x000058a6254f119a (anonymous namespace)::ScalarExprEmitter::VisitVAArgExpr(clang::VAArgExpr*) CGExprScalar.cpp:0:0
#16 0x000058a6254ee716 (anonymous namespace)::ScalarExprEmitter::VisitBinAssign(clang::BinaryOperator const*) CGExprScalar.cpp:0:0
#17 0x000058a6254e30ad clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x42e90ad)
#18 0x000058a6254abcbd clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x42b1cbd)
#19 0x000058a625442ebf clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4248ebf)
#20 0x000058a625443871 clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4249871)
#21 0x000058a625442dcc clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4248dcc)
#22 0x000058a625446184 clang::CodeGen::CodeGenFunction::EmitForStmt(clang::ForStmt const&, llvm::ArrayRef<clang::Attr const*>) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x424c184)
#23 0x000058a62544310e clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x424910e)
#24 0x000058a62544fa01 clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4255a01)
#25 0x000058a62542ef52 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4234f52)
#26 0x000058a6252fccb2 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4102cb2)
#27 0x000058a6252f471f clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x40fa71f)
#28 0x000058a6252e4ab6 clang::CodeGen::CodeGenModule::EmitDeferred() (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x40eaab6)
#29 0x000058a6252e157a clang::CodeGen::CodeGenModule::Release() (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x40e757a)
#30 0x000058a6258408cb (anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&) ModuleBuilder.cpp:0:0
#31 0x000058a6258381ee clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x463e1ee)
#32 0x000058a6272cad19 clang::ParseAST(clang::Sema&, bool, bool) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x60d0d19)
#33 0x000058a625d65846 clang::FrontendAction::Execute() (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4b6b846)
#34 0x000058a625cda15d clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4ae015d)
#35 0x000058a625e50d36 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4c56d36)
#36 0x000058a623ec5a5c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x2ccba5c)
#37 0x000058a623ec26b5 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) driver.cpp:0:0
#38 0x000058a623ec481d int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#39 0x000058a625b565a9 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_0>(long) Job.cpp:0:0
#40 0x000058a62502a6de llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x3e306de)
#41 0x000058a625b55c13 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x495bc13)
#42 0x000058a625b17972 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x491d972)
#43 0x000058a625b17b9e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&, bool) const (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x491db9e)
#44 0x000058a625b32fdf clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x4938fdf)
#45 0x000058a623ec1d2b clang_main(int, char**, llvm::ToolContext const&) (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x2cc7d2b)
#46 0x000058a623ed0877 main (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x2cd6877)
#47 0x000070b9b1429d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#48 0x000070b9b1429e40 call_init ./csu/../csu/libc-start.c:128:20
#49 0x000070b9b1429e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#50 0x000058a623ec0225 _start (/home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang+0x2cc6225)
hexagon-unknown-linux-musl-clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 22.1.0git (https://github.com/llvm/llvm-project 56b2722871c858682c7f601b20ab65d1e52e7b70)
Target: hexagon-unknown-linux-musl
Thread model: posix
InstalledDir: /home/brian/src/toolchain_for_hexagon/clang+llvm-22.1.0-rc0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin
Build config: +assertions
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to