You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2006/06/22 13:22:30 UTC

[jira] Updated: (HARMONY-643) [drlvm] JVMTI GetAllStackTraces and GetThreadListStackTraces corrupt memory in stack info buffer

     [ http://issues.apache.org/jira/browse/HARMONY-643?page=all ]

Gregory Shimansky updated HARMONY-643:
--------------------------------------

    Attachment: get_all_stack_traces_test.tar.bz2

Archive with test sources

> [drlvm] JVMTI GetAllStackTraces and GetThreadListStackTraces corrupt memory in stack info buffer
> ------------------------------------------------------------------------------------------------
>
>          Key: HARMONY-643
>          URL: http://issues.apache.org/jira/browse/HARMONY-643
>      Project: Harmony
>         Type: Bug

>   Components: VM
>     Reporter: Gregory Shimansky
>     Priority: Minor
>  Attachments: get_all_stack_traces_test.tar.bz2
>
> I've found a bug that GetAllStackTraces and GetThreadListStackTraces functions allocate jvmtiFrameInfo buffers inside of stack info buffer in the way that filling in stack traces in these buffers overwrite the contents of jvmtiStackInfo structured.
> Filling in stack trace for the 1st thread corrupts info about 2nd. Then when the function tries to suspend 2nd thread it cannot beacuse pointer to thread object is invalid. So function which fills in stack trace for a single thread (GetStackTrace) returns an error code which is ignored. Stack traces therefore is not correct.
> Test checks that thread objects returned by GetAllStackTraces are valid (GetThreadInfo can be performed on them). To build the test java 1.5 SDK is required. Compile all 3 source files and create GAST.dll (libGAST.so on Linux, to compile on Linux also specify -DLINUX for compilation) and compile java source (with target 1.4). To run the test use the following command line: <path to drl vm>/bin/ij -agentlib:GAST GAST

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