Segfaults in error traces caused by modules

harold seigel harold.seigel at oracle.com
Thu Nov 10 14:54:30 UTC 2016


Thanks for letting us know about this.  I entered 
https://bugs.openjdk.java.net/browse/JDK-8169551 for this issue.

Harold

On 11/9/2016 6:15 AM, Andrew Haley wrote:
> On 09/11/16 11:03, Alan Bateman wrote:
>> On 09/11/2016 11:42, Andrew Haley wrote:
>>
>>> I'm seeing repeated segfaults in error traces.  These seem to be caused by
>>>
>>> void frame::print_on_error(outputStream* st, char* buf, int buflen, bool verbose) const {
>>>     if (_cb != NULL) {
>>>       if (Interpreter::contains(pc())) {
>>>         Method* m = this->interpreter_frame_method();
>>>         if (m != NULL) {
>>>           m->name_and_sig_as_C_string(buf, buflen);
>>>           st->print("j  %s", buf);
>>>           st->print("+%d", this->interpreter_frame_bci());
>>>           ModuleEntry* module = m->method_holder()->module();
>>>           if (module->is_named()) {
>>>             module->name()->as_C_string(buf, buflen);
>>>             st->print(" %s", buf);
>>>             module->version()->as_C_string(buf, buflen);
>>>
>>> where module->version() returns NULL.
>>>
>> The version is optional and so modules may be defined to the VM with a
>> version string of NULL. It may be that this code has only been tested
>> with images builds, where the platform modules have version ("9" or
>> "9-internal" ...). However with an exploded build then the platform
>> modules don't have a version string and I assume this is where you hit this.
> Yes.  OK, so it's a bug.  Thanks.
>
> Andrew.
>



More information about the hotspot-dev mailing list