JDK-6771021 : Access violation in mlib_image.dll while calling LookupOp.filter(...)
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2008-11-13
  • Updated: 2011-02-16
  • Resolved: 2008-11-13
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [version 5.1.2600]

A DESCRIPTION OF THE PROBLEM :
Java VM crashes while calling java.awt.image.LookupOp.filter(Raster, WritableRaster) due to an access violation in mlib_image.dll

See error message for details.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the included sample code.
"Open" two images and press ">" and "<" to switch between the images.
After switching a few times, the VM crashes.

Alternatively, "open" 1 image and resize the frame a number of times to produce the same error.


ERROR MESSAGES/STACK TRACES THAT OCCUR :
Attached seperatly


REPRODUCIBILITY :
This bug can be reproduced often.

---------- BEGIN SOURCE ----------
Attached seperaatly

---------- END SOURCE ----------

Comments
EVALUATION This problem is a duplicate of 4886506. Note that the buffer image has type INT_RGB. According to sample model, the raster for given image has 3 bands and the lookup table is created according to this. However, from the medialib perspective the buffer image raster has 4 channels (3 for color components and 1 unused channel to fit in data type) and medialib routine expects lookup table with 4 lookup array. Observed crash is caused by usage of uninitialized lookup array fot 4th channel of image raster. This problem was resolved by fix for 4886506, which initializes the medialib lookup table according of actual number of channels. So, I close this CR as a duplicate of CR 4886506.
13-11-2008