http://llvm.org/bugs/show_bug.cgi?id=20766
Bug ID: 20766 Summary: LLDB asserts like mad on "Only storage fields have tail padding!" Product: lldb Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: All Bugs Assignee: lldb-dev@cs.uiuc.edu Reporter: chandl...@gmail.com CC: david.majne...@gmail.com, tfi...@google.com Classification: Unclassified I see the following assert-failure crash on LLDB *extremely* frequently: Process 6948 stopped * thread #1: tid = 6948, 0x00000000017dfd39 llc`(anonymous namespace)::DAGCombiner::visitEXTRACT_VECTOR_ELT(this=0x00007fffffffc4d8, N=0x0000000002a13f88) + 873 at DAGCombiner.cpp:9999, name = 'llc', stop reason = breakpoint 2.1 frame #0: 0x00000000017dfd39 llc`(anonymous namespace)::DAGCombiner::visitEXTRACT_VECTOR_ELT(this=0x00007fffffffc4d8, N=0x0000000002a13f88) + 873 at DAGCombiner.cpp:9999 9996 if (NVT.bitsLT(LVT) && !TLI.isTruncateFree(LVT, NVT)) 9997 return SDValue(); 9998 -> 9999 if (InVec.getOpcode() == ISD::BITCAST) { 10000 // Don't duplicate a load with other uses. 10001 if (!InVec.hasOneUse()) 10002 return SDValue(); (lldb) p N->dump(&DAG) lldb: ../tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp:526: void (anonymous namespace)::CGRecordLowering::clipTailPadding(): Assertion `Prior->Kind == MemberInfo::Field && !Prior->FD && "Only storage fields have tail padding!"' failed. zsh: abort (core dumped) lldb -- ./bin/llc -o - shuffle.ll -x86-experimental-vector-shuffle-lowering However, I can't produce folks a nice reproduction recipe, even by checking out all of LLVM, building the 'llc' binary, breaking exactly where I have in this example, and printing just as I have. You can try doing it at head, and you'll find that *sometimes* it reproduces, but not always. I believe that what is actually happening here is that we're getting slightly different merge resolutions of debug information or some such, and that drives slightly different calls through to Clang to build up the CGRecordLayout, and only some of them end in this assertion. However, this is now the most frequent problem I hit trying to debug things with LLDB by about a factor of 5 or 10. (Which really is a compliment -- almost everything works these days on Linux!) Let me know if this just won't reproduce for folks and I'll try to extract some recipe that fairly reliably triggers it. -- You are receiving this mail because: You are the assignee for the bug.
_______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev