[llvm-bugs] [Bug 51298] New: clang crashes on valid code at -O3 on x86_64-linux-gnu: Assertion `N->getOpcode() != ISD::DELETED_NODE && RV.getOpcode() != ISD::DELETED_NODE && "Node was deleted but visit returned new node!"' failed

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Aug 1 05:34:52 PDT 2021


https://bugs.llvm.org/show_bug.cgi?id=51298

            Bug ID: 51298
           Summary: clang crashes on valid code at -O3 on
                    x86_64-linux-gnu: Assertion `N->getOpcode() !=
                    ISD::DELETED_NODE && RV.getOpcode() !=
                    ISD::DELETED_NODE && "Node was deleted but visit
                    returned new node!"' failed
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: zhendong.su at inf.ethz.ch
                CC: llvm-bugs at lists.llvm.org

[544] % clangtk -v
clang version 14.0.0 (https://github.com/llvm/llvm-project.git
7d855605830f4a524f02b09d6891b351ff716782)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
[545] % 
[545] % clangtk -O2 small.c
[546] % 
[546] % clangtk -O3 small.c
clang-14:
/local/suz-local/software/clangbuild/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1572:
void {anonymous}::DAGCombiner::Run(llvm::CombineLevel): Assertion
`N->getOpcode() != ISD::DELETED_NODE && RV.getOpcode() != ISD::DELETED_NODE &&
"Node was deleted but visit returned new node!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments:
/local/suz-local/software/local/clang-trunk/bin/clang-14 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj --mrelax-relocations -disable-free
-main-file-name small.c -mrelocation-model static -mframe-pointer=none
-fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb
-fcoverage-compilation-dir=/local/suz-local/software/emitesting/bugs/20210801-clangtk-m64-O3-build-131529/delta
-resource-dir /local/suz-local/software/local/clang-trunk/lib/clang/14.0.0 -I
/usr/local/include/csmith -I /local/suz-local/software/local/include
-internal-isystem
/local/suz-local/software/local/clang-trunk/lib/clang/14.0.0/include
-internal-isystem /usr/local/include -internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../x86_64-linux-gnu/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include -O3
-fdebug-compilation-dir=/local/suz-local/software/emitesting/bugs/20210801-clangtk-m64-O3-build-131529/delta
-ferror-limit 19 -fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops
-vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/small-a37cb3.o
-x c small.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'small.c'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@main'
 #0 0x000055932b405bef PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x000055932b40339d SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f4c25250980 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #3 0x00007f4c23f01fb7 raise
/build/glibc-S9d2JN/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #4 0x00007f4c23f03921 abort /build/glibc-S9d2JN/glibc-2.27/stdlib/abort.c:81:0
 #5 0x00007f4c23ef348a __assert_fail_base
/build/glibc-S9d2JN/glibc-2.27/assert/assert.c:89:0
 #6 0x00007f4c23ef3502 (/lib/x86_64-linux-gnu/libc.so.6+0x30502)
 #7 0x000055932c1f6b91 llvm::SelectionDAG::Combine(llvm::CombineLevel,
llvm::AAResults*, llvm::CodeGenOpt::Level)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x47beb91)
 #8 0x000055932c2e0efd llvm::SelectionDAGISel::CodeGenAndEmitDAG()
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x48a8efd)
 #9 0x000055932c2e45e3
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x48ac5e3)
#10 0x000055932c2e6348
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(.part.958) SelectionDAGISel.cpp:0:0
#11 0x000055932a029241 (anonymous
namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&)
X86ISelDAGToDAG.cpp:0:0
#12 0x000055932a6ef8e6
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x2cb78e6)
#13 0x000055932ab8b866 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x3153866)
#14 0x000055932ab8bbb9 llvm::FPPassManager::runOnModule(llvm::Module&)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x3153bb9)
#15 0x000055932ab8ca10 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x3154a10)
#16 0x000055932b7088f5 (anonymous
namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) BackendUtil.cpp:0:0
#17 0x000055932b70c143 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef,
llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x3cd4143)
#18 0x000055932c3f7cea
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x49bfcea)
#19 0x000055932d2d0459 clang::ParseAST(clang::Sema&, bool, bool)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x5898459)
#20 0x000055932c3f7e88 clang::CodeGenAction::ExecuteAction()
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x49bfe88)
#21 0x000055932bd44ff1 clang::FrontendAction::Execute()
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x430cff1)
#22 0x000055932bce126a
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x42a926a)
#23 0x000055932be1464a
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x43dc64a)
#24 0x0000559328f126ec cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/local/suz-local/software/local/clang-trunk/bin/clang-14+0x14da6ec)
#25 0x0000559328f0da99 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
driver.cpp:0:0
#26 0x0000559328e3b416 main
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x1403416)
#27 0x00007f4c23ee4bf7 __libc_start_main
/build/glibc-S9d2JN/glibc-2.27/csu/../csu/libc-start.c:344:0
#28 0x0000559328f0d60a _start
(/local/suz-local/software/local/clang-trunk/bin/clang-14+0x14d560a)
clang-14: error: unable to execute command: Aborted
clang-14: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 14.0.0 (https://github.com/llvm/llvm-project.git
7d855605830f4a524f02b09d6891b351ff716782)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
clang-14: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-14: note: diagnostic msg: /tmp/small-0e647e.c
clang-14: note: diagnostic msg: /tmp/small-0e647e.sh
clang-14: note: diagnostic msg: 

********************
[547] % 
[547] % cat small.c
int printf(const char *, ...);
int a, c, d, f, g, h, i;
short b;
static int e = 1;
short j(int k) { return b ? b : b << k; }
void o() {
  int p[] = {};
  if (a)
    e = p[0];
}
int main() {
  int m;
L:
  for (; h < 1; h++)
    m = 0;
  for (; m < 8; m++)
    for (i = 0; i < 4; i++) {
      d--;
      g = f >> a;
      c = j(1) && 1;
      if (e)
        continue;
      printf("%d", i);
    }
  printf("8");
  if (a)
    goto L;
  return 0;
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210801/949e46a1/attachment.html>


More information about the llvm-bugs mailing list