harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Berezhniuk (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-2798) [drlvm][thread] VM cunit test test_native_basic sometimes crashes on win32 SMP
Date Fri, 25 May 2007 14:22:16 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-2798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12499097
] 

Ilya Berezhniuk commented on HARMONY-2798:
------------------------------------------

I tried to repsoduce issue with single subtests of test_native_basic. Bug appears for test_hythread_iterator
and test_hythread_iterator_default subtests.

Looks like bug involved by special running method of cunit tests - there is no Main Java thread
which waits until all non-daemon threads are terminated.
When subtest returns after releasing all 100 threads started in this subtest, main() function
exits also and some cleanup actions are started (at least on Windows). At the same time some
of 100 threads are still running and accessing TM data. On Windows such behaviour causes an
error.
Thus we should wait until all started threads are terminated.

I've added Sleep(100) after releasing thread iterator, and test passed for me 150 times. But
this is not good solution, because test will depend on processor speed.

I'm now trying to implement proper waiting to ensure all started threads are terminated.

> [drlvm][thread] VM cunit test test_native_basic sometimes crashes on win32 SMP
> ------------------------------------------------------------------------------
>
>                 Key: HARMONY-2798
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2798
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows 2003 server on P4 with HT enabled
>            Reporter: Gregory Shimansky
>
> The test test_native_basic fails on windows from time to time in 3 different ways. The
most common way is to exit silently on shutdown while function main has returned 0, and all
tests passed. Two other ways are access to non-writable memory and MS debug CRT heap validation
on shutdown.
> In all 3 cases I cannot debug the program because it fails after function main has finished.
Looks like some race condition causes memory corruption. Probably running the program from
under VS.NET could help to debug it.
> To run the test many times I've written the following script in cygwin bash:
> i=0; while true; do ./test_native_basic.exe -Dorg.apache.harmony.vm.vmdir=d:/work/harmony/enhanced/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/default
-Djava.home=d:/work/harmony/enhanced/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre;
ec=$?; echo $i $ec; test $ec != 0 && break; i=$[i+1]; done
> Note, to run test_native_basic in console you need to set PATH to DRLVM bin and bin/default
directories.
> Note2, it looks like this bug requires SMP or at least HT enabled system, and is not
reproducible on single processor computers like laptops.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message