Skip to content

addFragmentOffset(const llvm::DIExpression *): Assertion `FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"' failed. #68263

New issue

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

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

Already on GitHub? Sign in to your account

Open
freef4ll opened this issue Sep 1, 2023 · 1 comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. triage needed This issue needs more specific labels

Comments

@freef4ll
Copy link

freef4ll commented Sep 1, 2023

Description
Our code base does not build in release mode with 5.9 on Linux, but succeeds with 5.8.

swift build -c release

swift-frontend: /home/build-user/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp:679: void llvm::DwarfExpression::addFragmentOffset(const llvm::DIExpression *): Assertion `FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"' failed.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.	Running pass 'Function Pass Manager' on module '/home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/AugmentationBackend.swift.o'.
1.	Running pass 'AArch64 Assembly Printer' on function '@"$s14PluginExecutorAAC19pluginCreateRequest_4fromy9DataModel0adE0V_17DistributedSystem18EndpointIdentifierVtYaKFTY0_"'
Rename failed: /home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/AugmentationBackend.swift-d7d897a8.o.tmp -> /home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/AugmentationBackend.swift.o: No such file or directory
<unknown>:0: error: error closing '/home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/AugmentationBackend.swift.o' for output: /home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/AugmentationBackend.swift-d7d897a8.o.tmp => /home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/AugmentationBackend.swift.o: No such file or directory
Rename failed: /home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/PluginExecutor.swift-5dca8b45.o.tmp -> /home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/PluginExecutor.swift.o: No such file or directory
<unknown>:0: error: error closing '/home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/PluginExecutor.swift.o' for output: /home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/PluginExecutor.swift-5dca8b45.o.tmp => /home/ubuntu/swift/package-plugin-executor/.build/aarch64-unknown-linux-gnu/release/PluginExecutor.build/PluginExecutor.swift.o: No such file or directory
 #0 0x0000aaaae883b81c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x6c1b81c)
 #1 0x0000aaaae883980c llvm::sys::RunSignalHandlers() (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x6c1980c)
 #2 0x0000aaaae883bc38 SignalHandler(int) Signals.cpp:0:0
 #3 0x0000ffff8a8cf7dc (linux-vdso.so.1+0x7dc)
 #4 0x0000ffff89d9f200 (/lib/aarch64-linux-gnu/libc.so.6+0x7f200)
 #5 0x0000ffff89d5a67c gsignal (/lib/aarch64-linux-gnu/libc.so.6+0x3a67c)
 #6 0x0000ffff89d47130 abort (/lib/aarch64-linux-gnu/libc.so.6+0x27130)
 #7 0x0000ffff89d53fd0 (/lib/aarch64-linux-gnu/libc.so.6+0x33fd0)
 #8 0x0000ffff89d54040 __assert_perror_fail (/lib/aarch64-linux-gnu/libc.so.6+0x34040)
 #9 0x0000aaaae50817d0 llvm::DwarfExpression::addWasmLocation(unsigned int, unsigned long) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34617d0)
