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

    <tr>
        <th>Summary</th>
        <td>
            [llvm-lit] FileCheck crashing when checking an empty file
        </td>
    </tr>

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

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

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

<pre>
    When piping an empty file into FileCheck and using the CHECK-EMPTY directive, FileCheck crashes. 

The crash occurred when running the following lines:
```
# RUN: touch %t
# RUN: cat %t | FileCheck %s --allow-empty

# CHECK-EMPTY:
```

The crash gives this error message:
```
# | check:24'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            62: # | FileCheck: /usr/local/google/home/connieyzhu/llvm-fork/llvm/lib/FileCheck/FileCheck.cpp:1848: bool llvm::FileCheck::readCheckFile(SourceMgr &, StringRef, std::pair<unsigned int, unsigned int> *): Assertion `AfterSuffix.data() >= Buffer.data() && AfterSuffix.data() < Buffer.data() + Buffer.size() && "Parsing after suffix doesn't start inside of buffer!"' failed. 
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            63: # | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. 
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            64: # | Stack dump: 
# | check:24'0     ~~~~~~~~~~~~~~~~
# |            65: # | 0. Program arguments: FileCheck /usr/local/google/home/connieyzhu/llvm-fork/build/utils/lit/tests/Inputs/shtest-cat/cat-empty.txt --allow-empty 
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            66: # | #0 0x000055abcd1c5078 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/connieyzhu/llvm-fork/llvm/lib/Support/Unix/Signals.inc:723:13 
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            67: # `----------------------------- 
# | check:24'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            68: # error: command failed with exit status: -6 
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsFsuO2zbwa-jLwAY9svw4-KB4bbRoUyziBEVPBUWNJHYlUuBjHzn02wvSu1l5EydtmkMKdGBY5AxnOMN5CudUo4m2LH_F8quJCL41diuN1ooe3rdhUprqYftrSxoGNSjdgNBA_eAfoFYdgdLewEF1tGtJ3oDQFQQXj_mWYPfDfvfTdP_6-u1vUClL0qtbYrgbMUgrXEtuBoxfMV6c_t-2dCKAkTJYSxXcRQ1s0PpJdm26ztzFXac0OZY98rIlf_ydtpjBm3e_sKwAb4JsgWHuPyJJ4RMB2GqsHMPcwXQq4k3TZPRYy8g_svCiBi9MatQtOfCtckDWGgs9OSca-pwFUS0ZVWJZgQuGKw4R_vwSnEsYwRKj2U-EDxafkIfgLMNDZ6ToGB4aY5qOGB5a08fPc3DEQ91tP62NvXlcx48qGR6eZY7WMzkMLCvm68U6XlUa00HiygqWFWM1WFZYElXaRjzD9dEEK-l1Y4HhMkbR0VulmzdUx43z1YltEMqybBd0iuwqRmikn-2zPTAsGG6iFoVzZL0yGtiSF7Unewx1re5nlfCC4ZrhBli2Z9kVvAp1TfaMEFVZwkW23Sd5Xj1hnXpP55IY4rWwKYVEFAouSYXKkNMMVx6cF9aD0k5VBKaGMoliOGeIDFdQC9VR9SGjPh0-Xwyd_-GbwuVMzMaZeP3zvjjuwYWyVx4ElKEBS4OxHryB1vshVTo8xLxUvg3lTJp-lHsxHQdr_iDpGR6Uc4Ecw0MqzErLLlSUyuepFpVC3ngrJH1n0XL5tRbj1zp6IW-gCv2QsP-0XF6-JR_fwmdwbU1jRQ_CNqEn7aMTzvrE15bMMqiuiuxedS7Vzug2T87H3Y96CGnh2oiaShGpUvhTM5r5e3_enr4vL_4duOyD5dgHDDMO_J5zzvNclLKay5yv1qPm4R7caXFtlfYpMt7GyGa4fj5kxd3vxnlLon_sIak7bL5V0zuGIeYqw8M7re4jQjVadG6mtGRZscKY7PPsv-emF3DZa6sPXlvy6efgX77BZQ3WTxqk6SpNd6bvY_07NUa4U74Fulepk_qQcnm6hBfD16TaZtUm24gJbecrxDzP5ws-abeSL0jw5Zzn-UqWizXihhNm601Gy7paionaIscFX_M5Zhkin4lstahzUUva1CuUki049UJ1sxg7M2ObSarT2zmf52ucdKKkzqWJHFHTHSRqbO751cRuU_CVoXFswTvlvHsW45Xv0iifzsRakl-9nLXjYJGG6fTiHw30k2C77df3mUcTbrf4VwAAAP__joJHoQ">