From ae2cb9b6e32dd662d891ffb3cc58b95f46281708 Mon Sep 17 00:00:00 2001 From: Kevin Walls Date: Mon, 21 Jul 2014 10:40:50 +0100 Subject: [PATCH] 8049684: pstack crashes on java core dump Reviewed-by: sundar, sspitsyn --- hotspot/src/os/bsd/dtrace/libjvm_db.c | 3 +++ hotspot/src/os/solaris/dtrace/libjvm_db.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/hotspot/src/os/bsd/dtrace/libjvm_db.c b/hotspot/src/os/bsd/dtrace/libjvm_db.c index 18430f863c8..cf133b4589a 100644 --- a/hotspot/src/os/bsd/dtrace/libjvm_db.c +++ b/hotspot/src/os/bsd/dtrace/libjvm_db.c @@ -260,6 +260,9 @@ static int parse_vmstructs(jvm_agent_t* J) { uint64_t base; int err; + /* Clear *vmp now in case we jump to fail: */ + memset(vmp, 0, sizeof(VMStructEntry)); + err = ps_pglobal_lookup(J->P, LIBJVM_SO, "gHotSpotVMStructs", &sym_addr); CHECK_FAIL(err); err = read_pointer(J, sym_addr, &gHotSpotVMStructs); diff --git a/hotspot/src/os/solaris/dtrace/libjvm_db.c b/hotspot/src/os/solaris/dtrace/libjvm_db.c index 8f664183b43..40dada151eb 100644 --- a/hotspot/src/os/solaris/dtrace/libjvm_db.c +++ b/hotspot/src/os/solaris/dtrace/libjvm_db.c @@ -260,6 +260,9 @@ static int parse_vmstructs(jvm_agent_t* J) { uint64_t base; int err; + /* Clear *vmp now in case we jump to fail: */ + memset(vmp, 0, sizeof(VMStructEntry)); + err = ps_pglobal_lookup(J->P, LIBJVM_SO, "gHotSpotVMStructs", &sym_addr); CHECK_FAIL(err); err = read_pointer(J, sym_addr, &gHotSpotVMStructs);