You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alex Astapchuk (JIRA)" <ji...@apache.org> on 2007/02/07 07:54:05 UTC

[jira] Created: (HARMONY-3129) [drlvm][intel64][lil]race condition and buffer overruns in LIL codegen

[drlvm][intel64][lil]race condition and buffer overruns in LIL codegen
----------------------------------------------------------------------

                 Key: HARMONY-3129
                 URL: https://issues.apache.org/jira/browse/HARMONY-3129
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Alex Astapchuk
         Attachments: 0001-drlvm-intel64-lil-race-condition-and-buffer-overruns-in-LIL-codegen.txt

There were 2 problems in LIL codegen for Intel64:

1. A code for temporary register usage had a static variable shared across all threads.
This lead to a race condition during compilations, and might lead to crash or unpredictable behavior.

Now, the code uses per-compilation variables.

2. A fixed size for temporary buffer was used which sometimes lead to buffer overruns for huge stubs (e.g. for JNI stub with a really huge number of args).
Now, the buffer size is estimated basing on the stub size.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-3129) [drlvm][intel64][lil]race condition and buffer overruns in LIL codegen

Posted by "Alex Astapchuk (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Astapchuk updated HARMONY-3129:
------------------------------------

    Attachment: 0001-drlvm-intel64-lil-race-condition-and-buffer-overruns-in-LIL-codegen.txt

> [drlvm][intel64][lil]race condition and buffer overruns in LIL codegen
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-3129
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3129
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Attachments: 0001-drlvm-intel64-lil-race-condition-and-buffer-overruns-in-LIL-codegen.txt
>
>
> There were 2 problems in LIL codegen for Intel64:
> 1. A code for temporary register usage had a static variable shared across all threads.
> This lead to a race condition during compilations, and might lead to crash or unpredictable behavior.
> Now, the code uses per-compilation variables.
> 2. A fixed size for temporary buffer was used which sometimes lead to buffer overruns for huge stubs (e.g. for JNI stub with a really huge number of args).
> Now, the buffer size is estimated basing on the stub size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HARMONY-3129) [drlvm][intel64][lil]race condition and buffer overruns in LIL codegen

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov resolved HARMONY-3129.
--------------------------------------

    Resolution: Fixed

Applied at r504526, thanks!

> [drlvm][intel64][lil]race condition and buffer overruns in LIL codegen
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-3129
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3129
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: Alexey Varlamov
>         Attachments: 0001-drlvm-intel64-lil-race-condition-and-buffer-overruns-in-LIL-codegen.txt
>
>
> There were 2 problems in LIL codegen for Intel64:
> 1. A code for temporary register usage had a static variable shared across all threads.
> This lead to a race condition during compilations, and might lead to crash or unpredictable behavior.
> Now, the code uses per-compilation variables.
> 2. A fixed size for temporary buffer was used which sometimes lead to buffer overruns for huge stubs (e.g. for JNI stub with a really huge number of args).
> Now, the buffer size is estimated basing on the stub size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HARMONY-3129) [drlvm][intel64][lil]race condition and buffer overruns in LIL codegen

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov reassigned HARMONY-3129:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm][intel64][lil]race condition and buffer overruns in LIL codegen
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-3129
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3129
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Alex Astapchuk
>         Assigned To: Alexey Varlamov
>         Attachments: 0001-drlvm-intel64-lil-race-condition-and-buffer-overruns-in-LIL-codegen.txt
>
>
> There were 2 problems in LIL codegen for Intel64:
> 1. A code for temporary register usage had a static variable shared across all threads.
> This lead to a race condition during compilations, and might lead to crash or unpredictable behavior.
> Now, the code uses per-compilation variables.
> 2. A fixed size for temporary buffer was used which sometimes lead to buffer overruns for huge stubs (e.g. for JNI stub with a really huge number of args).
> Now, the buffer size is estimated basing on the stub size.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.