RFR (S): 8000232: NPG: SIGSEGV in Dependencies::DepStream::check_klass_dependency on solaris-x64

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Oct 5 08:11:52 PDT 2012


Thank you.

Best regards,
Vladimir Ivanov

On 10/05/12 18:45, Vladimir Kozlov wrote:
> Good.
> 
> Vladimir
> 
> On Oct 5, 2012, at 6:52 AM, Vladimir Ivanov wrote:
> 
>> Agree. Updated the webrev.
>>
>> Best regards,
>> Vladimir Ivanov
>>
>> On 10/05/12 05:15, Vladimir Kozlov wrote:
>>> Could you add != NULL check to the second assert since argument_oop()
>>> can return NULL (based on the assert inside)?
>>>
>>> 707       assert(k->is_klass(), "type check");
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 10/4/12 3:04 PM, Vladimir Ivanov wrote:
>>>> http://cr.openjdk.java.net/~vlivanov/8000232/webrev.00
>>>> 22 lines changed: 10 ins; 4 del; 8 mod
>>>>
>>>> Context type of a dependency is encoded as NULL only when it is
>>>> explicit and the context is "default" (see
>>>> Dependencies::ctxk_encoded_as_null). Decoding takes place only in
>>>> Dependencies::DepStream::context_type(), however the
>>>> value is used in other places.
>>>>
>>>> The problem is that no decoding is performed when dependencies are
>>>> logged using Dependencies::write_dependency_to, but
>>>> only non-NULL values are expected in the code. The bug existed before
>>>> NPG, it simply didn't cause a crash.
>>>>
>>>> Fixed by moving decoding into Dependencies::DepStream::argument, so no
>>>> caller could see encoded context value (NULL)
>>>> anymore.
>>>>
>>>> It also improves TraceDependencies & LogCompilation output: dependency
>>>> context is always correctly displayed.
>>>>
>>>> Also, did some cleanup.
>>>>
>>>> Testing: failing test, JPRT w/ logging turned on & off, CTW on
>>>> solaris_x64.
>>>>
>>>> Best regards,
>>>> Vladimir Ivanov
> 


More information about the hotspot-compiler-dev mailing list