Re: [OpenJDK 2D-Dev] [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees

2016-09-29 Thread Jim Graham

+1

...jim

On 9/28/16 10:17 AM, Philip Race wrote:

+1

-phil

On 9/14/16, 2:52 AM, Ajit Ghaisas wrote:

Hi Jim,

 I agree upon aborting the operation in case the non-finite slope is not 
due to divide by 0 case.
 As this is the 8u backport of the fix done in 9, I will address the review 
comment in JDK-8166009.

 The original backport webrev is still the same.
 http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/

 Request you to approve this 8u backport.

Regards,
Ajit

-Original Message-
From: Jim Graham
Sent: Friday, September 02, 2016 1:16 AM
To: Ajit Ghaisas; Philip Race; 2d-dev
Subject: Re: [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to 
rotate BufferedImage using AffineTransform
by NaN degrees

Hi Ajit,

In the cases where you "continue" on a non-finite slope, doesn't that mean that 
the edges will be mismatched?  If you
can't determine the bounding polygon, perhaps the entire operation should be 
aborted instead...?

It's different from the case of dy1==dy2 which also results in a "continue" 
because in that case there are no edges to
insert in the array because that edge of the bounding box doesn't occupy any 
vertical space.  In the case of an
infinite slope, there could be edges expected to be produced (in fact there 
should be because we've already tested
that dy1 != dy2), but the loop doesn't produce any edge values and stale data 
is left in the array.

...jim

On 9/1/16 2:14 AM, Ajit Ghaisas wrote:

Hi,



This is a review request for 8u back-port of the fix done in JDK-9.



Bug :

https://bugs.openjdk.java.net/browse/JDK-8158356



Root cause :

The root cause of the crash is - NaN is converted to an integer and used as 
array index in mlib_ImageScanPoly.c.



Fix :

The native method previously did not check the validity of the
input double argument. Now, I have added a check for finite double values.



Webrev :


http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/



Regards,

Ajit



Re: [OpenJDK 2D-Dev] [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees

2016-09-28 Thread Philip Race

+1

-phil

On 9/14/16, 2:52 AM, Ajit Ghaisas wrote:

Hi Jim,

 I agree upon aborting the operation in case the non-finite slope is not 
due to divide by 0 case.
 As this is the 8u backport of the fix done in 9, I will address the review 
comment in JDK-8166009.

 The original backport webrev is still the same.
 http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/

 Request you to approve this 8u backport.

Regards,
Ajit

-Original Message-
From: Jim Graham
Sent: Friday, September 02, 2016 1:16 AM
To: Ajit Ghaisas; Philip Race; 2d-dev
Subject: Re: [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to 
rotate BufferedImage using AffineTransform by NaN degrees

Hi Ajit,

In the cases where you "continue" on a non-finite slope, doesn't that mean that 
the edges will be mismatched?  If you can't determine the bounding polygon, perhaps the 
entire operation should be aborted instead...?

It's different from the case of dy1==dy2 which also results in a "continue" 
because in that case there are no edges to insert in the array because that edge of the 
bounding box doesn't occupy any vertical space.  In the case of an infinite slope, there 
could be edges expected to be produced (in fact there should be because we've already 
tested that dy1 != dy2), but the loop doesn't produce any edge values and stale data is 
left in the array.

...jim

On 9/1/16 2:14 AM, Ajit Ghaisas wrote:

Hi,



This is a review request for 8u back-port of the fix done in JDK-9.



Bug :

https://bugs.openjdk.java.net/browse/JDK-8158356



Root cause :

The root cause of the crash is - NaN is converted to an integer and used as 
array index in mlib_ImageScanPoly.c.



Fix :

The native method previously did not check the validity of the
input double argument. Now, I have added a check for finite double values.



Webrev :


http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/



Regards,

Ajit



Re: [OpenJDK 2D-Dev] [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees

2016-09-14 Thread Ajit Ghaisas
Hi Jim,

I agree upon aborting the operation in case the non-finite slope is not due 
to divide by 0 case. 
As this is the 8u backport of the fix done in 9, I will address the review 
comment in JDK-8166009.

The original backport webrev is still the same. 
http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/

Request you to approve this 8u backport.

Regards,
Ajit

-Original Message-
From: Jim Graham 
Sent: Friday, September 02, 2016 1:16 AM
To: Ajit Ghaisas; Philip Race; 2d-dev
Subject: Re: [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to 
rotate BufferedImage using AffineTransform by NaN degrees

Hi Ajit,

In the cases where you "continue" on a non-finite slope, doesn't that mean that 
the edges will be mismatched?  If you can't determine the bounding polygon, 
perhaps the entire operation should be aborted instead...?

It's different from the case of dy1==dy2 which also results in a "continue" 
because in that case there are no edges to insert in the array because that 
edge of the bounding box doesn't occupy any vertical space.  In the case of an 
infinite slope, there could be edges expected to be produced (in fact there 
should be because we've already tested that dy1 != dy2), but the loop doesn't 
produce any edge values and stale data is left in the array.

...jim

On 9/1/16 2:14 AM, Ajit Ghaisas wrote:
> Hi,
>
>
>
>This is a review request for 8u back-port of the fix done in JDK-9.
>
>
>
> Bug :
>
>https://bugs.openjdk.java.net/browse/JDK-8158356
>
>
>
> Root cause :
>
>The root cause of the crash is - NaN is converted to an integer and used 
> as array index in mlib_ImageScanPoly.c.
>
>
>
> Fix :
>
>The native method previously did not check the validity of the 
> input double argument. Now, I have added a check for finite double values.
>
>
>
> Webrev :
>
> 
> http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/
>
>
>
> Regards,
>
> Ajit
>


Re: [OpenJDK 2D-Dev] [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees

2016-09-01 Thread Jim Graham

Hi Ajit,

In the cases where you "continue" on a non-finite slope, doesn't that mean that the edges will be mismatched?  If you 
can't determine the bounding polygon, perhaps the entire operation should be aborted instead...?


It's different from the case of dy1==dy2 which also results in a "continue" because in that case there are no edges to 
insert in the array because that edge of the bounding box doesn't occupy any vertical space.  In the case of an infinite 
slope, there could be edges expected to be produced (in fact there should be because we've already tested that dy1 != 
dy2), but the loop doesn't produce any edge values and stale data is left in the array.


...jim

On 9/1/16 2:14 AM, Ajit Ghaisas wrote:

Hi,



   This is a review request for 8u back-port of the fix done in JDK-9.



Bug :

   https://bugs.openjdk.java.net/browse/JDK-8158356



Root cause :

   The root cause of the crash is - NaN is converted to an integer and used as 
array index in mlib_ImageScanPoly.c.



Fix :

   The native method previously did not check the validity of the input double 
argument. Now, I have added a check for
finite double values.



Webrev :

http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/



Regards,

Ajit



[OpenJDK 2D-Dev] [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees

2016-09-01 Thread Ajit Ghaisas
Hi,

 

   This is a review request for 8u back-port of the fix done in JDK-9.

   

Bug : 

   https://bugs.openjdk.java.net/browse/JDK-8158356

 

Root cause :

   The root cause of the crash is - NaN is converted to an integer and used as 
array index in mlib_ImageScanPoly.c.

 

Fix :

   The native method previously did not check the validity of the input double 
argument. Now, I have added a check for finite double values.

 

Webrev :

http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/

 

Regards,

Ajit