Webrev updated to address these issues.

On 09/24/13 07:51, Joel Borggren-Franck wrote:

> 364             try {
> 365                 tmp = getParameters0();
> 366             } catch(IllegalArgumentException e) {
> 367                 // Rethrow ClassFormatErrors
> 368                 throw new MalformedParametersException("Invalid constant 
> pool index");
> 369             }
> 
> What is causing the IAE? Have you considered having
> MalformedParametersExcepton taking a Throwable cause and having the IAE
> as cause?
> 

The IAE comes from hotspot itself.  There is a standard constant pool
index verifying function that throws IAE if given a bad index.

> On 2013-09-19, Eric McCorkle wrote:
>> The webrev has been updated with Joe's comments addressed.
>>
>> On 09/19/13 00:11, David Holmes wrote:
>>> On 19/09/2013 9:59 AM, Eric McCorkle wrote:
>>>> This still needs to be reviewed.
>>>
>>> You seem to have ignored Joe's comments regarding the change to Modifier
>>> being incorrect.
>>>
>>> David
>>>
>>>> On 09/16/13 14:50, Eric McCorkle wrote:
>>>>> I pulled the class files into byte array constants, as a temporary
>>>>> measure until a viable method for testing bad class files is developed.
>>>>>
>>>>> The webrev has been refreshed.  The class files will be taken out before
>>>>> I push.
>>>>>
>>>>> http://cr.openjdk.java.net/~emc/8020981/
>>>>>
>>>>> On 09/13/13 20:48, Joe Darcy wrote:
>>>>>> To avoid storing binaries in Hg, you could try something like:
>>>>>>
>>>>>> * uuencode / ascii armor the class file
>>>>>> * convert to byte array in the test
>>>>>> * load classes from byte array
>>>>>>
>>>>>> -Joe
>>>>>>
>>>>>> On 09/13/2013 11:54 AM, Eric McCorkle wrote:
>>>>>>> I did it by hand with emacs.
>>>>>>>
>>>>>>> I would really rather tackle the bad class files for testing issue
>>>>>>> once
>>>>>>> and for all, the Right Way (tm).  But with ZBB looming, now is not the
>>>>>>> time to do it.
>>>>>>>
>>>>>>> Hence, I have created this task
>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8024674
>>>>>>>
>>>>>>> I also just created this one:
>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8024812
>>>>>>>
>>>>>>> On 09/13/13 13:54, Peter Levart wrote:
>>>>>>>> Hi Eric,
>>>>>>>>
>>>>>>>> How did you create those class files? By hand using a HEX editor? Did
>>>>>>>> you create a program that patched the original class file? If the
>>>>>>>> later
>>>>>>>> is the case, you could pack that patching logic inside a custom
>>>>>>>> ClassLoader...
>>>>>>>>
>>>>>>>> To hacky? Dependent on future changes of javac? At least the "bad
>>>>>>>> name"
>>>>>>>> patching could be performed trivially and reliably, I think:
>>>>>>>> search and
>>>>>>>> replace with same-length string.
>>>>>>>>
>>>>>>>> Regards, Peter
>>>>>>>>
>>>>>>>> On 09/13/2013 07:35 PM, Eric McCorkle wrote:
>>>>>>>>> Ugh.  Byte arrays of class file data is really a horrible solution.
>>>>>>>>>
>>>>>>>>> I have already filed a task for test development post ZBB to
>>>>>>>>> develop a
>>>>>>>>> solution for generating bad class files.  I'd prefer to file a
>>>>>>>>> follow-up
>>>>>>>>> to this to add the bad class file tests when that's done.
>>>>>>>>>
>>>>>>>>> On 09/13/13 10:55, Joel Borggrén-Franck wrote:
>>>>>>>>>> I think the right thing to do is to include the original compiling
>>>>>>>>>> source in a comment, together with a comment on how you modify
>>>>>>>>>> them, and then the result as a byte array.
>>>>>>>>>>
>>>>>>>>>> IIRC I have seen test of that kind before somewhere in our repo.
>>>>>>>>>>
>>>>>>>>>> cheers
>>>>>>>>>> /Joel
>>>>>>>>>>
>>>>>>>>>> On Sep 13, 2013, at 4:49 PM, Eric McCorkle
>>>>>>>>>> <eric.mccor...@oracle.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> There is no simple means of generating bad class files for
>>>>>>>>>>> testing.
>>>>>>>>>>> This is a huge deficiency in our testing abilities.
>>>>>>>>>>>
>>>>>>>>>>> If these class files shouldn't go in, then I'm left with no choice
>>>>>>>>>>> but
>>>>>>>>>>> to check in no test for this patch.
>>>>>>>>>>>
>>>>>>>>>>> However, anyone can run the test I've provided with the class
>>>>>>>>>>> files and
>>>>>>>>>>> see that it works.
>>>>>>>>>>>
>>>>>>>>>>> On 09/13/13 09:55, Joel Borggrén-Franck wrote:
>>>>>>>>>>>> Hi Eric,
>>>>>>>>>>>>
>>>>>>>>>>>> IIRC we don't check in classfiles into the repo.
>>>>>>>>>>>>
>>>>>>>>>>>> I'm not sure how we handle testing of broken class-files in jdk,
>>>>>>>>>>>> but ASM might be an option, or storing the class file as an
>>>>>>>>>>>> embedded byte array in the test.
>>>>>>>>>>>>
>>>>>>>>>>>> cheers
>>>>>>>>>>>> /Joel
>>>>>>>>>>>>
>>>>>>>>>>>> On Sep 13, 2013, at 3:40 PM, Eric McCorkle
>>>>>>>>>>>> <eric.mccor...@oracle.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> A new webrev is posted (and crucible updated), which actually
>>>>>>>>>>>>> validates
>>>>>>>>>>>>> parameter names correctly.  Apologies for the last one.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 09/12/13 16:02, Eric McCorkle wrote:
>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Please review this patch, which implements correct behavior for
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> Parameter Reflection API in the case of malformed class files.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The bug report is here:
>>>>>>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8020981
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The webrev is here:
>>>>>>>>>>>>>> http://cr.openjdk.java.net/~emc/8020981/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This review is also on crucible.  The ID is CR-JDK8TL-182.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>> Eric
>>>>>>>>>>>>>>
>>>>>>>>>>> <eric_mccorkle.vcf>
>>>>>>
> 

Reply via email to