RFR (S, URGENT) 8149038: SIGSEGV at frame::is_interpreted_frame_valid -> StubRoutines::SafeFetchN

Markus Gronlund markus.gronlund at oracle.com
Thu Feb 4 23:08:17 UTC 2016


Hi Coleen,

Thanks for reverting, looks good.

/Markus

PS I don’t know if you want to go straight back to the previous version, but I still think this piece could be tightened a bit:

bool Method::has_method_vptr(const void* ptr) {
  assert(ptr != NULL, "invariant");

  // This assumes that the vtbl pointer is the first word of a C++ object.
  // This assumption is also in universe.cpp patch_klass_vtble
  const Method m;
  return dereference_vptr(&m) == dereference_vptr(ptr);
}

// Check that this pointer is valid by checking that the vtbl pointer matches
bool Method::is_valid_method() const {
  if (this == NULL) {
    return false;
  }
  if ((intptr_t(this) & (wordSize - 1)) != 0) {
    return false;
  }
  if (!is_metaspace_object()) {
    return false;
  }
  return has_method_vptr(this);
}



-----Original Message-----
From: Coleen Phillimore 
Sent: den 4 februari 2016 23:44
To: hotspot-dev at openjdk.java.net
Subject: Re: RFR (S, URGENT) 8149038: SIGSEGV at frame::is_interpreted_frame_valid -> StubRoutines::SafeFetchN



On 2/4/16 5:40 PM, Coleen Phillimore wrote:
> Summary: Backout change for 8146984 but add an alignment check which 
> may have caught original bug.
>
> Will retest with new check once this isn't an integration blocker. Ran 
> original tests that failed.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/8149038.01/
> bug link https://bugs.openjdk.java.net/browse/JDK-8149038

The original bug is:

https://bugs.openjdk.java.net/browse/JDK-8146984

Coleen
>
> Thanks,
> Coleen



More information about the hotspot-dev mailing list