Segfaults in error traces caused by modules

Andrew Haley aph at
Wed Nov 9 10:42:02 UTC 2016

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.

Is this expected?


More information about the hotspot-dev mailing list