You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2007/11/22 11:20:43 UTC

[jira] Created: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

[drlvm][thread] Failed assertion on realibility test in lock unreservation code
-------------------------------------------------------------------------------

                 Key: HARMONY-5172
                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Windows ia32
            Reporter: Gregory Shimansky


When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:

 	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C

>	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C

 	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C

 	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++

 	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++

 	03353334()	


Java stack trace looks like this:

The stack trace of the 01339930 java thread:

  [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I

  [01339930] 036D85D5(m): java/lang/Object.wait()V

  [01339930] 033A737C(m): java/lang/Thread.join()V

org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V

  [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z

  [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z

  [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I

  [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I

  [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I

  [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V


To run the test from command line I used the following command line in reliability test suite:

$ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100


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


[jira] Updated: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pervov updated HARMONY-5172:
----------------------------------

    Patch Info: [Patch Available]

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Pavel Pervov
>         Attachments: H5172-unreservation-lock-fix.patch
>
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12580323#action_12580323 ] 

Pavel Rebriy commented on HARMONY-5172:
---------------------------------------

I've removed assertion because it is invalid then option -XX:thread.soft_unreservation=true is set.
With attached patch test works fine.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>         Attachments: H5172-unreservation-lock-fix.patch
>
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12553352 ] 

Gregory Shimansky commented on HARMONY-5172:
--------------------------------------------

I can't say when the bug was introduced. I believe no one just used debug build to run this test before me, so I was the first to encounter this problem. The bug could have been there for any amount of time.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Chen Yang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560697#action_12560697 ] 

Chen Yang commented on HARMONY-5172:
------------------------------------

Can it be caused by other threads just updated the value just before the load? 
I am also meeting some kind of issue in line 389 when running win32 vm in debug mode:
#ifdef LOCK_RESERVATION
        // unreserved busy lock
            else if (IS_RESERVED(lockword)) {
                status = hythread_unreserve_lock(lockword_ptr);
                if (status != TM_ERROR_NONE) {
#ifdef SPIN_COUNT
                    if (status == TM_ERROR_EBUSY) {
                        continue;
                    }
#endif //SPIN_COUNT
                    return status;
                }
                assert(!IS_RESERVED(*lockword_ptr));          //here, line 389
                return hythread_thin_monitor_try_enter(lockword_ptr);
            }
In my case, I can only guess that some one has changed the value before the load to that address.
Your case and my case made me feel that soft_unreservation option is unsafe to use. Correct me if I am wrong. 

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12559548#action_12559548 ] 

Gregory Shimansky commented on HARMONY-5172:
--------------------------------------------

Formally assertions are different because they happen in different places of the same file. In this bug the failed assertion happens on line 144, in HARMONY-5304 it happens on line 666 (probably after patches were applied it moved to 673).

Also this bug doesn't happen on Linux (I never saw it) while HARMONY-5304 is reported for Linux x86_64.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12559510#action_12559510 ] 

Pavel Rebriy commented on HARMONY-5172:
---------------------------------------

I think the bug is similar to HARMONY-5304.
HARMONY-5304 is fixed, well the bug could be closed.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581979#action_12581979 ] 

Pavel Pervov commented on HARMONY-5172:
---------------------------------------

Gregory,

Will you commit the patch or can I reassign this to me?

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>         Attachments: H5172-unreservation-lock-fix.patch
>
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Updated: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Rebriy updated HARMONY-5172:
----------------------------------

    Attachment: H5172-unreservation-lock-fix.patch

Patch to fix unreservation lock.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>         Attachments: H5172-unreservation-lock-fix.patch
>
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581981#action_12581981 ] 

Gregory Shimansky commented on HARMONY-5172:
--------------------------------------------

Sure you can take this bug.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>         Attachments: H5172-unreservation-lock-fix.patch
>
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Reopened: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky reopened HARMONY-5172:
----------------------------------------


Heh I didn't notice the last comment that it is still reproducible in a special mode. Reopened.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Assigned: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pervov reassigned HARMONY-5172:
-------------------------------------

    Assignee: Pavel Pervov  (was: Gregory Shimansky)

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Pavel Pervov
>         Attachments: H5172-unreservation-lock-fix.patch
>
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12579381#action_12579381 ] 

Pavel Rebriy commented on HARMONY-5172:
---------------------------------------

I've reproduced the failure with -XX:thread.soft_unreservation=true option on. Continue investigation.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12579373#action_12579373 ] 

Pavel Rebriy commented on HARMONY-5172:
---------------------------------------

I've tried to reproduce the failure on AddRmPropertiesHooksTest reliability test with debug revision 635802.
Test passed 500 times (run duration is about 168 hours = a week).
I think the bug could be closed due to it is already fixed.


> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Resolved: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pervov resolved HARMONY-5172.
-----------------------------------

    Resolution: Fixed

Committed revision 641264.

Please, check that the problem has gone.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Pavel Pervov
>         Attachments: H5172-unreservation-lock-fix.patch
>
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Closed: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky closed HARMONY-5172.
--------------------------------------

    Resolution: Cannot Reproduce
      Assignee: Gregory Shimansky

Ok it seems this bug is gone.

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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


[jira] Commented: (HARMONY-5172) [drlvm][thread] Failed assertion on realibility test in lock unreservation code

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12553275 ] 

Pavel Rebriy commented on HARMONY-5172:
---------------------------------------

Gregory, could you specify revision on which it starts to fail in such way? 

> [drlvm][thread] Failed assertion on realibility test in lock unreservation code
> -------------------------------------------------------------------------------
>
>                 Key: HARMONY-5172
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5172
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows ia32
>            Reporter: Gregory Shimansky
>
> When running reliability test AddRmPropertiesHooksTest on debug VM I sometimes hit the following assertion on thread_native_thin_monitor.cpp:144 - assert (IS_RESERVED(lockword)). Native stack trace looks like this:
>  	hythr.dll!_assert(const char * expr=0x1004ad58, const char * filename=0x1004ad00, unsigned int lineno=144)  Line 295	C
> >	hythr.dll!unreserve_self_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 144 + 0x1f bytes	C
>  	hythr.dll!hythread_inflate_lock(unsigned int * lockword_ptr=0x120b3c44)  Line 629 + 0x9 bytes	C
>  	harmonyvm.dll!jthread_monitor_timed_wait(_jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 313 + 0x9 bytes	C++
>  	harmonyvm.dll!Java_java_lang_VMThreadManager_wait(JNIEnv_External * env=0x023a8080, _jobject * clazz=0x0013f020, _jobject * monitor=0x0013f024, __int64 millis=0, int nanos=0)  Line 205 + 0x15 bytes	C++
>  	03353334()	
> Java stack trace looks like this:
> The stack trace of the 01339930 java thread:
>   [01339930] 00000000(n): java/lang/VMThreadManager.wait(Ljava/lang/Object;JI)I
>   [01339930] 036D85D5(m): java/lang/Object.wait()V
>   [01339930] 033A737C(m): java/lang/Thread.join()V
> org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.waitForRunningThreads([Ljava/lang/Thread;)V
>   [01339930] 033A63B8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.addRemoveBeingRunningHooks()Z
>   [01339930] 033A5663(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.playWithShutdownHooks()Z
>   [01339930] 033A2AF8(m): org/apache/harmony/test/reliability/api/kernel/hooks/AddRmPropertiesHooksTest.test([Ljava/lang/String;)I
>   [01339930] 033A10F7(m): org/apache/harmony/test/reliability/share/LongRunningTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A06E6(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.test([Ljava/lang/String;)I
>   [01339930] 033A033F(m): org/apache/harmony/test/reliability/share/ReliabilityTestStarter.main([Ljava/lang/String;)V
> To run the test from command line I used the following command line in reliability test suite:
> $ ~/harmony/trunk/working_vm/build/win_ia32_msvc_debug/deploy/jdk/jre/bin/java -cp deploy/classes  org.apache.harmony.test.reliability.share.ReliabilityTestStarter -testClassName org.apache.harmony.test.reliability.api.kernel.hooks.AddRmPropertiesHooksTest 1000 100

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