#10 0x0000aaaae50d3e6c llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&, bool) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34b3e6c)
#11 0x0000aaaae50d2be0 llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34b2be0)
#12 0x0000aaaae50d2e20 llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34b2e20)
#13 0x0000aaaae50d2e20 llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34b2e20)
#14 0x0000aaaae50d2ee8 llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34b2ee8)
#15 0x0000aaaae50d2ee8 llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34b2ee8)
#16 0x0000aaaae50d4c4c llvm::DwarfCompileUnit::constructSubprogramScopeDIE(llvm::DISubprogram const*, llvm::LexicalScope*) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34b4c4c)
#17 0x0000aaaae506761c llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x344761c)
#18 0x0000aaaae50caa74 llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x34aaa74)
#19 0x0000aaaae503b858 llvm::AsmPrinter::emitFunctionBody() (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x341b858)
#20 0x0000aaaae4a71e10 (anonymous namespace)::AArch64AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) AArch64AsmPrinter.cpp:0:0
#21 0x0000aaaae5a5d7b8 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x3e3d7b8)
#22 0x0000aaaae84b6c4c llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x6896c4c)
#23 0x0000aaaae84be498 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x689e498)
#24 0x0000aaaae84b7584 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x6897584)
#25 0x0000aaaae2e0a04c swift::compileAndWriteLLVM(llvm::Module*, llvm::TargetMachine*, swift::IRGenOptions const&, swift::UnifiedStatsReporter*, swift::DiagnosticEngine&, llvm::raw_pwrite_stream&, llvm::sys::SmartMutex<false>*) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x11ea04c)
#26 0x0000aaaae2e0965c swift::performLLVM(swift::IRGenOptions const&, swift::DiagnosticEngine&, llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*, llvm::TargetMachine*, llvm::StringRef, llvm::vfs::OutputBackend&, swift::UnifiedStatsReporter*) (/home/ubuntu/swift/swift-DEVELOPMENT-SNAPSHOT-2023-08-29-a-ubuntu22.04-aarch64/usr/bin/swift-frontend+0x11e965c)
#27 0x0000aaaae2e10198 (anonymous namespace)::LLVMCodeGenThreads::Thread::run() IRGen.cpp:0:0
#28 0x0000aaaae2e0ffac (anonymous namespace)::LLVMCodeGenThreads::runThread(void*) IRGen.cpp:0:0
#29 0x0000ffff89fd31fc (/lib/aarch64-linux-gnu/libstdc++.so.6+0xd31fc)
#30 0x0000ffff89d9d5c8 (/lib/aarch64-linux-gnu/libc.so.6+0x7d5c8)
#31 0x0000ffff89e05d1c (/lib/aarch64-linux-gnu/libc.so.6+0xe5d1c)
(lldb) bt
* thread #1, name = 'swift-frontend', stop reason = signal SIGABRT
  * frame #0: 0x0000ffff89d9f200 libc.so.6`___lldb_unnamed_symbol3294 + 304
    frame #1: 0x0000ffff89d5a67c libc.so.6`raise + 28
    frame #2: 0x0000ffff89d471d4 libc.so.6`abort + 392
    frame #3: 0x0000ffff89d53fd0 libc.so.6`___lldb_unnamed_symbol3024 + 320
    frame #4: 0x0000ffff89d54040 libc.so.6`__assert_fail + 76
    frame #5: 0x0000aaaae50817d0 swift-frontend`llvm::DwarfExpression::addFragmentOffset(llvm::DIExpression const*) + 276
    frame #6: 0x0000aaaae50d3e6c swift-frontend`llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&, bool) + 852
    frame #7: 0x0000aaaae50d2be0 swift-frontend`llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) + 3272
    frame #8: 0x0000aaaae50d2e20 swift-frontend`llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) + 3848
    frame #9: 0x0000aaaae50d2e20 swift-frontend`llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) + 3848
    frame #10: 0x0000aaaae50d2ee8 swift-frontend`llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) + 4048
    frame #11: 0x0000aaaae50d2ee8 swift-frontend`llvm::DwarfCompileUnit::createAndAddScopeChildren(llvm::LexicalScope*, llvm::DIE&) + 4048
    frame #12: 0x0000aaaae50d4c4c swift-frontend`llvm::DwarfCompileUnit::constructSubprogramScopeDIE(llvm::DISubprogram const*, llvm::LexicalScope*) + 164
    frame #13: 0x0000aaaae506761c swift-frontend`llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) + 1540
    frame #14: 0x0000aaaae50caa74 swift-frontend`llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) + 68
    frame #15: 0x0000aaaae503b858 swift-frontend`llvm::AsmPrinter::emitFunctionBody() + 11064
    frame #16: 0x0000aaaae4a71e10 swift-frontend`(anonymous namespace)::AArch64AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) + 224
    frame #17: 0x0000aaaae5a5d7b8 swift-frontend`llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 608
    frame #18: 0x0000aaaae84b6c4c swift-frontend`llvm::FPPassManager::runOnFunction(llvm::Function&) + 612
    frame #19: 0x0000aaaae84be498 swift-frontend`llvm::FPPassManager::runOnModule(llvm::Module&) + 60
    frame #20: 0x0000aaaae84b7584 swift-frontend`llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1652
    frame #21: 0x0000aaaae2e0a04c swift-frontend`swift::compileAndWriteLLVM(llvm::Module*, llvm::TargetMachine*, swift::IRGenOptions const&, swift::UnifiedStatsReporter*, swift::DiagnosticEngine&, llvm::raw_pwrite_stream&, llvm::sys::SmartMutex<false>*) + 360
    frame #22: 0x0000aaaae2e0965c swift-frontend`swift::performLLVM(swift::IRGenOptions const&, swift::DiagnosticEngine&, llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*, llvm::TargetMachine*, llvm::StringRef, llvm::vfs::OutputBackend&, swift::UnifiedStatsReporter*) + 2004
    frame #23: 0x0000aaaae2e10198 swift-frontend`(anonymous namespace)::LLVMCodeGenThreads::Thread::run() + 480
    frame #24: 0x0000aaaae2e0ffac swift-frontend`(anonymous namespace)::LLVMCodeGenThreads::runThread(void*) + 12
    frame #25: 0x0000ffff89fd31fc libstdc++.so.6`___lldb_unnamed_symbol7472 + 28
    frame #26: 0x0000ffff89d9d5c8 libc.so.6`___lldb_unnamed_symbol3291 + 724
    frame #27: 0x0000ffff89e05d1c libc.so.6`___lldb_unnamed_symbol3659 + 12

