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] Commented: (HARMONY-2010) [drlvm] Infinite recursion in vectored exception handler in debug VM in hardware exception with direction flag set
Date Tue, 07 Nov 2006 18:02:52 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-2010?page=comments#action_12447872 ] 
            
Gregory Shimansky commented on HARMONY-2010:
--------------------------------------------

With this patch a kernel test java.lang.RuntimeTest2 now fails with the following message
on WinXP:

     [echo] RUNNING : java.lang.RuntimeTest2
    [junit] Uncaught exception in Thread-shutdown:
    [junit] java.lang.InternalError: Thread Manager internal error 720006
    [junit]     at java.lang.Object.notifyAll(Unknown Source)
    [junit]     at java.lang.FinalizerThread.wakeupFinalization(Unknown Source)
    [junit]     at java.lang.FinalizerThread.startFinalization(Unknown Source)
    [junit]     at java.lang.FinalizerThread.doFinalizationOnExit(Unknown Source)
    [junit]     at java.lang.FinalizerThread.shutdown(Unknown Source)
    [junit]     at java.lang.VMStart$DefaultShutDownHook.run(Unknown Source)

Without this patch this test passes.

> [drlvm] Infinite recursion in vectored exception handler in debug VM in hardware exception
with direction flag set
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2010
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2010
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: ia32, msvc 2003, debug
>            Reporter: Pavel Pervov
>         Assigned To: Gregory Shimansky
>         Attachments: exception_wrapper.patch, memcpy.zip
>
>
> When hardware exception (like access violation) occurs in code where direction flag is
set (after 'std' instruction), exception handler will fall into infinite recursion eventually
finishing VM without any output.
> The example of such code is implementation of memcpy in Microsoft Visual C++:
> -excerpt begin-
>     std
>     rep movsd
>     cld
> -excerpt end-
> Possible solution would be to wrap exception handler into a code which will save flags,
clear direction flag, and then execute the handler.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message