From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 2A7B938515E4; Wed, 4 Aug 2021 08:45:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2A7B938515E4 From: "marxin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/99694] [9 Regression] gcc: fatal error: Killed signal terminated program cc1 under -O2 to -Os since r9-7156-g33579b59aaf02eb7 Date: Wed, 04 Aug 2021 08:45:15 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: compile-time-hog X-Bugzilla-Severity: normal X-Bugzilla-Who: marxin at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 9.4 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 08:45:16 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D99694 --- Comment #12 from Martin Li=C5=A1ka --- >=20 > (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, aft= er > compiling, not to mention whether the warning message emitted by compilers > is correct or not, compilers should exit normally. Am I correct here?=20 Yes. However, having an UBSAN input, wrong things can happen during run-tim= e. 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 te= st > programs?=20 There are categorized pretty low, as expained. >=20 > 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 val= id > 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 t= est > 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 in= put 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.=