Environment

development:

swift --version
Swift version 5.9-dev (LLVM 4f65c75dc0fa855, Swift 174828b01c4e250)
Target: aarch64-unknown-linux-gnu

5.9:

$ swift --version
Swift version 5.9-dev (LLVM 8e2daa73d613753, Swift 7544686d7b298bf)
Target: aarch64-unknown-linux-gnu
cat /etc/issue
Ubuntu 22.04.3 LTS \n \l

Stack is similar to resolved #64642

@freef4ll freef4ll added bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. triage needed This issue needs more specific labels labels Sep 1, 2023
@mczachurski
Copy link

Hello,

I am encountering a very similar error:

error: compile command failed due to signal 6 (use -v to see invocation)
swift-frontend: /home/build-user/llvm-project/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp:679: void llvm::DwarfExpression::addFragmentOffset(const DIExpression *): Assertion `FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"' failed.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.

(...)

---
4.	Running pass 'Function Pass Manager' on module '/home/john/projects/VernissageServer/.build/x86_64-unknown-linux-gnu/release/VernissageServer.build/Application+Configure.swift.o'.
5.	Running pass 'X86 Assembly Printer' on function '@"$s16VernissageServer19LocalizablesServiceC3get2on4code6locale9variablesSS9FluentKit8Database_p_S2SSDyS2SGSgtYaKFTf4nnnnd_nTY2_"'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
/home/john/swift/usr/bin/swift-frontend(+0x72effe4)[0x61fa5d3f2fe4]
/home/john/swift/usr/bin/swift-frontend(+0x72edd4e)[0x61fa5d3f0d4e]
/home/john/swift/usr/bin/swift-frontend(+0x72f0358)[0x61fa5d3f3358]
/lib/x86_64-linux-gnu/libc.so.6(+0x45320)[0x77a14a445320]
/lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11c)[0x77a14a49eb1c]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x1e)[0x77a14a44526e]
/lib/x86_64-linux-gnu/libc.so.6(abort+0xdf)[0x77a14a4288ff]
/lib/x86_64-linux-gnu/libc.so.6(+0x2881b)[0x77a14a42881b]
/lib/x86_64-linux-gnu/libc.so.6(+0x3b507)[0x77a14a43b507]
/home/john/swift/usr/bin/swift-frontend(+0x382ff03)[0x61fa59932f03]
/home/john/swift/usr/bin/swift-frontend(+0x3884855)[0x61fa59987855]
/home/john/swift/usr/bin/swift-frontend(+0x3883331)[0x61fa59986331]
/home/john/swift/usr/bin/swift-frontend(+0x38836a0)[0x61fa599866a0]
/home/john/swift/usr/bin/swift-frontend(+0x38836a0)[0x61fa599866a0]
/home/john/swift/usr/bin/swift-frontend(+0x388381f)[0x61fa5998681f]
/home/john/swift/usr/bin/swift-frontend(+0x38836a0)[0x61fa599866a0]
/home/john/swift/usr/bin/swift-frontend(+0x38855da)[0x61fa599885da]
/home/john/swift/usr/bin/swift-frontend(+0x38159c3)[0x61fa599189c3]
/home/john/swift/usr/bin/swift-frontend(+0x387b0a7)[0x61fa5997e0a7]
/home/john/swift/usr/bin/swift-frontend(+0x37e7317)[0x61fa598ea317]
/home/john/swift/usr/bin/swift-frontend(+0x2bef7c6)[0x61fa58cf27c6]
/home/john/swift/usr/bin/swift-frontend(+0x42fa98a)[0x61fa5a3fd98a]
/home/john/swift/usr/bin/swift-frontend(+0x6f64817)[0x61fa5d067817]
/home/john/swift/usr/bin/swift-frontend(+0x6f6cd42)[0x61fa5d06fd42]
/home/john/swift/usr/bin/swift-frontend(+0x6f652a7)[0x61fa5d0682a7]
/home/john/swift/usr/bin/swift-frontend(+0x11da63b)[0x61fa572dd63b]
/home/john/swift/usr/bin/swift-frontend(+0x11d9983)[0x61fa572dc983]
/home/john/swift/usr/bin/swift-frontend(+0x11e1a53)[0x61fa572e4a53]
/home/john/swift/usr/bin/swift-frontend(+0x11de76b)[0x61fa572e176b]
/home/john/swift/usr/bin/swift-frontend(+0xe1eec5)[0x61fa56f21ec5]
/home/john/swift/usr/bin/swift-frontend(+0xe1a0a9)[0x61fa56f1d0a9]
/home/john/swift/usr/bin/swift-frontend(+0xe191c6)[0x61fa56f1c1c6]
/home/john/swift/usr/bin/swift-frontend(+0xe2ed7a)[0x61fa56f31d7a]
/home/john/swift/usr/bin/swift-frontend(+0xe1c51b)[0x61fa56f1f51b]
/home/john/swift/usr/bin/swift-frontend(+0xe1af2f)[0x61fa56f1df2f]
/home/john/swift/usr/bin/swift-frontend(+0xcc0872)[0x61fa56dc3872]
/lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca)[0x77a14a42a1ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b)[0x77a14a42a28b]
/home/john/swift/usr/bin/swift-frontend(+0xcbf855)[0x61fa56dc2855]

To reproduce this issue, you need to have Swift 5.10.1 installed on Ubuntu 24.04 (x86_64). Then, execute the following commands:

$ git clone https://github.com/VernissageApp/VernissageServer.git
$ cd VernissageServer
$ git switch feature/ubuntu2404
$ sudo apt install -y libgd-dev libexif-dev libiptcdata0-dev
$ swift build -c release --static-swift-stdlib

These same commands work successfully on macOS (using brew install gd libexif libiptcdata instead of apt install) and on Ubuntu 24.04 ARM64.

Do you happen to know what I can do to successfully build this code on Ubuntu x86_64?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. triage needed This issue needs more specific labels
Projects
None yet
Development

No branches or pull requests

2 participants