RFR: 8157490: null stream->source() no longer causes error with -Xlog:class+load
Lois Foltan
lois.foltan at oracle.com
Tue May 31 20:34:53 UTC 2016
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