RFR: 8157490: null stream->source() no longer causes error with -Xlog:class+load

Max Ockner max.ockner at oracle.com
Thu Jun 2 15:33:26 UTC 2016


Thanks for your reviews. I will submit this now.
Max

On 5/31/2016 4:34 PM, Lois Foltan wrote:
> Thanks Max for implementing the suggestion.  Looks good.
> Lois
>
> On 5/31/2016 1:39 PM, Max Ockner wrote:
>> I like this suggestion and I have updated my fix with it.
>> webrev: http://cr.openjdk.java.net/~mockner/8157490.02/
>> Thanks,
>> Max
>>
>> On 5/26/2016 3:12 PM, Lois Foltan wrote:
>>>
>>> On 5/26/2016 2:07 PM, Max Ockner wrote:
>>>> Hello,
>>>>
>>>> Please review this very small fix for class+load logging with modules.
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8157490
>>>> Webrev: http://cr.openjdk.java.net/~mockner/8157490/
>>>>
>>>> Summary:  The JCK test 
>>>> vm/jni/DefineClass/dfcl001/dfcl00101m1/dfcl00101m1 hit a SIGSEGV in 
>>>> the logging section at the end of 
>>>> ClassFileParser::fill_instance_klass(). With the addition of 
>>>> modules, this logging section now uses
>>>>
>>>>     strlen(stream->source())
>>>>
>>>> to compute some of the module related parameters that it needs. 
>>>> This SIGSEGV originated from the above line being executed with a 
>>>> null stream source.
>>>
>>> Hi Max,
>>>
>>> I think you change is correct, but I would like to suggest changing 
>>> the code even further.  Currently the code between line #5352-5360 
>>> does a complicated check to see if the module's name is part of the 
>>> java runtime image file and only sets the local variable 
>>> "module_name" if it is.  So, only module names that are defined 
>>> within the java runtime image file are printed out in the logging. 
>>> We should print out all modules' names, not just the ones in the 
>>> jimage file.  So please try removing lines #5352-5360 and set the 
>>> local variable to:
>>>
>>>     const char* module_name = (module_entry->name() == NULL) ? 
>>> UNNAMED_MODULE : module_entry->name()->as_C_string();
>>>
>>> The local variable "module_entry" is already checked at line #5310 
>>> to make sure it is set to a non-NULL value.
>>>
>>> Thanks,
>>> Lois
>>>
>>>>
>>>> Tested with vm/jni/DefineClass/dfcl001/dfcl00101m1/dfcl00101m1
>>>>
>>>> Thanks,
>>>> Max
>>>
>>
>



More information about the hotspot-dev mailing list