Some tests on http://test.winehq.org/data/ seem to crash silently.
This patch might be useful for debugging such crashes. It prints out the last ok/trace that was executed before the crash, the exception address and the type of the crash. It also print out the summary that is normally printed at the end of the test instead of exiting silently[1].
On wine it still executes winedbg for better debugging after dumping out the info.
My concern now is that it requires a change to the parser which accepts the test reports, so those crashes are not lost. And don't know much about this parser.
Suggestions, ideas anyone?
Greetings Peter
[1] example output:
file.c:1228:FileSize: 0 file.c:1229:Unknown2[0]: 0 Test crashed at B7D0DF47 with error c0000005 Last test before crash: file.c:1239 file: 19 tests executed (0 marked as todo, 3 failures), 0 skipped. wine: Unhandled page fault on write access to 0x00001234 at address 0xb7d0df47 (thread 0009), starting debugger... Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b ...
Peter Oberndorfer wrote:
Some tests on http://test.winehq.org/data/ seem to crash silently.
Hi,
Remember that not all 'Crashes' on the mentioned site are real crashes. Most Vista tests I'm running have 'Crash' mentioned on those pages. The reason is that the generated results file is bigger than 1.5 MB and this means the file will only be sent partly.
If you're talking about the 'failed' ones with no good data (as it looks from you're patch), ignore the above.
I did some work on the parser (dissect Perl-script) a few months ago. You're output will not be handled properly (from a first glance). A normal test looks like:
a:b start <filename> <cvs-version> .. .. .. .. b: w tests executed (x marked as todo, y failure[s]), z skipped. a:b done (0)
As you're new output doesn't result in the 'done' line the parser will not correctly use that information. Maybe another line should be added at the end of you're output:
a:b done (some number not being 0 or 258)
The 258 is used for tests that timeout (0 being for tests that have run without crashes or timeouts). Obviously the parser (in this case it's actually the gather Perl-script) has to be changed to accommodate this new number.
Cheers,
Paul.
On Tuesday 22 May 2007 22:06, Paul Vriens wrote:
Peter Oberndorfer wrote:
Some tests on http://test.winehq.org/data/ seem to crash silently.
Hi,
Remember that not all 'Crashes' on the mentioned site are real crashes. Most Vista tests I'm running have 'Crash' mentioned on those pages. The reason is that the generated results file is bigger than 1.5 MB and this means the file will only be sent partly.
If you're talking about the 'failed' ones with no good data (as it looks from you're patch), ignore the above.
Yes i'm talking about those.
I did some work on the parser (dissect Perl-script) a few months ago. You're output will not be handled properly (from a first glance). A normal test looks like:
a:b start <filename> <cvs-version> .. .. .. .. b: w tests executed (x marked as todo, y failure[s]), z skipped. a:b done (0)
As you're new output doesn't result in the 'done' line the parser will not correctly use that information. Maybe another line should be added at the end of you're output:
From what i have seen the lines with start <filename> <cvs-version> a:b done (0) are not output from the test itself, but wintetest which runs the tests. so they should still show up. But i havent verified this.
The only problem i see now is that we can't set the exit code and rune winedbg. So how could we inform winetest that the test crashed so it can set a proper done status, that can be examined by dissect. Or dissect finds crashed tests by a certain string that is only output on a crash. Maybe you have a better idea?
a:b done (some number not being 0 or 258)
The 258 is used for tests that timeout (0 being for tests that have run without crashes or timeouts). Obviously the parser (in this case it's actually the gather Perl-script) has to be changed to accommodate this new number.
Cheers,
Paul.
Greetings Peter