Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

bolt: inline-debug-info.test fails on GitHub actions runner #109231

Open
tstellar opened this issue Sep 19, 2024 · 1 comment
Open

bolt: inline-debug-info.test fails on GitHub actions runner #109231

tstellar opened this issue Sep 19, 2024 · 1 comment
Assignees

Comments

@tstellar
Copy link
Collaborator

I'm seeing the inline-debug-info.test test fail on the GitHub actions runner when building the 19.1.0 release. I tried to reproduce this on my local system using the exact same binary that was used on the runner, but I wasn't able to reproduce it.

The test crashes here is the backtrace:

 #1 0x0000564d0d8342ce SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f4554642520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x0000564d0e045b01 llvm::bolt::BinaryContext::addDebugFilenameToUnit(unsigned int, unsigned int, unsigned int) (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x51cfb01)
 #4 0x0000564d0e055ef4 (anonymous namespace)::BinaryEmitter::emitFunctionBody(llvm::bolt::BinaryFunction&, llvm::bolt::FunctionFragment&, bool) (.llvm.4007422419785425098) BinaryEmitter.cpp:0:0
 #5 0x0000564d0e057052 (anonymous namespace)::BinaryEmitter::emitFunction(llvm::bolt::BinaryFunction&, llvm::bolt::FunctionFragment&) BinaryEmitter.cpp:0:0
 #6 0x0000564d0e0567f6 (anonymous namespace)::BinaryEmitter::emitFunctions()::$_0::operator()(std::vector<llvm::bolt::BinaryFunction*, std::allocator<llvm::bolt::BinaryFunction*>> const&) const BinaryEmitter.cpp:0:0
 #7 0x0000564d0e0548dc llvm::bolt::emitBinaryContext(llvm::MCStreamer&, llvm::bolt::BinaryContext&, llvm::StringRef) (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x51de8dc)
 #8 0x0000564d0d8aeff1 llvm::bolt::RewriteInstance::run() (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x4a38ff1)
 #9 0x0000564d0be7bc5d main (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x3005c5d)
#10 0x00007f4554629d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#11 0x00007f4554629e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#12 0x0000564d0be6e1e5 _start (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x2ff81e5)

Full build log is here: https://github.com/llvm/llvm-project/actions/runs/10904034079/job/30296200517

Object disassembly from around the crash.

 51cfac4:       eb 28                   jmp    51cfaee <_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x14e>
 51cfac6:       4c 8b 64 24 70          mov    0x70(%rsp),%r12
 51cfacb:       f6 44 24 78 01          testb  $0x1,0x78(%rsp)
 51cfad0:       75 0c                   jne    51cfade <_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x13e>
 51cfad2:       eb 1a                   jmp    51cfaee <_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x14e>
 51cfad4:       45 31 e4                xor    %r12d,%r12d
 51cfad7:       f6 44 24 78 01          testb  $0x1,0x78(%rsp)
 51cfadc:       74 10                   je     51cfaee <_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x14e>
 51cfade:       48 8b 7c 24 70          mov    0x70(%rsp),%rdi
 51cfae3:       48 85 ff                test   %rdi,%rdi
 51cfae6:       74 06                   je     51cfaee <_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x14e>
 51cfae8:       48 8b 07                mov    (%rdi),%rax
 51cfaeb:       ff 50 08                call   *0x8(%rax)
 51cfaee:       41 ff ce                dec    %r14d
 51cfaf1:       49 8b 44 24 60          mov    0x60(%r12),%rax
 51cfaf6:       4c 89 f1                mov    %r14,%rcx
 51cfaf9:       48 c1 e1 07             shl    $0x7,%rcx
 51cfafd:       4e 8d 2c f1             lea    (%rcx,%r14,8),%r13
 51cfb01:       4a 8b 44 28 30          mov    0x30(%rax,%r13,1),%rax
 51cfb06:       48 8d 0d 7b 21 18 fb    lea    -0x4e7de85(%rip),%rcx        # 351c88 <.str.1.llvm.14559657567292622853>
 51cfb0d:       48 89 4c 24 58          mov    %rcx,0x58(%rsp)
 51cfb12:       48 85 c0                test   %rax,%rax
 51cfb15:       0f 84 db 00 00 00       je     51cfbf6 <_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x256>
 51cfb1b:       49 8b 4c 24 48          mov    0x48(%r12),%rcx
 51cfb20:       48 8d 04 40             lea    (%rax,%rax,2),%rax
 51cfb24:       48 c1 e0 04             shl    $0x4,%rax
 51cfb28:       0f 10 44 01 d0          movups -0x30(%rcx,%rax,1),%xmm0
 51cfb2d:       0f 10 4c 01 e0          movups -0x20(%rcx,%rax,1),%xmm1
 51cfb32:       0f 10 54 01 f0          movups -0x10(%rcx,%rax,1),%xmm2
 51cfb37:       0f 29 94 24 90 00 00    movaps %xmm2,0x90(%rsp)
 51cfb3e:       00 
 51cfb3f:       0f 29 8c 24 80 00 00    movaps %xmm1,0x80(%rsp)
 51cfb46:       00 
 51cfb47:       0f 29 44 24 70          movaps %xmm0,0x70(%rsp)
 51cfb4c:       c6 84 24 a0 00 00 00    movb   $0x1,0xa0(%rsp)
 51cfb53:       01 
 51cfb54:       48 8d 7c 24 30          lea    0x30(%rsp),%rdi
 51cfb59:       48 8d 74 24 70          lea    0x70(%rsp),%rsi
 51cfb5e:       e8 ed 35 b0 00          call   5cd3150 <_ZNK4llvm14DWARFFormValue12getAsCStringEv>
