You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Afremov (JIRA)" <ji...@apache.org> on 2007/12/28 14:25:43 UTC
[jira] Closed: (HARMONY-5063) [drlvm][jit][encoder] Assertion in
encoder.
[ https://issues.apache.org/jira/browse/HARMONY-5063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Afremov closed HARMONY-5063.
----------------------------------
> [drlvm][jit][encoder] Assertion in encoder.
> -------------------------------------------
>
> Key: HARMONY-5063
> URL: https://issues.apache.org/jira/browse/HARMONY-5063
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux x86-64
> Reporter: Pavel Afremov
> Assignee: Alexey Varlamov
> Attachments: H5063.patch
>
>
> Turning on capability flag can_pop_frame on linux x86-64 leads to strange intermittent asserts in code emitter which is called from JET.
> No JVM TI functions called in this case, They have assert(0) in begin. Looks like, that in TI mode can_pop_frame capability requires additional support from the JET and during compilation of this supporting code assertion is happened.
> Changes:
> Index: vm/vmcore/src/jvmti/jvmti_capability.cpp
> ===================================================================
> --- vm/vmcore/src/jvmti/jvmti_capability.cpp (revision 589494)
> +++ vm/vmcore/src/jvmti/jvmti_capability.cpp (working copy)
> @@ -79,7 +79,7 @@
> 1, // can_get_owned_monitor_info
> 1, // can_get_current_contended_monitor
> 1, // can_get_monitor_info
> - 0, // can_pop_frame
> + 1, // can_pop_frame
> 0, // can_redefine_classes
> 1, // can_signal_thread
> 1, // can_get_source_file_name
> Output:
> /nfs/ims/proj/drl/mrt2/users/pnafremo/work/H64/drlvm/vm/port/src/encoder/ia32_em64t/enc_base.cpp:742: static const EncoderBase::OpcodeDesc* EncoderBase::lookup(Mnemonic, const EncoderBase::Operands&): Assertion `found' failed.
> SIGABRT in VM code.
> To reproduce assertion run DRLVM with TI agent. I used following sequence of action:
> 1. Ran smoke tests using command : buils.sh smoke.test,
> 2. Ran jvmti tests using command : buils.sh jvmti.test,
> 3. Ran Hi smoke test without TI agent
> $ ./build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -cp ./build/lnx_em64t_gcc_debug/tests/smoke.tests/classes/ Hi
> 4. Ran Hi smoke test with TI agent
> $ ./build/lnx_em64t_gcc_debug/deploy/jdk/jre/bin/java -cp ./build/lnx_em64t_gcc_debug/tests/smoke.tests/classes/ -agentpath:./build/lnx_em64t_gcc_debug/tests/jvmti.tests/native/PopFrame1/libPopFrame1.so Hi
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.