-
Bug
-
Resolution: Fixed
-
P3
-
9
-
b150
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.
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.