harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@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:55:23 GMT
Alexey Varlamov wrote:
> 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?

Good finding. I think that yes, it deserves 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.

Yes, this is possible if all tests use release version of VM.

>>> 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
>>
>>
> 


-- 
Gregory


Mime
View raw message