Re: Providing more precise "excess errors" message in DejaGnu
Jeff Law via Gcc <[email protected]> Thu, 28 Aug 2025 09:10:51 -0600
| Newsgroups | gmane.comp.gcc.devel,gmane.comp.sysutils.dejagnu.general |
|---|---|
| Message-ID | <[email protected]> |
On 8/28/25 8:09 AM, Richard Earnshaw (lists) wrote: > On 28/08/2025 15:01, Iain Sandoe wrote: >> >> >>> On 28 Aug 2025, at 14:36, Jeff Law via Gcc <[email protected]> wrote: >>> >>> >>> >>> On 8/28/25 5:42 AM, Richard Biener via Gcc wrote: >>>> On Thu, Aug 28, 2025 at 1:12 PM Rainer Orth via Gcc <[email protected]> wrote: >>>>> >>>>> Hi Sam, >>>>> >>>>>> When a test fails with 'excess errors', there's often only one actual >>>>>> error (an excess "(error|warning|note):") and it'd be nice to not have >>>>>> to dig in the .log files to fish that out. >>>>> >>>>> I think such a move would be a bad mistake. Consider ICEs where you >>>>> have something like >>>>> >>>>> FAIL: gcc.c-torture/compile/pr35318.c -O0 (test for excess errors) >>>>> Excess errors: >>>>> /vol/gcc/src/hg/master/local/gcc/testsuite/gcc.c-torture/compile/pr35318.c:9:1: error: unrecognizable insn: >>>>> (insn 13 25 26 2 (parallel [ >>>>> (set (reg:DF 10 %o2 [orig:112 x ] [112]) >>>>> (asm_operands/v:DF ("") ("=r,r") 0 [ >>>>> (reg:SI 11 %o3 [orig:112 x+4 ] [112]) >>>>> (mem/c:DF (plus:SI (reg/f:SI 30 %fp) >>>>> (const_int -24 [0xffffffffffffffe8])) [3 %sfp+-24 S8 A64]) >>>>> [and many more lines...] >>>>> >>>>> This would clutter the output beyond recognition, especially if this is >>>>> a torture test which is run at several optimization options. >>>>> >>>>> Excess errors, like all others, always require further investigation. >>>>> In my experience, digging the full error messages from the .log files is >>>>> usually the smallest part of that. You often even have to rerun the >>>>> compilation manually to also get the parts that are filtered out by the >>>>> prune procs. >>>> I find the classification this would provide useful, like I like the >>>> (internal compiler error) classification we already have. I would >>>> of course not duplicate all of th eabove message but only >>>> '(unrecognizable insn)' in the above case. >>> It's not the only consideration, but keep in mind that such output is not stable and will cause some headaches with scripting that compares two summary files. >> >> This is something that I think we want to tackle anyway .. >>> >>> Even with the bit of instability to the line number in the ICE message, I do find the ICE classification useful as well. >> >> … the classification is useful, but the false positive “new fail / old fail went away” pairs are a real nuiscance .. hopefully we can have some brainstorming @cauldron about ways to deal with this (e.g. fuzzy matching or some smart way to discard the twinkling line numbers). >> > > Well really, the compare-tests script should report duplicate results as a problem as well, since > > PASS: abcd > ... > PASS: abcd > > is just a dup pass/fail waiting to happen. Yup. A duplicate testname should be reported. These cause major headaches if one passes, but the other fails -- it looks like a regression to the comparison scripting we have. Getting to the point where every test has a unique name would be good on many levels. I can't help but think back to QMTest which tried to solve the enumeration problem along with others. I wasn't too supportive at the time, but in retrospect, that was probably a mistake. jeff