FileCheck.py icon indicating copy to clipboard operation
FileCheck.py copied to clipboard

C++ FileCheck crash: Parsing after suffix doesn't start inside of buffer!

Open stanislaw opened this issue 5 years ago • 1 comments

This branch: bugs/20191121-CHECK_NOT has a reproducible crash of a C++ FileCheck. Would be nice to check it at some point.

Assertion failed: (AfterSuffix.data() >= Buffer.data() && AfterSuffix.data() < Buffer.data() + Buffer.size() && "Parsing after suffix doesn't start inside of buffer!"), function ReadCheckFile, file /opt/llvm-8.0.1.src/lib/Support/FileCheck.cpp, line 793.

stanislaw avatar Nov 21 '19 19:11 stanislaw

The same or similar one:

Test:

; RUN: echo -e "" | %FILECHECK_EXEC %S/CHECK-EMPTY.check | %FILECHECK_EXEC %s
; CHECK: {{^.*}}FileCheck{{(\.py)?$}}
; CHECK-EMPTY:

Check:

CHECK-EMPTY:

Output:

: 'RUN: at line 1';   echo -e "" | /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tools/FileCheck/FileCheck /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tests/examples/check-commands/CHECK-EMPTY/How-to-match-empty-file/CHECK-EMPTY.check | /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tools/FileCheck/FileCheck /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tests/examples/check-commands/CHECK-EMPTY/How-to-match-empty-file/CHECK-EMPTY.itest
--
Exit Code: 134

Command Output (stdout):
--
/Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tools/FileCheck

--
Command Output (stderr):
--
+ : 'RUN: at line 1'
+ echo -e ''
+ /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tools/FileCheck/FileCheck /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tests/examples/check-commands/CHECK-EMPTY/How-to-match-empty-file/CHECK-EMPTY.check
+ /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tools/FileCheck/FileCheck /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tests/examples/check-commands/CHECK-EMPTY/How-to-match-empty-file/CHECK-EMPTY.itest
Assertion failed: (AfterSuffix.data() >= Buffer.data() && AfterSuffix.data() < Buffer.data() + Buffer.size() && "Parsing after suffix doesn't start inside of buffer!"), function ReadCheckFile, file /opt/llvm-8.0.1.src/lib/Support/FileCheck.cpp, line 793.
Stack dump:
0.	Program arguments: /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tools/FileCheck/FileCheck-macOS /Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tests/examples/check-commands/CHECK-EMPTY/How-to-match-empty-file/CHECK-EMPTY.check
0  FileCheck-macOS          0x000000010589d7fc llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 60
1  FileCheck-macOS          0x000000010589ddf9 PrintStackTraceSignalHandler(void*) + 25
2  FileCheck-macOS          0x000000010589a01d llvm::sys::RunSignalHandlers() + 989
3  FileCheck-macOS          0x000000010589f609 SignalHandler(int) + 505
4  libsystem_platform.dylib 0x00007fff5d358b5d _sigtramp + 29
5  libsystem_malloc.dylib   0x00007fff5d319bbb tiny_malloc_from_free_list + 450
6  libsystem_c.dylib        0x00007fff5d2126a6 abort + 127
7  libsystem_c.dylib        0x00007fff5d1db20d basename_r + 0
8  FileCheck-macOS          0x00000001057b22d6 llvm::FileCheck::ReadCheckFile(llvm::SourceMgr&, llvm::StringRef, llvm::Regex&, std::__1::vector<llvm::FileCheckString, std::__1::allocator<llvm::FileCheckString> >&) + 7078
9  FileCheck-macOS          0x00000001056f0ce2 main + 5202
10 libdyld.dylib            0x00007fff5d16d3d5 start + 1
/Users/Stanislaw/workspace/inbox-active-code/FileCheck.py/tests/integration/tools/FileCheck/FileCheck: line 13: 51345 Abort trap: 6           $file_check_path/FileCheck-macOS "$@"

--

stanislaw avatar Jan 26 '20 12:01 stanislaw