harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5622) [drlvm][kernel][geronimo] Method.getGeneric*() methods throw NPE for parametrized interface methods
Date Mon, 24 Mar 2008 05:41:24 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581480#action_12581480
] 

Alexey Varlamov commented on HARMONY-5622:
------------------------------------------

Well, as long as the patch passes kernel tests it 's OK to commit.

> [drlvm][kernel][geronimo] Method.getGeneric*() methods throw NPE for parametrized interface
methods
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5622
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5622
>             Project: Harmony
>          Issue Type: Bug
>          Components: App-Oriented Bug Reports, DRLVM
>    Affects Versions: 5.0M5
>            Reporter: Vasily Zakharov
>            Assignee: Vasily Zakharov
>            Priority: Critical
>         Attachments: Harmony-5622.patch, Harmony-5622.patch
>
>
> Class Method methods getGenericParameterTypes(), getGenericReturnType() and toGenericString()
throw NPE if called for a parametrized method in an interface.
> Here's the test demonstrating the problem:
> import java.lang.reflect.Method;
> public class Test {
>     public static void main(String[] args) {
>         boolean success = true;
>         try {
>             Method method = Sample.class.getMethods()[0];
>             for (int i = 0; i < 5; i++) {
>                 try {
>                     switch (i) {
>                     case 0: method.getGenericParameterTypes();
>                             break;
>                     case 1: method.getGenericReturnType();
>                             break;
>                     case 2: method.getGenericExceptionTypes();
>                             break;
>                     case 3: method.getTypeParameters();
>                             break;
>                     case 4: method.toGenericString();
>                             break;
>                     }
>                 } catch (Exception e) {
>                     success = false;
>                     System.out.print("FAIL: ");
>                     e.printStackTrace(System.out);
>                 }
>             }
>             System.out.println(success ? "SUCCESS" : "FAILURE");
>         } catch (Exception e) {
>             System.out.print("ERROR: ");
>             e.printStackTrace(System.out);
>         }
>     }
> }
> interface Sample {
>     public <T extends Sample, E extends Throwable> T test(T param) throws E;
> }
> Output on RI:
> SUCCESS
> Output on Harmony:
> FAIL: java.lang.NullPointerException
>         at org.apache.harmony.lang.reflect.support.AuxiliaryFinder.findTypeVariable(AuxiliaryFinder.java:293)
>         at org.apache.harmony.lang.reflect.parser.Parser.getGenericParameterTypes(Parser.java:742)
>         at java.lang.reflect.Method.getGenericParameterTypes(Method.java:110)
>         at Test.main(Test.java:10)
> FAIL: java.lang.NullPointerException
>         at org.apache.harmony.lang.reflect.support.AuxiliaryFinder.findTypeVariable(AuxiliaryFinder.java:293)
>         at org.apache.harmony.lang.reflect.parser.Parser.getGenericReturnTypeImpl(Parser.java:447)
>         at java.lang.reflect.Method.getGenericReturnType(Method.java:126)
>         at Test.main(Test.java:12)
> FAIL: java.lang.NullPointerException
>         at org.apache.harmony.lang.reflect.support.AuxiliaryFinder.findTypeVariable(AuxiliaryFinder.java:293)
>         at org.apache.harmony.lang.reflect.parser.Parser.getGenericParameterTypes(Parser.java:742)
>         at java.lang.reflect.Method.toGenericString(Method.java:150)
>         at Test.main(Test.java:18)
> FAILURE
> This issue is critical as it prevents Geronimo Deployer from working on Harmony.

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