RFR (XS): 8024830: SEGV in org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get

Vladimir Kozlov vladimir.kozlov at oracle.com
Sun Nov 10 11:14:21 PST 2013


Thank you, Dawid, for confirmation and for your help with running lucene tests.

Regards,
Vladimir

On 11/10/13 8:54 AM, Dawid Weiss wrote:
> I confirm that this patch fixes the problem encountered in
> LUCENE-5212. I've tested svn rev. 1523179 (trunk) against jdk8-b114
> with and without Vladimir's patch. Without the patch the test sequence
> ends about 50% of the time in a sigsegv. With the patch all executions
> ended without any errors.
>
> I have no idea how you tracked this down, Vladimir, but I
> enthusiastically share your "Huraaa!" [1] :)
>
> Dawid
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8024830?focusedCommentId=13426080#comment-13426080
>
> On Sun, Nov 10, 2013 at 2:05 AM, Vladimir Kozlov
> <vladimir.kozlov at oracle.com> wrote:
>> Thank you, Igor
>>
>> I will fix the comment.
>>
>> Vladimir
>>
>>
>> On 11/9/13 4:33 PM, Igor Veresov wrote:
>>>
>>> Woot! Looks good.
>>>
>>> A typo:
>>>
>>> 510     // RA guarantee such alignment ...
>>>
>>> igor
>>>
>>> On Nov 9, 2013, at 11:20 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com>
>>> wrote:
>>>
>>>> http://cr.openjdk.java.net/~kvn/8024830/webrev/
>>>>
>>>> https://bugs.openjdk.java.net/browse/JDK-8024830
>>>>
>>>> C2 Register Allocator can use input argument's stack slots for spills but
>>>> until RA we don't know what offset and alignment these slots have. The
>>>> minimum provided alignment is 8 bytes (for Double and long values). For wide
>>>> vectors it is not enough. When vector is spilled there (as in this bug) it
>>>> may stomp over values on caller's stack which follow argument's slots.
>>>>
>>>> Exclude enough (vector's size - 1) last input argument's stack slots from
>>>> vector's spilling masks to avoid it.
>>>>
>>>> The fix is the same for jdk7u and jdk8.
>>>>
>>>> Tested lucene tests, JPRT, jtreg, ctw.
>>>>
>>>> Thanks,
>>>> Vladimir
>>>>
>>>>
>>>>
>>>
>>


More information about the hotspot-compiler-dev mailing list