You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ivan Popov (JIRA)" <ji...@apache.org> on 2007/04/23 08:26:15 UTC
[jira] Created: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
[drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
----------------------------------------------------------------------
Key: HARMONY-3721
URL: https://issues.apache.org/jira/browse/HARMONY-3721
Project: Harmony
Issue Type: Bug
Components: DRLVM
Environment: Linux/x86, harmony-hdk-r531333
Reporter: Ivan Popov
All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
STDERR> SIGSEGV in VM code.
STDERR> Stack trace:
STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
STDERR> 16: 0xB5D52162 <Generated stub>
STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
STDERR> 28: 0xB5D52162 <Generated stub>
<...>
To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
1. create Harmony JDK with federated build:
svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
cd trunk
ant
2. goto jdktools directory, add junit to classpath, and launch test case:
cd working_jdktools
export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
It is possible also to run test directly from command line:
cd working_jdktools
deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov updated HARMONY-3721:
------------------------------------
Attachment: cpuid.fix
Please, check this fix
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Attachments: cpuid.fix
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky reassigned HARMONY-3721:
------------------------------------------
Assignee: Gregory Shimansky
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Assigned To: Gregory Shimansky
> Attachments: cpuid.fix, cpuid_2.fix, cpuid_3.diff
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Ivan Popov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490906 ]
Ivan Popov commented on HARMONY-3721:
-------------------------------------
Thanks, Mikhail, Gregory. The test appeared working well in r531438. I'm going to check with other JPDA tests and close this issue.
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Assigned To: Gregory Shimansky
> Attachments: cpuid.fix, cpuid_2.fix, cpuid_3.diff
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov updated HARMONY-3721:
------------------------------------
Attachment: cpuid_3.diff
cpuid_3.diff: contains both previous patches + fixes -fPIC issue with gc4.1
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Attachments: cpuid.fix, cpuid_2.fix, cpuid_3.diff
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Yu-Nan He (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490821 ]
Yu-Nan He commented on HARMONY-3721:
------------------------------------
reg.test also failed with Jitrino crashed on linux/x86.
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov updated HARMONY-3721:
------------------------------------
Attachment: cpuid_2.fix
cpuid_2.diff: contains cpuid.diff fix and the fix for the second problem.
The second problem was: I didn't mark ebx and ecx as clobbered on Linux
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Attachments: cpuid.fix, cpuid_2.fix
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Ivan Popov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490848 ]
Ivan Popov commented on HARMONY-3721:
-------------------------------------
Applying second patch 'cpuid_2.diff' leads to compilation error with GCC 4.1.0 (SLES10):
build.native.cpp:
[cc] 145 total files to be compiled.
[cc] /export/users/ipopov1/svn_harmony_federated/trunk/working_vm/vm/jitrino/src/shared/mkernel.cpp: In static member function 'static bool Jitrino::CPUID::isSSE2Supported()':
[cc] /export/users/ipopov1/svn_harmony_federated/trunk/working_vm/vm/jitrino/src/shared/mkernel.cpp:209: error: PIC register '%ebx' clobbered in 'asm'
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Attachments: cpuid.fix, cpuid_2.fix
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490855 ]
Mikhail Fursov commented on HARMONY-3721:
-----------------------------------------
I testes the fix with gcc3.3 before submitting a patch. I will recheck it and resubmit with gcc4.x asap.
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Attachments: cpuid.fix, cpuid_2.fix
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Ivan Popov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Popov closed HARMONY-3721.
-------------------------------
Verified for harmony-jdk-r531438. Closing this issue.
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Assigned To: Gregory Shimansky
> Attachments: cpuid.fix, cpuid_2.fix, cpuid_3.diff
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky resolved HARMONY-3721.
----------------------------------------
Resolution: Fixed
I've applied cpuid_3 and JVMTI tests work ok on linux now. Applied at 531430. Please check that the bug is fixed.
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Assigned To: Gregory Shimansky
> Attachments: cpuid.fix, cpuid_2.fix, cpuid_3.diff
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490829 ]
Mikhail Fursov commented on HARMONY-3721:
-----------------------------------------
I've just built my updated Linux version and and see the same error.
I'm going to fix it asap.
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Attachments: cpuid.fix
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-3721) [drlvm][jit] JET crashes in deep
recursion if started with JVMTI agent
Posted by "Ivan Popov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-3721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490827 ]
Ivan Popov commented on HARMONY-3721:
-------------------------------------
With this fix test crashes in different place even without JVMTI agent:
[junit] Stack trace:
[junit] 0: ?? (??:-1)
[junit] 1: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:275)
[junit] 2: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
[junit] 3: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
[junit] 4: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
[junit] 5: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
[junit] 6: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
[junit] 7: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
[junit] 8: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
[junit] 9: 0xB5D72162 <Generated stub>
[junit] 10: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
[junit] 11: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
[junit] 12: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
[junit] 13: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
[junit] 14: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
[junit] 15: class_alloc_new_object_and_run_constructor(Class*, Method*, unsigned char*) (.../working_vm/vm/vmcore/src/jit/jit_runtime_support.cpp:2286)
[junit] 16: class_alloc_new_object_and_run_default_constructor(Class*) (.../working_vm/vm/vmcore/src/jit/jit_runtime_support.cpp:2197)
[junit] 17: vm_init1(JavaVM_Internal*, JavaVMInitArgs*) (.../working_vm/vm/vmcore/src/init/vm_init.cpp:742)
[junit] 18: JNI_CreateJavaVM (.../working_vm/vm/vmcore/src/jni/jni.cpp:499)
[junit] 19: invocation (../shared/main.c:635)
[junit] 20: gpProtectedMain (../shared/main.c:360)
[junit] 21: signalProtectedMain (../shared/cmain.c:81)
[junit] 22: hysig_protect (.../working_classlib/modules/portlib/src/main/native/port/unix/hysignal.c:286)
[junit] 23: main (../shared/cmain.c:105)
[junit] 24: __libc_start_main (??:-1)
[junit] 25: _start (??:-1)
[junit] 26: ?? (??:-1)
[junit] <end of stack trace>
> [drlvm][jit] JET crashes in deep recursion if started with JVMTI agent
> ----------------------------------------------------------------------
>
> Key: HARMONY-3721
> URL: https://issues.apache.org/jira/browse/HARMONY-3721
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux/x86, harmony-hdk-r531333
> Reporter: Ivan Popov
> Attachments: cpuid.fix
>
>
> All JDWP tests of jdktools JPDA module failed on Linux/x86 after the recent changes in JET code for SSE2 support (r530955). Tests work fine on Windows/x86 and in -Xint mode on Linux/x86.
> When application is stared with JVMTI agent, JET falls into deep recursion and crashes in random place probably due to stack overflow. This happened after Agent_OnLoad() has been executed but before VMInit callback is invoked. Typical stack trace is the following:
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 0: Jitrino::alloc_arena(Jitrino::Arena*, unsigned int) (.../working_vm/vm/jitrino/src/shared/Arena.cpp:47)
> STDERR> 1: Jitrino::MemoryManager::_alloc_arena(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:123)
> STDERR> 2: Jitrino::MemoryManager::alloc(unsigned int) (.../working_vm/vm/jitrino/src/shared/MemoryManager.cpp:223)
> STDERR> 3: operator new[](unsigned int, Jitrino::MemoryManager&) (.../working_vm/vm/jitrino/src/shared/MemoryManager.h:75)
> STDERR> 4: HashTableImpl (.../working_vm/vm/jitrino/src/shared/HashTable.h:56)
> STDERR> 5: HashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:332)
> STDERR> 6: PtrHashTable (.../working_vm/vm/jitrino/src/shared/HashTable.h:362)
> STDERR> 7: TypeManager (.../working_vm/vm/jitrino/src/shared/Type.cpp:340)
> STDERR> 8: JIT_compile_method_with_params (.../working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:244)
> STDERR> 9: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (.../working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> STDERR> 10: compile_do_compilation_jit(Method*, JIT*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:657)
> STDERR> 11: vm_compile_method (.../working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> STDERR> 12: DrlEMImpl::compileMethod(Method*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:540)
> STDERR> 13: CompileMethod (.../working_vm/vm/em/src/em_intf.cpp:50)
> STDERR> 14: compile_do_compilation (.../working_vm/vm/vmcore/src/jit/compile.cpp:770)
> STDERR> 15: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:790)
> STDERR> 16: 0xB5D52162 <Generated stub>
> STDERR> 17: vm_invoke_native_array_stub (.../working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> STDERR> 18: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> STDERR> 19: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/em/src/DrlEMImpl.cpp:510)
> STDERR> 20: ExecuteMethod (.../working_vm/vm/em/src/em_intf.cpp:44)
> STDERR> 21: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (.../working_vm/vm/vmcore/src/jit/ini.cpp:56)
> STDERR> 22: create_exception(Class*, Method*, jvalue*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:251)
> STDERR> 23: create_exception(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions_impl.cpp:271)
> STDERR> 24: exn_create(Class*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:172)
> STDERR> 25: exn_create(char const*, char const*, _jobject*) (.../working_vm/vm/vmcore/src/exception/exceptions.cpp:210)
> STDERR> 26: compile_raise_exception (.../working_vm/vm/vmcore/src/jit/compile.cpp:722)
> STDERR> 27: compile_me(Method*) (.../working_vm/vm/vmcore/src/jit/compile.cpp:796)
> STDERR> 28: 0xB5D52162 <Generated stub>
> <...>
> To reproduce this bug run any JDWP test, for example org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest:
> 1. create Harmony JDK with federated build:
> svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
> cd trunk
> ant
> 2. goto jdktools directory, add junit to classpath, and launch test case:
> cd working_jdktools
> export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
> ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
> cd working_jdktools
> deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
> org.apache.harmony.jpda.tests.jdwp.VirtualMachine.VersionTest
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.