On 20/12/2019 01:43, John McCall wrote:
On 19 Dec 2019, at 16:27, Adhemerval Zanella wrote:
On 19/12/2019 14:41, Adhemerval Zanella wrote: On 18/12/2019 14:24, John McCall wrote: On 18 Dec 2019, at 6:48, Adhemerval Zanella wrote: On 18/12/2019 04:16, John McCall wrote: There’s been an ongoing failure on the clang-cmake-armv8-selfhost builder for the last day or so; see e.g.: http://lab.llvm.org:8011/builders/clang-cmake-armv7-selfhost/builds/2827/ This list is recorded as the contact information for that builder. It is apparently crashing in a tblgen backend that I just added: ``` Stack dump: 0. Program arguments: /home/buildslave/buildslave/clang-cmake-armv7-selfhost/stage1/bin/clang-tblgen -gen-clang-type-writer -I /home/buildslave/buildslave/clang-cmake-armv7-selfhost/llvm/clang/include -I /home/buildslave/buildslave/clang-cmake-armv7-selfhost/llvm/clang/include/clang/AST -I /home/buildslave/buildslave/clang-cmake-armv7-selfhost/llvm/llvm/include /home/buildslave/buildslave/clang-cmake-armv7-selfhost/llvm/clang/include/clang/AST/TypeProperties.td --write-if-changed -o /home/buildslave/buildslave/clang-cmake-armv7-selfhost/stage1/tools/clang/include/clang/AST/AbstractTypeWriter.inc Segmentation fault (core dumped) ``` I would like to fix this, but I have no ability to reproduce it, and the crash information in the log is quite minimal. Is there a way I can get a shell on a system that can reproduce this, or at the very least get a line number for where exactly it is crashing? John. Hi John, I am the one responsible for babysitting the bots this week and I will take a look at this issue. I will let you know what I found. Thanks. John. Hi John, I couldn't reproduce the issue on the bot with 2f932b57296a573454d29893eedbeaa6901c2a68, both stage1 and stage2 build fine and check showed no regression. I restarted the bot and I will let you know how the results of the next iterations comes out. Hi again John, I was looking at a different bot, so the results were for the one running on armv7 instead the one that is failing which runs on armv8. The problem seems to be in fact a compiler issue on the container we use to run buildbot. It is an ubuntu 16.04, but we don't use the default compiler (gcc 5.4.0), but instead an updated one (gcc 7.4.0) provided by ubuntu test ppa [1]. If I build clang-tblgen with gcc 7.4.0 on Release mode it generates a segmentation fault. It does not occur with RelWithDebugInfo neither if I used gcc 5.4.0 on Release mode. Trying to analyse the core generated does not really give us much information, it shows a recursive call on visitASTNodeHierarchyImpl: #0 __GI_memcmp (s1=<optimized out>, s2=<optimized out>, len=<optimized out>) at memcmp.c:352 #1 0x0001dab8 in clang::tblgen::visitASTNodeHierarchyImpl(llvm::RecordKeeper&, llvm::StringRef, llvm::function_ref<void (clang::tblgen::ASTNode, clang::tblgen::ASTNode)>) () [...] gdb can't show the bottom of the stack.
This memcmp must be from |StringRef::operator<|. If that were getting consistently miscompiled, I think we’d be having serious problems throughout the compiler. But there could be something specific to this function that’s either provoking a miscompile or just violating language rules; I don’t see what that would be, though.
John.
My guess this is specific issue that in fact might be fixed on gcc-7 (I need to check which version the ppa repository actually use). I test with gcc 5.4 and now I am testing with gcc 8. Most likely we will update the stage1 compiler on this bot.