harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gregory Shimansky (JIRA)" <j...@apache.org>
Subject [jira] Closed: (HARMONY-5329) [drlvm][exception] With JVMTI enabled ExceptionCatch event makes VM to crash in release mode
Date Wed, 19 Dec 2007 18:01:00 GMT

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

Gregory Shimansky closed HARMONY-5329.
--------------------------------------

    Resolution: Fixed

Bug is fixed at 605636. Patch adds additional space in the stack to allow callback function
exception_catch_callback to operate in the stack. This way return address from the stub to
C code shouldn't be overwritten by the function prologue. Three tests in the bug description
passed for me in release and debug modes. I'm going to see if they pass in CC now.

> [drlvm][exception] With JVMTI enabled ExceptionCatch event makes VM to crash in release
mode
> --------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5329
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5329
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: winx64
>            Reporter: Gregory Shimansky
>            Assignee: Gregory Shimansky
>
> Three tests from jdktools that call a method which throws an exception crash in release
mode:
> org.apache.harmony.jpda.tests.jdwp.ClassType.InvokeMethodTest
> org.apache.harmony.jpda.tests.jdwp.ClassType.NewInstanceTest
> org.apache.harmony.jpda.tests.jdwp.ObjectReference.InvokeMethodTest
> The crash happens when transferring control from the method with exception to invoke_managed_func
stub. Return address from the stub back to C code is overwritten with garbage. This happens
because no memory is allocated for exception_catch_callback function to operate in the stack.
All register context is restored for this function, including RSP, on its prologue this function
dumps some registers into stack space called shadow memory, and in this way overwrites return
address in the stack.

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