harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov" <alexey.v.varla...@gmail.com>
Subject Re: svn commit: r559382 [1/2] - in /harmony/enhanced/drlvm/trunk/vm/gc_gen/src: common/ finalizer_weakref/ gen/ los/ mark_compact/ mark_sweep/ thread/ trace_forward/ verify/
Date Thu, 26 Jul 2007 10:47:36 GMT
2007/7/26, Gregory Shimansky <gshimansky@gmail.com>:
> Alexey Varlamov wrote:
> > There are problems on other platforms as well: Win32 timeouts on
>
> Timeout happens because VM opens a debug windows if it was built in
> debug mode. Until someone presses abort button the process waits and
> then it is killed on timeout.
>
> BTW I have a question in this regard. All crashed tests on windows in
> debug mode are reporting timeout instead of crash because of this
> "feature". Automated runs should use -XX:-assert_dialog option for
> DRLVM, but this option shouldn't be used for other VMs because it is not
> compatible. Where can we add it to the scripts (including classlib and
> jdktools) that run tests?

Hi Gregory,
I just discovered the same problem on Win64, and only due to stalled
CC (no timeouts here BTW, is it due to VS2005?). Anyway, smoke tests
have this option off by default
(working_vm\build\make\targets\smoke.test.xml:246):
<jvmarg line="-XX:-vm.assert_dialog ${mode.switch} ${test.vmargs}" />

In this particular case, I assume the reason is lack of support of
"vm.assert_dialog" in gc_gen. Assertion dialogs seem to be controlled
per-module, so each dll has to check this property during
initialization and make neccessary calls to _CrtSetReportMode(). Just
grep for "assert_dialog" and you'll see related code in vm, jitrino,
interpreter - but not in other modules. Worths a JIRA?

But in general, it is a problem for any automated tests. Some complex
external suites (as EUT) provide no control for customizing
sub-processes which they launch, so even release binaries sometimes
pop up a crash dialog. I see 2 options here:
1) Change the default value of "vm.assert_dialog" to "false", at least
for release build;
2) Patch DRLVM's harmonyvm.properties file before testing a snapshot.

The first one looks more natural to me.

>
> > outofmemory.* tests in server mode, and Linux x86_64 fires assertion
> > in all modes:
> > /export/users/cc/cc-common/build/checkouts/hdk/working_vm/vm/gc_gen/src/common/gc_for_class.h:184:
> > uint32 obj_get_vt_raw(Partial_Reveal_Object*): Assertion `obj &&
> > obj->vt_raw' failed.
> >
> > 2007/7/25, Gregory Shimansky <gshimansky@gmail.com>:
> >> Hello Xiao-Feng
> >>
> >> It looks like this commit of you affected stability on windows x86_64.
> >> Four tests outofmemory.Int, outofmemory.Double, outofmemory.Plain and
> >> outofmemory.Ref from VM smoke tests stable fail on assertion in GC. They
> >> fail in all JIT modes and on interpreter, so it doesn't seem to be a bug
> >> in enumeration.
> >>
> >> Please take a look at this problem.
> >>
> >> xli@apache.org wrote:
> >>> Author: xli
> >>> Date: Wed Jul 25 03:02:07 2007
> >>> New Revision: 559382
> >>>
> >>> URL: http://svn.apache.org/viewvc?view=rev&rev=559382
> >>> Log:
> >>> HARMONY-4531 : performance improvement patch and code refactoring. It also
fixed a couple of bugs. (The main design in this patch is to include mark-sweep LOS for minor
collection and always slide-compact LOS for major collection.
> >>>
> >>> Removed:
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/los_extention_mark_scan.cpp
> >>> Modified:
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/fix_repointed_refs.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_block.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_common.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_common.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_for_vm.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_metadata.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_space.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/mark_scan_pool.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/space_tuner.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/space_tuner.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/finalizer_weakref/finalizer_weakref.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/finalizer_weakref/finalizer_weakref.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/finalizer_weakref/finalizer_weakref_metadata.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/finalizer_weakref/finalizer_weakref_metadata.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/gen/gen.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/gen/gen.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/gen/gen_adapt.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/los/lspace.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/los/lspace.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/los/lspace_alloc_collect.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/fallback_mark_scan.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_alloc.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_collect_compact.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_move_compact.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_compact/mspace_slide_compact.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace_alloc.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace_chunk.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace_chunk.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace_mark.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace_mark_sweep.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace_sweep.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/mark_sweep/sspace_verify.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/thread/collector.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/thread/collector.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/thread/collector_alloc.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/thread/gc_thread.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/thread/mutator.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/thread/mutator.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/thread/mutator_alloc.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/trace_forward/fspace.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/trace_forward/fspace_alloc.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/trace_forward/fspace_gen_forward_pool.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/trace_forward/fspace_nongen_forward_pool.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/verify/verifier_metadata.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/verify/verifier_metadata.h
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/verify/verifier_scanner.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/verify/verify_gc_effect.cpp
> >>>     harmony/enhanced/drlvm/trunk/vm/gc_gen/src/verify/verify_gc_effect.h
> >> --
> >> Gregory
> >>
> >>
> >
>
>
> --
> Gregory
>
>

Mime
View raw message