@tstellar tstellar added the BOLT label Sep 19, 2024
@llvmbot
Copy link
Collaborator

llvmbot commented Sep 19, 2024

@llvm/issue-subscribers-bolt

Author: Tom Stellard (tstellar)

I'm seeing the inline-debug-info.test test fail on the GitHub actions runner when building the 19.1.0 release. I tried to reproduce this on my local system using the exact same [binary](https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.0/LLVM-19.1.0-Linux-X64.tar.xz) that was used on the runner, but I wasn't able to reproduce it.

The test crashes here is the backtrace:

 #<!-- -->1 0x0000564d0d8342ce SignalHandler(int) Signals.cpp:0:0
 #<!-- -->2 0x00007f4554642520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #<!-- -->3 0x0000564d0e045b01 llvm::bolt::BinaryContext::addDebugFilenameToUnit(unsigned int, unsigned int, unsigned int) (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x51cfb01)
 #<!-- -->4 0x0000564d0e055ef4 (anonymous namespace)::BinaryEmitter::emitFunctionBody(llvm::bolt::BinaryFunction&amp;, llvm::bolt::FunctionFragment&amp;, bool) (.llvm.4007422419785425098) BinaryEmitter.cpp:0:0
 #<!-- -->5 0x0000564d0e057052 (anonymous namespace)::BinaryEmitter::emitFunction(llvm::bolt::BinaryFunction&amp;, llvm::bolt::FunctionFragment&amp;) BinaryEmitter.cpp:0:0
 #<!-- -->6 0x0000564d0e0567f6 (anonymous namespace)::BinaryEmitter::emitFunctions()::$_0::operator()(std::vector&lt;llvm::bolt::BinaryFunction*, std::allocator&lt;llvm::bolt::BinaryFunction*&gt;&gt; const&amp;) const BinaryEmitter.cpp:0:0
 #<!-- -->7 0x0000564d0e0548dc llvm::bolt::emitBinaryContext(llvm::MCStreamer&amp;, llvm::bolt::BinaryContext&amp;, llvm::StringRef) (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x51de8dc)
 #<!-- -->8 0x0000564d0d8aeff1 llvm::bolt::RewriteInstance::run() (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x4a38ff1)
 #<!-- -->9 0x0000564d0be7bc5d main (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x3005c5d)
