harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgueni Brevnov (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-5063) [drlvm][jit][encoder] Assertion in encoder.
Date Tue, 20 Nov 2007 11:32:43 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-5063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Evgueni Brevnov updated HARMONY-5063:
-------------------------------------

    Attachment: H5063.patch

It's a little bit strange (since VM part is not committed yet) but with attached patch PopFrame1
test passed on Linux x86-64. I got expected result on Windows x86-64: 
Assertion failed: 0, file E:\users\ebrevnov\working_drlvm\trunk\vm\vmcore\src\jvmti\jvmti_pop_frame.cp,
line 152

Thanks
Evgueni

> [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
>         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.


Mime
View raw message