[Bug middle-end/99694] [9 Regression] gcc: fatal error: Killed signal terminated program cc1 under -O2 to -Os since r9-7156-g33579b59aaf02eb7

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Aug 4 08:45:15 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99694

--- Comment #12 from Martin Liška <marxin at gcc dot gnu.org> ---
> 
> (1)From my understanding, compilers should compile well (no crashing or
> performance issue) with those test programs although they contain UB.

Yes, a compiler should produce a valid error message and exit for invalid
input.
However, e.g. in case of C++, error recovery is very difficult and we have a
bazillion
of invalid tests for which we either crash or loop infinitely.

> Ideally, programmers may introduce a UB by accident in their program, after
> compiling, not to mention whether the warning message emitted by compilers
> is correct or not, compilers should exit normally.  Am I correct here? 

Yes. However, having an UBSAN input, wrong things can happen during run-time.
That's why we have all the sanitizers in the GCC (and Clang).

> (2)From my experience, those bugs caused by the UB-included program can
> always occur in the optimization phase. So I think those test cases can be
> critical as well (compared with wrong-code issues)? How do you categorize
> the importance of related crashes or performance issues caused by such test
> programs? 

There are categorized pretty low, as expained.

> 
> I am asking the question because I am thinking whether the effort is
> worthing or not if I devise a tool that can produce diverse syntactic valid
> but may contain UB test programs to detect crashes or performance issues in
> compilers. The motivation is that I noticed the goal of most existing
> program generators (e.g.,Csmith [1], YARPGen [2]) is to produce UB-free test
> programs to detect miscompiliation bugs in compilers, few (only CCG [3], a
> quite old tool so that may be hard to find bugs right now) aims to detect
> crashs using programs with UB. So I guess our community may lack such test
> cases to further stress compilers. If such diverse test programs (such as
> the reported one) can help improve the quality of compilers, I'd like to
> spend some time on it.

I would not spend much time on it. It's pretty easy to create an invalid input
which cause compiler to crash. What's more interesting are valid inputs that
lead
to a wrong-code. That's why all these tools try having UBSAN free input.


More information about the Gcc-bugs mailing list