You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ivan Volosyuk (JIRA)" <ji...@apache.org> on 2006/12/27 14:00:21 UTC

[jira] Created: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

[drlvm][em64t] VM doesn't support native methods with big number of arguments
-----------------------------------------------------------------------------

                 Key: HARMONY-2899
                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Linux/em64t
            Reporter: Ivan Volosyuk
         Attachments: test.zip

VM crashes with following diagnostic message:

java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.


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

        

[jira] Commented: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2899?page=comments#action_12461361 ] 
            
Gregory Shimansky commented on HARMONY-2899:
--------------------------------------------

I'm attaching a test which calls a native method with maximum possible number of arguments. Also all argument types are references which makes native stub even longer. On ia32 this creates a stub of more than 14k bytes. On x86_64 it doesn't work of course.

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Assigned To: Alexey Varlamov
>         Attachments: ManyArgs.zip, spec_workaround.diff, test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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

        

[jira] Commented: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

Posted by "Ivan Volosyuk (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2899?page=comments#action_12460994 ] 
            
Ivan Volosyuk commented on HARMONY-2899:
----------------------------------------

DRLVM use fixed size buffer for each JNI stubs. The size is equal to MAX_CODE_LENGTH.
When number of arguments is large enough the buffer overflows.

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Attachments: test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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

        

[jira] Assigned: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2899?page=all ]

Alexey Varlamov reassigned HARMONY-2899:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Assigned To: Alexey Varlamov
>         Attachments: spec_workaround.diff, test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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

        

[jira] Commented: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2899?page=comments#action_12461318 ] 
            
Alexey Varlamov commented on HARMONY-2899:
------------------------------------------

Applied workaround at r490931.
I presume this issue worths more solid solution thus not resolving now. And please, do not forget a test in regression suite format. Thanks!

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Assigned To: Alexey Varlamov
>         Attachments: spec_workaround.diff, test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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

        

[jira] Resolved: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

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

Alexey Varlamov resolved HARMONY-2899.
--------------------------------------

    Resolution: Fixed

I believe this issue is fixed along with HARMONY-3129, resolving FIXED.
The ManyArgs test is added to regression suite at r504535.

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Assigned To: Alexey Varlamov
>         Attachments: ManyArgs.zip, spec_workaround.diff, test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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


[jira] Commented: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

Posted by "Ivan Volosyuk (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2899?page=comments#action_12461001 ] 
            
Ivan Volosyuk commented on HARMONY-2899:
----------------------------------------

Stub size calculation is missing in DRLVM's lil generator for EM64T arch.

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Attachments: test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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

        

[jira] Updated: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

Posted by "Ivan Volosyuk (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2899?page=all ]

Ivan Volosyuk updated HARMONY-2899:
-----------------------------------

    Attachment: spec_workaround.diff

Workaround for SpecJBB to finish correctly on em64t.

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Attachments: spec_workaround.diff, test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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

        

[jira] Updated: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

Posted by "Ivan Volosyuk (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2899?page=all ]

Ivan Volosyuk updated HARMONY-2899:
-----------------------------------

    Attachment: test.zip

Test attached.

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Attachments: test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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

        

[jira] Updated: (HARMONY-2899) [drlvm][em64t] VM doesn't support native methods with big number of arguments

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2899?page=all ]

Gregory Shimansky updated HARMONY-2899:
---------------------------------------

    Attachment: ManyArgs.zip

The test with maximum number of arguments.

> [drlvm][em64t] VM doesn't support native methods with big number of arguments
> -----------------------------------------------------------------------------
>
>                 Key: HARMONY-2899
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2899
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux/em64t
>            Reporter: Ivan Volosyuk
>         Assigned To: Alexey Varlamov
>         Attachments: ManyArgs.zip, spec_workaround.diff, test.zip
>
>
> VM crashes with following diagnostic message:
> java: /nfs/ims/proj/drl/mrt1/users/ivanrt/harmony/drlvm/trunk/vm/port/src/lil/em64t/pim/lil_code_generator_em64t.cpp:1045: size_t LcgEM64TCodeGen::get_size() const: Assertion `(unsigned)(buf - buf_beg) < MAX_CODE_LENGTH' failed.

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