<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/84434>84434</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Failed to rename temporary file .thinlto-cache/...: No such file or directory
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Hello71
      </td>
    </tr>
</table>

<pre>
    ```
$ ld.lld -m elf_x86_64 --thinlto-cache-dir=.thinlto-cache -mllvm -import-instr-limit=5 -z noexecstack -r -o vmlinux.o -T .tmp_initcalls.lds --whole-archive vmlinux.a --no-whole-archive --start-group  --end-group
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Running pass 'Function Pass Manager' on module 'vmlinux.a(ip6_input.o at 1037338)'.
1.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@ip6_rcv_core'
LLVM ERROR: Failed to rename temporary file .thinlto-cache/Thin-e48fd7.tmp.o to .thinlto-cache/llvmcache-B56C9B947D8F57F60021C4DFF092C702CE0673E4: No such file or directory
```

When running with `--threads=1`, the output adds:

```
 #0 0x00007f0a06693836 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2293836)
 #1 0x00007f0a06690ed2 llvm::sys::RunSignalHandlers() (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2290ed2)
 #2 0x00007f0a0669412b (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x229412b)
 #3 0x00007f0a03e885f0 (/usr/lib64/libc.so.6+0x3b5f0)
 #4 0x00007f0a06f06e7e (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2b06e7e)
 #5 0x00007f0a06fe517c (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2be517c)
 #6 0x00007f0a06fe411e llvm::ScheduleDAGSDNodes::EmitSchedule(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>&) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2be411e)
 #7 0x00007f0a070ab6a1 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2cab6a1)
 #8 0x00007f0a070aa3ff llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2caa3ff)
 #9 0x00007f0a070a72cf llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2ca72cf)
#10 0x00007f0a08f3454a (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x4b3454a)
#11 0x00007f0a06b20d25 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2720d25)
#12 0x00007f0a06825f08 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2425f08)
#13 0x00007f0a0682e0e3 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x242e0e3)
#14 0x00007f0a06826611 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2426611)
#15 0x00007f0a081a0a99 (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x3da0a99)
#16 0x00007f0a081a20e7 (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x3da20e7)
#17 0x00007f0a081a1d14 llvm::lto::thinBackend(llvm::lto::Config const&, unsigned int, std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream>>> (unsigned int, llvm::Twine const&)>, llvm::Module&, llvm::ModuleSummaryIndex const&, llvm::DenseMap<llvm::StringRef, std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long>>, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long>>>> const&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*>> const&, llvm::MapVector<llvm::StringRef, llvm::BitcodeModule, llvm::DenseMap<llvm::StringRef, unsigned int, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, unsigned int>>, llvm::SmallVector<std::pair<llvm::StringRef, llvm::BitcodeModule>, 0u>>*, std::vector<unsigned char, std::allocator<unsigned char>> const&) (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x3da1d14)
#18 0x00007f0a08198887 (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x3d98887)
#19 0x00007f0a08197efd (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x3d97efd)
#20 0x00007f0a0658f882 (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x218f882)
#21 0x00007f0a06632d26 (/usr/lib/llvm/18/bin/../lib64/libLLVM.so.18.1+0x2232d26)
#22 0x00007f0a03ed0e7f (/usr/lib64/libc.so.6+0x83e7f)
#23 0x00007f0a03f359a8 (/usr/lib64/libc.so.6+0xe89a8)
```

This happens fairly consistently with LLVM 18.1.0 and never happened with LLVM 17.0.6. Sometimes re-running the link command a few times fixes the issue and sometimes it doesn't. Sometimes this error is output:

```
$ ld.lld -m elf_x86_64 --thinlto-cache-dir=.thinlto-cache -mllvm -import-instr-limit=5 -z noexecstack -r -o vmlinux.o -T .tmp_initcalls.lds --whole-archive vmlinux.a --no-whole-archive --start-group  --end-group
ld.lld: error: vmlinux.a(ip6_input.o at 1037338) <inline asm>:1:25: expected absolute expression
        addq %r8, %gs:256(%r10,$1)
 ^
```

