← Back to team overview

openjdk team mailing list archive

[Bug 913434] Re: ImageIO crashes (core dumped) while reading many image files

 

Just yesterday using openjdk-7-jre-headless on Ubuntu Trusty I
experienced Tomcat7's jre crashing on a webapp trying to resize multiple
images. (It's happened multiple times in the past as well)

It usually happens after a restart of Tomcat and on first access of a
webapp that resizes multiple jpgs (some containing ICC profiles).

This happened with an apt pinned version of liblcms2-2:
 version 2.6-3ubuntu2 from Ubuntu Wily.

# JRE version: OpenJDK Runtime Environment (7.0_101) (build 1.7.0_101-b00)
# Java VM: OpenJDK 64-Bit Server VM (24.95-b01 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea 2.6.6
# Distribution: Ubuntu 14.04 LTS, package 7u101-2.6.6-0ubuntu0.14.04.1

R11=0x00007f7f2483c200: cmsCreateMultiprofileTransformTHR+0x50 in /usr/lib/x86_64-linux-gnu/liblcms2.so.2 at 0x00007f7f24816000
R12=0x00007f7f64002e60 is an unknown value
R13=0x00007f7f683f98c0 is an unknown value
R14=0x0000000000000014 is an unknown value
R15=0x00007f7f24a69a28: <offset 0x253a28> in /usr/lib/x86_64-linux-gnu/liblcms2.so.2 at 0x00007f7f24816000

Stack: [0x00007f7f277f8000,0x00007f7f278f9000],  sp=0x00007f7f278f3b48,  free space=1006k
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.java2d.cmm.lcms.LCMS.createNativeTransform([JIIILjava/lang/Object;)J+0
j  sun.java2d.cmm.lcms.LCMSTransform.doTransform(Lsun/java2d/cmm/lcms/LCMSImageLayout;Lsun/java2d/cmm/lcms/LCMSImageLayout;)V+88
j  sun.java2d.cmm.lcms.LCMSTransform.colorConvert([S[S)[S+92
j  java.awt.color.ICC_ColorSpace.fromRGB([F)[F+119
j  com.sun.imageio.plugins.jpeg.JPEGImageReader.setImageData(IIIII[B)V+158
v  ~StubRoutines::call_stub
j  com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(JZZ)Z+0
j  com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(Z)Z+12
j  com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly()V+92
j  com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(I)V+41
j  com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(IZ)V+2
j  com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(ILjavax/imageio/ImageReadParam;Z)Ljava/awt/image/Raster;+3
j  com.sun.imageio.plugins.jpeg.JPEGImageReader.read(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;+15
j  javax.imageio.ImageIO.read(Ljavax/imageio/stream/ImageInputStream;)Ljava/awt/image/BufferedImage;+55
j  javax.imageio.ImageIO.read(Ljava/io/InputStream;)Ljava/awt/image/BufferedImage;+20

-- 
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-7 in Ubuntu.
https://bugs.launchpad.net/bugs/913434

Title:
  ImageIO crashes (core dumped) while reading many image files

Status in OpenJDK:
  Fix Released
Status in lcms2 package in Ubuntu:
  Incomplete
Status in openjdk-7 package in Ubuntu:
  Incomplete

Bug description:
  Code that uses ImageIO.read() to read many image files (on my system:
  270 files, totalling 522.9 MiB) crashes the JVM.

  ~~~ My system information:

  $ lsb_release -a
  No LSB modules are available.
  Distributor ID:	Ubuntu
  Description:	Ubuntu 11.10
  Release:	11.10
  Codename:	oneiric

  $ uname -a
  Linux dowah 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 20:28:43 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

  $ javac -version
  javac 1.7.0_147

  $ java -version
  java version "1.7.0_147-icedtea"

  ~~~ To reproduce the error:

  $ javac BugIIO.java

  $ ulimit -c unlimited # to enable core dump

  $ java BugIIO

  ~~~ Terminal output that signifies the error:

  #
  # A fatal error has been detected by the Java Runtime Environment:
  #
  #  SIGSEGV (0xb) at pc=0x00007fb5babe31f8, pid=4978, tid=140418842154752
  #
  # JRE version: 7.0_147-b147
  # Java VM: OpenJDK 64-Bit Server VM (21.0-b17 mixed mode linux-amd64 compressed oops)
  # Derivative: IcedTea7 2.0
  # Distribution: Ubuntu 11.10, package 7~b147-2.0-0ubuntu0.11.10.1
  # Problematic frame:
  # C  [liblcms2.so.2+0x121f8]  cmsSaveProfileToIOhandler+0x38
  #
  # Core dump written. Default location: /home/joshua/core or core.4978
  #
  # An error report file with more information is saved as:
  # /home/joshua/hs_err_pid4978.log
  #
  # If you would like to submit a bug report, please include
  # instructions on how to reproduce the bug and visit:
  #   https://bugs.launchpad.net/ubuntu/+source/openjdk-7/
  #
  Dibatalkan (core didump)

  ~~~ PS
  When I tried to compile BugIIO.java on openjdk-6 and run it on openjdk-6, the program finishes normally (no crash).

  To clarify:
  1. This bug affect OpenJDK 7 (7~b147-2.0-0ubuntu0.11.10.1) (tested on oneiric).
  2. This bug does *not* affect OpenJDK 6 (6b23~pre11-0ubuntu1.11.10) (tested on oneiric).

To manage notifications about this bug go to:
https://bugs.launchpad.net/openjdk/+bug/913434/+subscriptions


References