JDK-4671586 : Image corruption using ReplicateScaleFilter/AreaAveragingScaleFilter
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 1.3.1
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_7
  • CPU: sparc
  • Submitted: 2002-04-19
  • Updated: 2002-10-09
  • Resolved: 2002-08-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.3.1_05 05Fixed
Description
Attached is a  test case here which uses primarily ReplicateScaleFiliter()
and AreaAveragingScaleFilter() to scale and smooth 'Fujitsu' logo.  We
seem to get image corruption at the end of this scaling and smoothing
process.

This image corruption happens more often on Solaris than on Windows.
Also on Windows, CPU peaks for couple of minutes whenever there is a
resize.

To reproduce the problem,

-Run java -jar corrupt.jar
Wait till you see the smooth image.
Resize (vertically ).
Initially you will see the logo with jagged edges and after sometime the
image gets smooth. If there is any image corruption you would see it
now.


Note: Only the top portion ( infinity logo ) takes part in the
scaling/smoothing. The bottom portion of the image  ( the line and the
text ) does not participate in scaling/smoothing.

Source and class files are in the jar 'corrupt.jar'.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.3.1_05 1.4.0_03 mantis FIXED IN: 1.3.1_05 1.4.0_03 mantis INTEGRATED IN: 1.3.1_05 1.4.0_03 mantis mantis-b04
2004-06-14

WORK AROUND none
2004-06-11

SUGGESTED FIX the following change (suggested by Jim Graham) has been put back to 1.3.1_05 patch ------- InputStreamImageSource.java ------- *** /tmp/geta22366 Mon Aug 19 14:55:29 2002 --- /tmp/getb22366 Mon Aug 19 14:55:29 2002 *************** *** 135,143 **** id.removeConsumer(ic); } consumers = ImageConsumerQueue.removeConsumer(consumers, ic, false); - if (consumers == null) { - stopProduction(); - } } public void startProduction(ImageConsumer ic) { --- 135,140 ---- *************** *** 405,407 **** --- 402,405 ---- } } } ###@###.### 2002-08-19
2002-08-19

EVALUATION As described in the comments/suggested fix fields. ###@###.### 2002-05-28
2002-05-28