Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 60054 invoked from network); 19 Feb 2007 13:30:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Feb 2007 13:30:27 -0000 Received: (qmail 9685 invoked by uid 500); 19 Feb 2007 13:30:35 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 9588 invoked by uid 500); 19 Feb 2007 13:30:35 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 9579 invoked by uid 99); 19 Feb 2007 13:30:35 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Feb 2007 05:30:35 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Feb 2007 05:30:26 -0800 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 5234D7141EF for ; Mon, 19 Feb 2007 05:30:06 -0800 (PST) Message-ID: <21884270.1171891806333.JavaMail.jira@brutus> Date: Mon, 19 Feb 2007 05:30:06 -0800 (PST) From: "Alexey Petrenko (JIRA)" To: commits@harmony.apache.org Subject: [jira] Assigned: (HARMONY-1655) [classlib][awt] BufferedImage constructor throws different exceptions on RI and Harmony MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HARMONY-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexey Petrenko reassigned HARMONY-1655: ---------------------------------------- Assignee: Alexey Petrenko > [classlib][awt] BufferedImage constructor throws different exceptions on RI and Harmony > --------------------------------------------------------------------------------------- > > Key: HARMONY-1655 > URL: https://issues.apache.org/jira/browse/HARMONY-1655 > Project: Harmony > Issue Type: Bug > Components: Non-bug differences from RI > Reporter: Denis Kishenko > Assigned To: Alexey Petrenko > > Constructor of BufferedImage throws different exceptions on RI and Harmony if width or height is negative. Type of exception depends on BufferedImage type parameter. There are 13 different types exist. Results are listed below. > 1-4 IllegalArgumentException both > 5-7 RI - NegativeArraySizeException, Harmony - RasterFormatException > 8-9 IllegalArgumentException both > 10-11 RI - NegativeArraySizeException, Harmony - IllegalArgumentException > 12-13 RI - NegativeArraySizeException, Harmony - RasterFormatException > I think this is non-bug difference because of > 5-7 and 12-13: As you see from stack trace both implementations call Raster.createInterleavedRaster(...) > Spec says > Throws: > RasterFormatException - if w or h is less than or equal to zero, or computing either location.x + w or location.y + h results in integer overflow > So RI doesn't folow spec while Harmony does. > 10-11: For RI the same situation as listed above while Harmony just has another implementation and exception order. > In all cases it's more logical to throw IllegalArgumentException or RasterFormatException instead of NegativeArraySizeException. > =========== Test ========== > import java.awt.image.*; > public class Test { > public static void main(String[] argv) { > for(int i = 1; i < 14; i++) { > try { > System.err.println(i); > new BufferedImage(8, -7, i); > } catch (Exception e) { > e.printStackTrace(); > } > } > } > } > =========== RI ============== > 1 > java.lang.IllegalArgumentException: Width (8) and height (-7) cannot be <= 0 > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999) > at java.awt.image.BufferedImage.(BufferedImage.java:314) > at Test.main(Test.java:8) > 2 > java.lang.IllegalArgumentException: Width (8) and height (-7) cannot be <= 0 > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999) > at java.awt.image.BufferedImage.(BufferedImage.java:323) > at Test.main(Test.java:8) > 3 > java.lang.IllegalArgumentException: Width (8) and height (-7) cannot be <= 0 > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999) > at java.awt.image.BufferedImage.(BufferedImage.java:342) > at Test.main(Test.java:8) > 4 > java.lang.IllegalArgumentException: Width (8) and height (-7) cannot be <= 0 > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999) > at java.awt.image.BufferedImage.(BufferedImage.java:354) > at Test.main(Test.java:8) > 5 > java.lang.NegativeArraySizeException: Negative size-168 > at java.awt.image.DataBufferByte.(DataBufferByte.java:42) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:253) > at java.awt.image.BufferedImage.(BufferedImage.java:367) > at Test.main(Test.java:8) > 6 > java.lang.NegativeArraySizeException: Negative size-224 > at java.awt.image.DataBufferByte.(DataBufferByte.java:42) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:253) > at java.awt.image.BufferedImage.(BufferedImage.java:382) > at Test.main(Test.java:8) > 7 > java.lang.NegativeArraySizeException: Negative size-224 > at java.awt.image.DataBufferByte.(DataBufferByte.java:42) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:253) > at java.awt.image.BufferedImage.(BufferedImage.java:397) > at Test.main(Test.java:8) > 8 > java.lang.IllegalArgumentException: Width (8) and height (-7) cannot be <= 0 > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999) > at java.awt.image.BufferedImage.(BufferedImage.java:474) > at Test.main(Test.java:8) > 9 > java.lang.IllegalArgumentException: Width (8) and height (-7) cannot be <= 0 > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999) > at java.awt.image.BufferedImage.(BufferedImage.java:486) > at Test.main(Test.java:8) > 10 > java.lang.NegativeArraySizeException: Negative size-56 > at java.awt.image.DataBufferByte.(DataBufferByte.java:42) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:253) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:194) > at java.awt.image.ComponentColorModel.createCompatibleWritableRaster(ComponentColorModel.java:2808) > at java.awt.image.BufferedImage.(BufferedImage.java:411) > at Test.main(Test.java:8) > 11 > java.lang.NegativeArraySizeException: Negative size-56 > at java.awt.image.DataBufferUShort.(DataBufferUShort.java:43) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:257) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:194) > at java.awt.image.ComponentColorModel.createCompatibleWritableRaster(ComponentColorModel.java:2808) > at java.awt.image.BufferedImage.(BufferedImage.java:423) > at Test.main(Test.java:8) > 12 > java.lang.NegativeArraySizeException: Negative size-7 > at java.awt.image.DataBufferByte.(DataBufferByte.java:42) > at java.awt.image.Raster.createPackedRaster(Raster.java:566) > at java.awt.image.BufferedImage.(BufferedImage.java:433) > at Test.main(Test.java:8) > 13 > java.lang.NegativeArraySizeException: Negative size-56 > at java.awt.image.DataBufferByte.(DataBufferByte.java:42) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:253) > at java.awt.image.Raster.createInterleavedRaster(Raster.java:194) > at java.awt.image.BufferedImage.(BufferedImage.java:462) > at Test.main(Test.java:8) > ============ Harmony ================ > 1 > java.lang.IllegalArgumentException: w or h is less than or equal to zero > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:518) > at java.awt.image.BufferedImage.(BufferedImage.java:188) > 2 > java.lang.IllegalArgumentException: w or h is less than or equal to zero > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:518) > at java.awt.image.BufferedImage.(BufferedImage.java:193) > 3 > java.lang.IllegalArgumentException: w or h is less than or equal to zero > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:518) > at java.awt.image.BufferedImage.(BufferedImage.java:207) > 4 > java.lang.IllegalArgumentException: w or h is less than or equal to zero > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:518) > at java.awt.image.BufferedImage.(BufferedImage.java:216) > 5 > java.awt.image.RasterFormatException: w or h is less than or equal to zero > at java.awt.image.Raster.createInterleavedRaster(Raster.java:242) > at java.awt.image.BufferedImage.(BufferedImage.java:231) > 6 > java.awt.image.RasterFormatException: w or h is less than or equal to zero > at java.awt.image.Raster.createInterleavedRaster(Raster.java:242) > at java.awt.image.BufferedImage.(BufferedImage.java:247) > 7 > java.awt.image.RasterFormatException: w or h is less than or equal to zero > at java.awt.image.Raster.createInterleavedRaster(Raster.java:242) > at java.awt.image.BufferedImage.(BufferedImage.java:262) > 8 > java.lang.IllegalArgumentException: w or h is less than or equal to zero > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:518) > at java.awt.image.BufferedImage.(BufferedImage.java:277) > 9 > java.lang.IllegalArgumentException: w or h is less than or equal to zero > at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:518) > at java.awt.image.BufferedImage.(BufferedImage.java:291) > 10 > java.lang.IllegalArgumentException: Width or Height is not greater than 0 > at java.awt.image.SampleModel.(SampleModel.java:34) > at java.awt.image.ComponentSampleModel.(ComponentSampleModel.java:79) > at java.awt.image.PixelInterleavedSampleModel.(PixelInterleavedSampleModel.java:27) > at java.awt.image.ComponentColorModel.createCompatibleSampleModel(ComponentColorModel.java:964) > at java.awt.image.ComponentColorModel.createCompatibleWritableRaster(ComponentColorModel.java:935) > at java.awt.image.BufferedImage.(BufferedImage.java:304) > 11 > java.lang.IllegalArgumentException: Width or Height is not greater than 0 > at java.awt.image.SampleModel.(SampleModel.java:34) > at java.awt.image.ComponentSampleModel.(ComponentSampleModel.java:79) > at java.awt.image.PixelInterleavedSampleModel.(PixelInterleavedSampleModel.java:27) > at java.awt.image.ComponentColorModel.createCompatibleSampleModel(ComponentColorModel.java:964) > at java.awt.image.ComponentColorModel.createCompatibleWritableRaster(ComponentColorModel.java:935) > at java.awt.image.BufferedImage.(BufferedImage.java:317) > 12 > java.awt.image.RasterFormatException: w or h is less than or equal to zero > at java.awt.image.Raster.createPackedRaster(Raster.java:410) > at java.awt.image.BufferedImage.(BufferedImage.java:327) > 13 > java.awt.image.RasterFormatException: w or h is less than or equal to zero > at java.awt.image.Raster.createInterleavedRaster(Raster.java:292) > at java.awt.image.BufferedImage.(BufferedImage.java:350) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.