> On 28 Jul 2016, at 12:40, Alan Bateman <alan.bate...@oracle.com> wrote:
> 
> On 27/07/2016 12:47, Paul Sandoz wrote:
> 
>> Hi,
>> 
>> I made an embarrassing mistake in the fix for
>> 
>>   https://bugs.openjdk.java.net/browse/JDK-8151163
>>   All Buffer implementations should leverage Unsafe unaligned accessors
>> 
>> The offset calculation for Unsafe access was incorrect, it’s easy to get 
>> confused because for heap buffers the offset is relative to the array, and 
>> for direct buffers the address (which can update for slices/duplicates). 
>> Disturbingly all existing tests were passing both for core and hotspot when 
>> i pushed to hs.
>> 
>> As a penance i wrote a combinatorial test for buffer views to navigate the 
>> twisty maze of heap/direct, aligned/unaligned, little/big endian for 
>> accessing binary data and views from the source buffer.
>> 
>> Please review:
>> 
>>   
>> http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8162458-byte-buffer-view-offset-access-incorrect/webrev/
>> 
>> (This may be a duplicate of [1]).
>> 
>> Test has been verified to fail with the existing code. Focused JPRT runs 
>> pass, but i will kick off core/hotspot runs later on today.
>> 
> It is disturbing that it wasn't caught by the original tests. The new test 
> does appear to overlap with existing tests but I think that is okay.

Yes, i wanted to write a focused test that explicitly enumerates the test cases 
(and is easy to add more), otherwise it can be really hard to track down which 
combination of properties are failing.


> One small request is to trim down the really long lines as they are annoying 
> when doing side-by-side diffs.
> 

I split up lines over 110 characters or more.


> In any case, the offsets in the updated code look right for me but tests is 
> the only way to catch issues.
> 

Thanks,
Paul.

Reply via email to