which I don't understand but seems worryingly like the successful runs are somehow miscompiling the output.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWU1v4zgS_TXMhZBAUZ8-5ODYcSbAZKYRN2b3FlBiyeKGIj0klY_99QtKtmM66XT3wrOL3YbRVqhSvVfFR7JcYtaKjQK4RPkVypcXbHCdNpe_gJS6TC5qzV8vUUF2H7JEZI5ohiWPpeQ46jHI9uGlKh6KDEeR64SSTkcNazqIuDAoXcbBII56KZ96HIl-q42LhLLORFL0wqF0mePon1hpeIHGOtY84sjgSOOnXgo1vMQaR19x7Prtg1DCNUxKG0tucRQ9d1pCxEzTiSc42DMcRUqf3Iwi65hx0cboYYtxFIHi0x9TeF9-vZ6vr7Ed6l44zHA9bLABTxY7jTvnthalc0RXiK42wnVDHTe6R3Tl49p9RVuj_wGNQ3QlrB3AIrrCTHEsVCMHDth1gBvDbIdr1jw6wxqIJ_j1GDcf-q1HGYdIjMjsflBKqA3eMmsxouVqUI0TWuEvfuCOKbYBg2iJtcK95oMEb3XIBKKV2BYPQm0HF2vMHE5IWqZphegM0XIHnnyE9PeqwMv5TYTS6-X8Bt_6GRsm7DVIGK92wO2eFKIlyohHNM3TQ6MN-JER49df_7jD1_f3v9-jdI5XTEjgPrMGFOsBO_DCYOYVt0ICDtWD6OprJ1QEWdXy0ish1v7Zd1Z-EiYRXuXFYnY1y8pltcrLVUEITRbZcrUiM7ooCV1ck6JMrzNP5jeN7dB0E7I2mAsDjdPmdSf8k3Uw_v-3DhQ2u5Q9C9dhVBC_EgwwblG6TPwDdDFOuR7cdnCYcW4Ps_uhb4xoSjB5IYSQsiWMFMUsrdICjyJL5yid21c7XXwxQrlRNl-9jhCt3owMe37Q1hlgPaKFpyGUQ3SGEa0QXQ3W-GSJ-k2-iR-vhUJ0FcfTzSKbvv3MxVbHSRUniF6RF0pHUl5CB9bJCWsCnH7E-n5Qa7FRTP7CFJdg7MjofMQ8bkCMnhDLElqfDc07C9DSY7QUqipvySna3mHjvRWjq7TOWxI4ygLaLSmghDPRrkdnAVoeokGelM250EZnAVpxgpYlCRxpZd104Dey5fxmvfxNc9hJ57oXbn8vUPsdazqhYNyhrgYvq1sHhjltULr42MwviZZJCyi9HlfIuRRYj9EE4ZbH4ZaE1QVLjsPdb6bL-c3tGuQ0utAcbkDNFfdhL-c3Z10nzUgiYFmdsGRp236X5TQ6l_KKWdFcSd082mBqDsdVo5V1Z810M1IMYpidxFDS5vsxmEH9rnba2NP9SF5v984ahOd4CMJvpMH-X7VplmfsPGhZPToL0MJ9u6aE0xx_M3ZfdBxl7cN0_SV5KkdiAfNwY69o3pLqiPnqiye7L5D-G5yzkVLAOT3hDATSH-B8p9_vebuhs_L1dAK-2QnfokiOty4JG9a87sqRN-a3_fZtbf31rD2pgHVwmlUJI2x2JrSUj84CtOIEjRIoz4bmnQVo5QlawpPseEacni58ZXzFmkdQPJiBg8FCq1ZsjvblBR7U-KOQT8XiAlvHJ9t9fR8cp9cvW2gccJQuDoaDEn8O8LB14cm78CU5XwkJ611NeuScQ8sG6R44SHDw-XPp9fTx-T1l-_bY12eh4PjEGQ_5Y4sjHb4fXg99z8zrreLwEuTnzXAJysId2wZs184ItbmHNghvUNpwMMAfLDiULg60pVabwLJjtntnMDE_2MCfA5MPfg4_t2NS6mZXAb0zPM3GPppb1epvR_SkBX_3KAfHhAzdfGHC_M8mZpLXd2f9Hdk3qxupayb_YHLYKwnR-acJf-fsZ1P902w-i_KObf8Yf_5-ew7fhq-EazSH_Xr6uTXy7RX8H1VkQOOD5bHumZSHlByUtP3U6bdSNDknwx5oHqjzaY9y4NR0zHxfwKPV6aSe78zzh0xwClXhKTSrqupsZ97oLECbnaCV0PKzoXlnx2g07L_kVVtV9Ey1SjI6C9BO-iYp5bQ4V3tidBag0bA9wQmU7Q-0J6oUyuBHCg37HG2az1j1A46gmrGjivijxtrXTljcse0WlMUtE0a-jpoW1oFy8nVqto3dRB9qTMYGq4InMLvHgB_blDGJixivdQ9O9GCxgWjft3MdYCnUI25033s3DLfwjCe7VryAHU3GXu4IYw9ehMNcg1WIlu7Yu_P0wRhtsLC7xt_nPb__8776FBpK51NW_MUPdacxShdCSV_JMTtVfvMEpXOaj752xSdmtdVycOBHDFjrq9SpH7D7xzj_EyOam8pvo4jmGzt6KUa15iYhiC4QzY67Ifn1JwJ97kTT4VvMx_a3w4PiYKzz8qgHhy1Ab_GzNuZVqI18xVI8To1_OzQNWNsOEptBWcwMjILq9DPuhW10vxVyL8tJOfEFv0z5LJ2xC7hMSjKrylmZVxfdJWSMN0AZmyUJLXICTV2UPK-SOmHA2OxCXFJCM5KSihRpnldxyeuWsrLmrKnbhLcoI9AzIWMvoFibzcWo88sqy9LsQrIapB1fD1Gq4HlaBIhSlC8vzOX4tqMeNhZlRArr7JsXJ5yEy59u8Mdx_Gkv_mIw8vLffw0zRvWvAAAA__8MCwhK">