You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vera Petrashkova (JIRA)" <ji...@apache.org> on 2007/07/05 11:56:05 UTC
[jira] Created: (HARMONY-4351) [buildtest][vts] Test
vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
is incorrect
[buildtest][vts] Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect
-------------------------------------------------------------------------------------------------------------------------
Key: HARMONY-4351
URL: https://issues.apache.org/jira/browse/HARMONY-4351
Project: Harmony
Issue Type: Bug
Components: build - test - ci
Reporter: Vera Petrashkova
According to J2SE JVMTI specification method
GetOwnedMonitorInfo (jvmtiEnv* env,
jthread thread,
jint* owned_monitor_count_ptr,
jobject** owned_monitors_ptr)
returns information about the monitors owned by the specified thread.
It saves the number of monitors to owned_monitor_count_ptr.
The following VTS test
vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
creates thread "Owner".
This "Owner" thread
- acquires 7 monitors on sync0 - sync6 objects;
- starts new thread "agent"
The method Thread.start in DRLVM is synchronized, so the thread also acquires the monitor on object which corresponds
to the "agent" thread.
As the result GetOwnedMonitorInfo returns information about 8 monitors for "Owner" thread.
But this test passes only when returned "owned_monitor_count_ptr" equals 7.
See source code:
----------- GetOwnedMonitorInfo0101.cpp------------------
void JNICALL callbackThreadStart(prms_THRD_START)
{
...
result = jvmti_env->GetAllThreads(&tcount, &threads);
fprintf(stderr, "\tnative: GetAllThreads result = %d (must be zero) \n", result);
if (result != JVMTI_ERROR_NONE) return;
for ( int i = 0; i < tcount; i++ )
{
result = jvmti_env->GetThreadInfo(threads[i], &tinfo);
fprintf(stderr, "\tnative: GetThreadInfo result = %d (must be zero) \n", result);
fprintf(stderr, "\tnative: current thread name is %s (must be zero) \n", tinfo.name);
if (result != JVMTI_ERROR_NONE) continue;
if (strcmp(tinfo.name, "Owner")) continue;
my_thread = threads[i];
fprintf(stderr, "\tnative: tested thread was found = %p\n", my_thread);
break;
}
util = true;
result = jvmti_env->GetOwnedMonitorInfo(my_thread,
&owned_monitor_count, &owned_monitors);
fprintf(stderr, "\tnative: GetOwnedMonitorInfo result = %d (must be zero) \n", result);
flag = true;
fprintf(stderr, "\n\tnative: number of waited threads is %d (must be 7)\n",
owned_monitor_count );
if ((result == JVMTI_ERROR_NONE) && (owned_monitor_count == 7)) { <<<<<<<<<
test = true; <<<<<<<<<<<<<<<<<<
return;
}
}
void JNICALL callbackVMDeath(prms_VMDEATH)
{
check_VMDEATH;
fprintf(stderr, "\n\tTest of function GetOwnedMonitorInfo0101 : ");
if (test && util) <<<<<<<<<<<<<<<<
fprintf(stderr, " passed \n");
else
fprintf(stderr, " failed \n");
fprintf(stderr, "\n} /* test GetOwnedMonitorInfo0101 is finished */ \n");
fflush(stderr);
}
--------------------------
This test fails on DRLVM and on BEA JRockit.
Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect and should be fixed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-4351) [buildtest][vts] Test
vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
is incorrect
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky reassigned HARMONY-4351:
------------------------------------------
Assignee: Gregory Shimansky
> [buildtest][vts] Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4351
> URL: https://issues.apache.org/jira/browse/HARMONY-4351
> Project: Harmony
> Issue Type: Bug
> Components: build - test - ci
> Reporter: Vera Petrashkova
> Assignee: Gregory Shimansky
> Attachments: H4351-Fix.patch
>
>
> According to J2SE JVMTI specification method
> GetOwnedMonitorInfo (jvmtiEnv* env,
> jthread thread,
> jint* owned_monitor_count_ptr,
> jobject** owned_monitors_ptr)
> returns information about the monitors owned by the specified thread.
> It saves the number of monitors to owned_monitor_count_ptr.
> The following VTS test
> vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
> creates thread "Owner".
> This "Owner" thread
> - acquires 7 monitors on sync0 - sync6 objects;
> - starts new thread "agent"
> The method Thread.start in DRLVM is synchronized, so the thread also acquires the monitor on object which corresponds
> to the "agent" thread.
> As the result GetOwnedMonitorInfo returns information about 8 monitors for "Owner" thread.
> But this test passes only when returned "owned_monitor_count_ptr" equals 7.
> See source code:
> ----------- GetOwnedMonitorInfo0101.cpp------------------
> void JNICALL callbackThreadStart(prms_THRD_START)
> {
> ...
> result = jvmti_env->GetAllThreads(&tcount, &threads);
> fprintf(stderr, "\tnative: GetAllThreads result = %d (must be zero) \n", result);
> if (result != JVMTI_ERROR_NONE) return;
> for ( int i = 0; i < tcount; i++ )
> {
> result = jvmti_env->GetThreadInfo(threads[i], &tinfo);
> fprintf(stderr, "\tnative: GetThreadInfo result = %d (must be zero) \n", result);
> fprintf(stderr, "\tnative: current thread name is %s (must be zero) \n", tinfo.name);
> if (result != JVMTI_ERROR_NONE) continue;
> if (strcmp(tinfo.name, "Owner")) continue;
> my_thread = threads[i];
> fprintf(stderr, "\tnative: tested thread was found = %p\n", my_thread);
> break;
> }
> util = true;
> result = jvmti_env->GetOwnedMonitorInfo(my_thread,
> &owned_monitor_count, &owned_monitors);
> fprintf(stderr, "\tnative: GetOwnedMonitorInfo result = %d (must be zero) \n", result);
> flag = true;
> fprintf(stderr, "\n\tnative: number of waited threads is %d (must be 7)\n",
> owned_monitor_count );
> if ((result == JVMTI_ERROR_NONE) && (owned_monitor_count == 7)) { <<<<<<<<<
> test = true; <<<<<<<<<<<<<<<<<<
> return;
> }
> }
> void JNICALL callbackVMDeath(prms_VMDEATH)
> {
> check_VMDEATH;
> fprintf(stderr, "\n\tTest of function GetOwnedMonitorInfo0101 : ");
> if (test && util) <<<<<<<<<<<<<<<<
> fprintf(stderr, " passed \n");
> else
> fprintf(stderr, " failed \n");
> fprintf(stderr, "\n} /* test GetOwnedMonitorInfo0101 is finished */ \n");
> fflush(stderr);
> }
> --------------------------
> This test fails on DRLVM and on BEA JRockit.
> Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect and should be fixed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HARMONY-4351) [buildtest][vts] Test
vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
is incorrect
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky resolved HARMONY-4351.
----------------------------------------
Resolution: Fixed
Patch is applied at 576467. Please check that the bug is fixed for you.
> [buildtest][vts] Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4351
> URL: https://issues.apache.org/jira/browse/HARMONY-4351
> Project: Harmony
> Issue Type: Bug
> Components: build - test - ci
> Reporter: Vera Petrashkova
> Assignee: Gregory Shimansky
> Attachments: H4351-Fix.patch
>
>
> According to J2SE JVMTI specification method
> GetOwnedMonitorInfo (jvmtiEnv* env,
> jthread thread,
> jint* owned_monitor_count_ptr,
> jobject** owned_monitors_ptr)
> returns information about the monitors owned by the specified thread.
> It saves the number of monitors to owned_monitor_count_ptr.
> The following VTS test
> vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
> creates thread "Owner".
> This "Owner" thread
> - acquires 7 monitors on sync0 - sync6 objects;
> - starts new thread "agent"
> The method Thread.start in DRLVM is synchronized, so the thread also acquires the monitor on object which corresponds
> to the "agent" thread.
> As the result GetOwnedMonitorInfo returns information about 8 monitors for "Owner" thread.
> But this test passes only when returned "owned_monitor_count_ptr" equals 7.
> See source code:
> ----------- GetOwnedMonitorInfo0101.cpp------------------
> void JNICALL callbackThreadStart(prms_THRD_START)
> {
> ...
> result = jvmti_env->GetAllThreads(&tcount, &threads);
> fprintf(stderr, "\tnative: GetAllThreads result = %d (must be zero) \n", result);
> if (result != JVMTI_ERROR_NONE) return;
> for ( int i = 0; i < tcount; i++ )
> {
> result = jvmti_env->GetThreadInfo(threads[i], &tinfo);
> fprintf(stderr, "\tnative: GetThreadInfo result = %d (must be zero) \n", result);
> fprintf(stderr, "\tnative: current thread name is %s (must be zero) \n", tinfo.name);
> if (result != JVMTI_ERROR_NONE) continue;
> if (strcmp(tinfo.name, "Owner")) continue;
> my_thread = threads[i];
> fprintf(stderr, "\tnative: tested thread was found = %p\n", my_thread);
> break;
> }
> util = true;
> result = jvmti_env->GetOwnedMonitorInfo(my_thread,
> &owned_monitor_count, &owned_monitors);
> fprintf(stderr, "\tnative: GetOwnedMonitorInfo result = %d (must be zero) \n", result);
> flag = true;
> fprintf(stderr, "\n\tnative: number of waited threads is %d (must be 7)\n",
> owned_monitor_count );
> if ((result == JVMTI_ERROR_NONE) && (owned_monitor_count == 7)) { <<<<<<<<<
> test = true; <<<<<<<<<<<<<<<<<<
> return;
> }
> }
> void JNICALL callbackVMDeath(prms_VMDEATH)
> {
> check_VMDEATH;
> fprintf(stderr, "\n\tTest of function GetOwnedMonitorInfo0101 : ");
> if (test && util) <<<<<<<<<<<<<<<<
> fprintf(stderr, " passed \n");
> else
> fprintf(stderr, " failed \n");
> fprintf(stderr, "\n} /* test GetOwnedMonitorInfo0101 is finished */ \n");
> fflush(stderr);
> }
> --------------------------
> This test fails on DRLVM and on BEA JRockit.
> Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect and should be fixed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4351) [buildtest][vts] Test
vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
is incorrect
Posted by "Eugene S. Ostrovsky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eugene S. Ostrovsky updated HARMONY-4351:
-----------------------------------------
Attachment: H4351-Fix.patch
Attached file:
H4351-Fix.patch
Test rewritten. Passes on SUN.
Still fails on DRLVM, because DRLVM reports owned monitors in the opposite order relative to SUN.
> [buildtest][vts] Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4351
> URL: https://issues.apache.org/jira/browse/HARMONY-4351
> Project: Harmony
> Issue Type: Bug
> Components: build - test - ci
> Reporter: Vera Petrashkova
> Attachments: H4351-Fix.patch
>
>
> According to J2SE JVMTI specification method
> GetOwnedMonitorInfo (jvmtiEnv* env,
> jthread thread,
> jint* owned_monitor_count_ptr,
> jobject** owned_monitors_ptr)
> returns information about the monitors owned by the specified thread.
> It saves the number of monitors to owned_monitor_count_ptr.
> The following VTS test
> vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
> creates thread "Owner".
> This "Owner" thread
> - acquires 7 monitors on sync0 - sync6 objects;
> - starts new thread "agent"
> The method Thread.start in DRLVM is synchronized, so the thread also acquires the monitor on object which corresponds
> to the "agent" thread.
> As the result GetOwnedMonitorInfo returns information about 8 monitors for "Owner" thread.
> But this test passes only when returned "owned_monitor_count_ptr" equals 7.
> See source code:
> ----------- GetOwnedMonitorInfo0101.cpp------------------
> void JNICALL callbackThreadStart(prms_THRD_START)
> {
> ...
> result = jvmti_env->GetAllThreads(&tcount, &threads);
> fprintf(stderr, "\tnative: GetAllThreads result = %d (must be zero) \n", result);
> if (result != JVMTI_ERROR_NONE) return;
> for ( int i = 0; i < tcount; i++ )
> {
> result = jvmti_env->GetThreadInfo(threads[i], &tinfo);
> fprintf(stderr, "\tnative: GetThreadInfo result = %d (must be zero) \n", result);
> fprintf(stderr, "\tnative: current thread name is %s (must be zero) \n", tinfo.name);
> if (result != JVMTI_ERROR_NONE) continue;
> if (strcmp(tinfo.name, "Owner")) continue;
> my_thread = threads[i];
> fprintf(stderr, "\tnative: tested thread was found = %p\n", my_thread);
> break;
> }
> util = true;
> result = jvmti_env->GetOwnedMonitorInfo(my_thread,
> &owned_monitor_count, &owned_monitors);
> fprintf(stderr, "\tnative: GetOwnedMonitorInfo result = %d (must be zero) \n", result);
> flag = true;
> fprintf(stderr, "\n\tnative: number of waited threads is %d (must be 7)\n",
> owned_monitor_count );
> if ((result == JVMTI_ERROR_NONE) && (owned_monitor_count == 7)) { <<<<<<<<<
> test = true; <<<<<<<<<<<<<<<<<<
> return;
> }
> }
> void JNICALL callbackVMDeath(prms_VMDEATH)
> {
> check_VMDEATH;
> fprintf(stderr, "\n\tTest of function GetOwnedMonitorInfo0101 : ");
> if (test && util) <<<<<<<<<<<<<<<<
> fprintf(stderr, " passed \n");
> else
> fprintf(stderr, " failed \n");
> fprintf(stderr, "\n} /* test GetOwnedMonitorInfo0101 is finished */ \n");
> fflush(stderr);
> }
> --------------------------
> This test fails on DRLVM and on BEA JRockit.
> Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect and should be fixed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (HARMONY-4351) [buildtest][vts] Test
vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
is incorrect
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky closed HARMONY-4351.
--------------------------------------
No response, assuming ok.
> [buildtest][vts] Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-4351
> URL: https://issues.apache.org/jira/browse/HARMONY-4351
> Project: Harmony
> Issue Type: Bug
> Components: build - test - ci
> Reporter: Vera Petrashkova
> Assignee: Gregory Shimansky
> Attachments: H4351-Fix.patch
>
>
> According to J2SE JVMTI specification method
> GetOwnedMonitorInfo (jvmtiEnv* env,
> jthread thread,
> jint* owned_monitor_count_ptr,
> jobject** owned_monitors_ptr)
> returns information about the monitors owned by the specified thread.
> It saves the number of monitors to owned_monitor_count_ptr.
> The following VTS test
> vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml
> creates thread "Owner".
> This "Owner" thread
> - acquires 7 monitors on sync0 - sync6 objects;
> - starts new thread "agent"
> The method Thread.start in DRLVM is synchronized, so the thread also acquires the monitor on object which corresponds
> to the "agent" thread.
> As the result GetOwnedMonitorInfo returns information about 8 monitors for "Owner" thread.
> But this test passes only when returned "owned_monitor_count_ptr" equals 7.
> See source code:
> ----------- GetOwnedMonitorInfo0101.cpp------------------
> void JNICALL callbackThreadStart(prms_THRD_START)
> {
> ...
> result = jvmti_env->GetAllThreads(&tcount, &threads);
> fprintf(stderr, "\tnative: GetAllThreads result = %d (must be zero) \n", result);
> if (result != JVMTI_ERROR_NONE) return;
> for ( int i = 0; i < tcount; i++ )
> {
> result = jvmti_env->GetThreadInfo(threads[i], &tinfo);
> fprintf(stderr, "\tnative: GetThreadInfo result = %d (must be zero) \n", result);
> fprintf(stderr, "\tnative: current thread name is %s (must be zero) \n", tinfo.name);
> if (result != JVMTI_ERROR_NONE) continue;
> if (strcmp(tinfo.name, "Owner")) continue;
> my_thread = threads[i];
> fprintf(stderr, "\tnative: tested thread was found = %p\n", my_thread);
> break;
> }
> util = true;
> result = jvmti_env->GetOwnedMonitorInfo(my_thread,
> &owned_monitor_count, &owned_monitors);
> fprintf(stderr, "\tnative: GetOwnedMonitorInfo result = %d (must be zero) \n", result);
> flag = true;
> fprintf(stderr, "\n\tnative: number of waited threads is %d (must be 7)\n",
> owned_monitor_count );
> if ((result == JVMTI_ERROR_NONE) && (owned_monitor_count == 7)) { <<<<<<<<<
> test = true; <<<<<<<<<<<<<<<<<<
> return;
> }
> }
> void JNICALL callbackVMDeath(prms_VMDEATH)
> {
> check_VMDEATH;
> fprintf(stderr, "\n\tTest of function GetOwnedMonitorInfo0101 : ");
> if (test && util) <<<<<<<<<<<<<<<<
> fprintf(stderr, " passed \n");
> else
> fprintf(stderr, " failed \n");
> fprintf(stderr, "\n} /* test GetOwnedMonitorInfo0101 is finished */ \n");
> fflush(stderr);
> }
> --------------------------
> This test fails on DRLVM and on BEA JRockit.
> Test vm/jvmti/funcs/GetOwnedMonitorInfo/GetOwnedMonitorInfo0101/GetOwnedMonitorInfo0101.xml is incorrect and should be fixed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.