harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ivanov" <ivavladi...@gmail.com>
Subject Re: [general][testing] need a piece of advise: how we can handle VM crashes
Date Fri, 01 Dec 2006 13:04:19 GMT
On 11/30/06, Alexei Fedotov <alexei.fedotov@gmail.com> wrote:
>
> Vladimir,
>
> I reproduced the problem hastily hacking report generation, see my
> command line below. For the whole test run a build status correctly
> evaluates to BUILD FAILED when junit tasks crash. So probably nothing
> should be done for now.



Actually, it depends on process exit status. In case when the process will
be crashed with 0-exit code the task will report 'successful' status. So, my
improvement just an additional checks to detect crashes.

But it may be more useful to extend junit task to generate 'crashed' result
for test before run and than overwrite it by real result. Seems, only it
will guarantee 100% crash detection.

$ ant -f make/build-test.xml full-report
> Buildfile: make\build-test.xml
>
> full-report:
> [junitreport] [Fatal Error] :-1:-1: Premature end of file.
> [junitreport] The file
> C:\Users\af\ws_harmony\4\classlib\trunk\build\test_report
> \TEST-javax.print.ServiceUITests.xml is not a valid XML document. It is
> possibly
> corrupted.
> [junitreport] [Fatal Error] :-1:-1: Premature end of file.
> [junitreport] The file
> C:\Users\af\ws_harmony\4\classlib\trunk\build\test_report\TEST-
> org.apache.harmony.luni.tests.java.lang.ThreadTest.xml
> is not a valid XML
> document. It is possibly corrupted.
> [junitreport] the file
> C:\Users\af\ws_harmony\4\classlib\trunk\build\test_report\TESTS-
> TestSuites.xml
> is not a valid testsuite XML document
> [junitreport] Transform time: 160074ms
>     [echo] The test report is in
> C:\Users\af\ws_harmony\4\classlib\trunk\build\test_report\html\index.html
>
> BUILD SUCCESSFUL



According to your log the build status is 'SUCCESSFUL'  :) but with my
change it will be evaluated to failed. But may be zero-length
detection should be called before the full-report generation instead of
calling for each module.
 Thanks, Vladimir


> Total time: 4 minutes 58 seconds
>
> --
> Thank you,
> Alexei
>
>
> On 11/29/06, Alexei Fedotov <alexei.fedotov@gmail.com> wrote:
> > Vladimir,
> >
> > From my perspective detecting crashes during a test run of class
> > library tests is quite important:
> >
> > * Stress loads and rare execution paths lead to VM crashes which
> > should be fixed if we could modify VM code base or avoided by means of
> > a workaround.
> >
> > * Harmony class library contains a fair amount of native code. The bug
> > in native code usually leads to a crash, and class library tests
> > should guarantee we detect this problem early.
> >
> > I think this is a good requirement to the build system, and it is
> > timely requirement since another thread is discussing changes in a
> > test launch procedure right now [1].
> >
> > I can reproduce the issue you are describing. Ant prints warnings
> > about corrupted XML, but doesn't report failed status. The code [2]
> > shows we cannot expect more from the latest ant implementation. We
> > either need to fix ant, or double check for corrupted XML reports.
> >
> > I've examined a double check at [3]. Do I understand correctly that
> > <antcall target="check-crashes" /> actually should call <target
> > name="check-length">? Is it possible to replace a message "crash?"
> > with actual VM crash log?
> >
> > 1.http://mail-
> archives.apache.org/mod_mbox/harmony-dev/200611.mbox/%3cc30d70960611281010u45f064cbhcb571aa3bb39fa43@mail.gmail.com%3e
> > 2
> .http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java?view=markup
> > 3.http://issues.apache.org/jira/browse/HARMONY-2349
> >
> > --
> > Thank you,
> > Alexei
> >
> > On 11/28/06, Vladimir Ivanov <ivavladimir@gmail.com> wrote:
> > > Issue 2349 was created to handle this problem. Could somebody review
> it?
> > >  thanks, Vladimir
> > >
> > >
> > > On 11/23/06, Vladimir Ivanov <ivavladimir@gmail.com> wrote:
> > > >
> > > >  Hi,
> > > >
> > > > I want to discuss one issue: we have a little bit unstable runtime
> and
> > > > sometimes test run leads to the VM crash. It is not a good but an
> one worse
> > > > thing that the build status will be reported as "successful" in this
> case.
> > > > It is happen because the test result file is empty and just ignore
> when the
> > > > junit prepare the final report.
> > > >
> > > > It is should be fixed.
> > > >
> > > > Which way to fix it more preferable:
> > > >
> > > >  - extend the junit task to verify size of report file (for fork=yes
> > > > mode);
> > > >
> > > >  - prepare the special task to find all zero-length or missed report
> files
> > > > (run after all tests);
> > > >
> > > >  - prepare small scripts to verify reports and run them through the
> > > > 'exec';
> > > >
> > > >  - something else?
> > > >
> > > >
> > > >
> > > >  thanks, Vladimir
> > > >
> > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message