RFR (S, URGENT) 8149038: SIGSEGV at frame::is_interpreted_frame_valid -> StubRoutines::SafeFetchN
Coleen Phillimore
coleen.phillimore at oracle.com
Fri Feb 5 13:22:01 UTC 2016
I'd fixed that typo in my original fix, but not in the backout.
Next time.
Coleen
On 2/4/16 6:46 PM, Daniel D. Daugherty wrote:
> 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