[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [creduce-bugs] tgz with nine separate creduce_bug_00x dirs

Thanks.  My response here is mainly FYI, since I'm no longer actively working on this problem, which seems to have been a particularly unusual case.  It's an ICE (internal compiler error - stack smashing bug) in gcc 10 that showed up (inconsistently) when compiling boost (multiple versions).  So - I was trying to creduce the boost source to a minimal version that would trigger the stack smash in gcc.

Since the error is not perfectly reproducible, I suspect creduce misses some versions that "might" also show the problem, although that is probably irrelevant to the bugs I submitted.  (I actually tried a "test" program that tried multiple times and set the proper return value if if smashed at least once, but gave up on that for a reason I've since forgotten.)

I do have two results of completed creduce runs.  Running either for 100 tries gives me between 0 and about 30% failures.  Most of the time it's 0.  So, I'll continue to try on occasion, but unless I get a more reproducible error, there's not much I (or creduce) can do.


On 11/26/20 2:29 AM, Yang Chen wrote:
Hi Jack,

Thanks for reporting the issue! Sorry for my belated reply.

Seems all the failures were caused by a clang issue, which could be reproduced by:

$ cat x.cc
namespace NS  {
template<typename T> struct S {
  struct S1;
  struct S2;
  struct S3 : public S1, public S2 {};
$ clang -v
clang version 9.0.1
Target: x86_64-unknown-linux-gnu
Thread model: posix
$ clang x.cc
clang-9: /backup/work/compilers/compiler-source/llvm-9.0.1.src/tools/clang/include/clang/AST/DeclCXX.h:671: struct DefinitionData &clang::CXXRecordDecl::data() const: Assertion `DD && "queried property of class with no definition"' failed.
Stack dump:

Actually, seems the latest dev version also has the same issue. I submitted a bug to Clang:


- Yang

On 7/29/20 10:51 AM, Jack wrote:
Please let me know if you want these sent separately - there are nine included.

For background information, I am trying to track down a ICE (internal compiler error) in gcc (specifically x86_64-pc-linux-gnu-g++) when compiling boost-1.73.0.  gcc has been built with debugging info, but the file I am reducing is part of boost.  The current run has been going for over 48 hours and has so far reduced from 92792 lines/ 3267829 bytes to 12389 lines/585124 bytes.  A minor issue (but probably not for creduce itself) is that the bug seems non-deterministic, so a single example may not fail every time.  An earlier run (about 6 hours) came down to a single (not actually syntactically valid) line, and the current run is after applying a patch to gcc to fix that one. Additional info, in case it matters, is that the interestingness test is just grepping for "internal compiler error" in the gcc output.

I am not subscribed to either list, but will be watching the archives in case I need to subscribe to participate in any discussion.