← Back to team overview

openjdk team mailing list archive

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

 

Launchpad has imported 5 comments from the remote bug at
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1896.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2014-08-08T10:45:38+00:00 Florian Bantner wrote:

Created attachment 1142
crash dump

It seems liblcms2-2 (at least under Ubuntu14.04 / 64bit) is not
threadsafe at all.

If use multithreaded IMAGEIO.read( File ) shows all kind of strange bugs
including a complete vm crash. The crashdump is attached.

This can be reproduces by starting (about?) 64 Threads and using
IMAGEIO.read( File ) in an endless loop for random *but different*
files. This programm must be run a few times since the crashes happen to
appear shortly after starting it or not at all.

Crashes happens in 
C  [liblcms2.so.2+0x15480]  cmsGetColorSpace+0x0
C  [liblcms2.so.2+0x159b5]  cmsSaveProfileToIOhandler+0x25

Code to reproduce:

	public static void main( String[] args ) throws Exception {
		
		for( int i=0; i<64; i++ ){
			
			Thread t = new Thread( new ImageReader() );
			
			t.start();
			
		}
		
	}
	
	private static class ImageReader implements Runnable {
		
		@Override
		public void run() {
		
			int i=0;
			while( true ){
				
				System.out.print( "." );
				try {
					File f = findJpg();
					ImageIO.read( f );
				} catch( IOException e ) {
					throw new RuntimeException( e );
				}
				
				i++;
			}
		}

	}
	
	private static File findJpg( File base ){
               // Return a randomly chosen JPG from a larger pool
        }

Reply at:
https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/913434/comments/16

------------------------------------------------------------------------
On 2014-08-08T12:27:21+00:00 Sgehwolf wrote:

*** Bug 1897 has been marked as a duplicate of this bug. ***

Reply at:
https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/913434/comments/17

------------------------------------------------------------------------
On 2014-08-10T15:59:32+00:00 Florian Bantner wrote:

Seems this is a problem of liblcms2-2.5. As Marti told me 2.6 is tested
for multithreading.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/913434/comments/18

------------------------------------------------------------------------
On 2014-08-13T14:15:51+00:00 Andrew John Hughes wrote:

CLosing this then, if it's an issue with the native library.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/913434/comments/19

------------------------------------------------------------------------
On 2014-09-08T15:23:33+00:00 Claudio-a-delgado wrote:

Using: Linux 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC
2013 x86_64 x86_64 x86_64 GNU/Linux

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fc008813965, pid=1482, tid=140462821066496
#
# JRE version: 7.0_25-b30
# Java VM: OpenJDK 64-Bit Server VM (23.7-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [liblcms2.so.2+0x15965]  cmsSaveProfileToIOhandler+0x25

Reply at:
https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/913434/comments/20


** Changed in: openjdk
       Status: Unknown => Invalid

** Changed in: openjdk
   Importance: Unknown => Medium

-- 
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:
  Invalid
Status in “openjdk-7” package in Ubuntu:
  Confirmed

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