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

Daniel D. Daugherty daniel.daugherty at oracle.com
Thu Feb 4 23:46:49 UTC 2016


On 2/4/16 4:34 PM, Coleen Phillimore wrote:
>
>
> On 2/4/16 6:26 PM, Daniel D. Daugherty wrote:
>> On 2/4/16 4:08 PM, Markus Gronlund wrote:
>>> Hi Coleen,
>>>
>>> Thanks for reverting, looks good.
>>
>> Agreed, but also agree with Markus that it would be a shame to
>> lose the cleanups.
>>
>> Since it's an integration_blocker, I can see why you want to
>> try to very reduced risk... Do you have plans to take another
>> run at the cleaned up version?
>
> No, I don't really.  It eliminates 2 lines in a function and I don't 
> see how eliminating else's is cleaner or at least cleaner enough to 
> file an RFE.
>
> Okay, the cleaner has_method_vptr() compiles on linux.  It better 
> compile on windows.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/8149038.02/

src/share/vm/oops/method.cpp
     L2103:   // This assumption is also in universe.cpp patch_klass_vtble
         Typo: 'patch_klass_vtble' -> 'patch_klass_vtable'

Don't need another webrev. Thumbs up.


Dan


>
> thanks,
> Coleen
>
>>
>> Dan
>>
>>
>>>
>>> /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