Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 25897 invoked from network); 21 Mar 2008 09:01:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Mar 2008 09:01:21 -0000 Received: (qmail 51392 invoked by uid 500); 21 Mar 2008 09:01:19 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 51375 invoked by uid 500); 21 Mar 2008 09:01:19 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 51364 invoked by uid 99); 21 Mar 2008 09:01:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Mar 2008 02:01:19 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Mar 2008 09:00:46 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id C4139234C0A8 for ; Fri, 21 Mar 2008 01:59:24 -0700 (PDT) Message-ID: <599133054.1206089964801.JavaMail.jira@brutus> Date: Fri, 21 Mar 2008 01:59:24 -0700 (PDT) From: "Vasily Zakharov (JIRA)" To: commits@harmony.apache.org Subject: [jira] Commented: (HARMONY-5622) [drlvm][kernel][geronimo] Method.getGeneric*() methods throw NPE for parametrized interface methods In-Reply-To: <1200480618.1206008604342.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-5622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12581031#action_12581031 ] Vasily Zakharov commented on HARMONY-5622: ------------------------------------------ Yes, the original code is very strange, and that's what pushed me to rewrite it. Thanks for you suggestions, I'll update the patch. As of 'transform' method, it's completely confusing me. Finding out what was intentional and what a bug is difficult. Hopefully I've made the right choice. Thanks! > [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 > > > 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 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.