#<!-- -->10 0x00007f4554629d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#<!-- -->11 0x00007f4554629e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#<!-- -->12 0x0000564d0be6e1e5 _start (/mnt/build/tools/clang/stage2-bins/bin/llvm-bolt+0x2ff81e5)

Full build log is here: https://github.com/llvm/llvm-project/actions/runs/10904034079/job/30296200517

Object disassembly from around the crash.

 51cfac4:       eb 28                   jmp    51cfaee &lt;_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x14e&gt;
 51cfac6:       4c 8b 64 24 70          mov    0x70(%rsp),%r12
 51cfacb:       f6 44 24 78 01          testb  $0x1,0x78(%rsp)
 51cfad0:       75 0c                   jne    51cfade &lt;_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x13e&gt;
 51cfad2:       eb 1a                   jmp    51cfaee &lt;_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x14e&gt;
 51cfad4:       45 31 e4                xor    %r12d,%r12d
 51cfad7:       f6 44 24 78 01          testb  $0x1,0x78(%rsp)
 51cfadc:       74 10                   je     51cfaee &lt;_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x14e&gt;
 51cfade:       48 8b 7c 24 70          mov    0x70(%rsp),%rdi
 51cfae3:       48 85 ff                test   %rdi,%rdi
 51cfae6:       74 06                   je     51cfaee &lt;_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x14e&gt;
 51cfae8:       48 8b 07                mov    (%rdi),%rax
 51cfaeb:       ff 50 08                call   *0x8(%rax)
 51cfaee:       41 ff ce                dec    %r14d
 51cfaf1:       49 8b 44 24 60          mov    0x60(%r12),%rax
 51cfaf6:       4c 89 f1                mov    %r14,%rcx
 51cfaf9:       48 c1 e1 07             shl    $0x7,%rcx
 51cfafd:       4e 8d 2c f1             lea    (%rcx,%r14,8),%r13
 51cfb01:       4a 8b 44 28 30          mov    0x30(%rax,%r13,1),%rax
 51cfb06:       48 8d 0d 7b 21 18 fb    lea    -0x4e7de85(%rip),%rcx        # 351c88 &lt;.str.1.llvm.14559657567292622853&gt;
 51cfb0d:       48 89 4c 24 58          mov    %rcx,0x58(%rsp)
 51cfb12:       48 85 c0                test   %rax,%rax
 51cfb15:       0f 84 db 00 00 00       je     51cfbf6 &lt;_ZN4llvm4bolt13BinaryContext22addDebugFilenameToUnitEjjj+0x256&gt;
 51cfb1b:       49 8b 4c 24 48          mov    0x48(%r12),%rcx
 51cfb20:       48 8d 04 40             lea    (%rax,%rax,2),%rax
 51cfb24:       48 c1 e0 04             shl    $0x4,%rax
 51cfb28:       0f 10 44 01 d0          movups -0x30(%rcx,%rax,1),%xmm0
 51cfb2d:       0f 10 4c 01 e0          movups -0x20(%rcx,%rax,1),%xmm1
 51cfb32:       0f 10 54 01 f0          movups -0x10(%rcx,%rax,1),%xmm2
 51cfb37:       0f 29 94 24 90 00 00    movaps %xmm2,0x90(%rsp)
 51cfb3e:       00 
 51cfb3f:       0f 29 8c 24 80 00 00    movaps %xmm1,0x80(%rsp)
 51cfb46:       00 
 51cfb47:       0f 29 44 24 70          movaps %xmm0,0x70(%rsp)
 51cfb4c:       c6 84 24 a0 00 00 00    movb   $0x1,0xa0(%rsp)
 51cfb53:       01 
 51cfb54:       48 8d 7c 24 30          lea    0x30(%rsp),%rdi
 51cfb59:       48 8d 74 24 70          lea    0x70(%rsp),%rsi
 51cfb5e:       e8 ed 35 b0 00          call   5cd3150 &lt;_ZNK4llvm14DWARFFormValue12getAsCStringEv&gt;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants