So far, we have identified 3 major issues with Java 1.6 update 45 (32bit and 64bit). Unfortunately. this is the last officially version released for Java 1.6.

We recommend using earlier versions of the JVM. We have found that Java 1.6.0_37-b06 is very stable and have been using this version of Java in our desktop PDF editing application PDF Studio (version 9) with success.

Memory Management Issue

There seems to be an issue with memory management (memory leak?) or garbage collection in Java 1.6 update 45. The same code with the same memory allocation that works with previous updates will throw a Java heap space exception in update 45. For instance, we ran into this exception when converting a PDF document to images:

java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
at java.awt.image.Raster.createPackedRaster(Raster.java:458)
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
at java.awt.image.BufferedImage.<init>(BufferedImage.java:321)
at com.qoppa.pdfProcess.PDFPage.getImage(PDFPage.java:1113)

 

LineBreakMeasurer Broken

A bug was introduced in the LineBreakMeasurer class, which is being used in jWordConvert:

java.lang.ArrayIndexOutOfBoundsException: 0
at sun.font.ExtendedTextSourceLabel.createCharinfo(ExtendedTextSourceLabel.java:592)
at sun.font.ExtendedTextSourceLabel.getCharinfo(ExtendedTextSourceLabel.java:492)
at sun.font.ExtendedTextSourceLabel.getLineBreakIndex(ExtendedTextSourceLabel.java:438)
at java.awt.font.TextMeasurer.calcLineBreak(TextMeasurer.java:308)
at java.awt.font.TextMeasurer.getLineBreakIndex(TextMeasurer.java:544)
at java.awt.font.LineBreakMeasurer.nextOffset(LineBreakMeasurer.java:340)
at java.awt.font.LineBreakMeasurer.nextLayout(LineBreakMeasurer.java:422)
at com.qoppa.j.b.b.b.g.d(Unknown Source)

 

Font Manager Issue

A bug was introduced in the fontmanager.dll.

The JVM crashes when converting a Word document to PDF with Java 1.6 update 45 with the following java core dump:

Product Version: jOfficeConvert v2019R1 - Demo Version
Loading Document
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006d37c45b, pid=7860, tid=10040
#
# JRE version: 6.0_45-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [fontmanager.dll+0x3c45b]
#
# An error report file with more information is saved as:
# C:\Qoppa\Eclipse\workspaces\Testing\jOfficeConvert\hs_err_pid7860.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Here is the bug report: https://bugs.java.com/view_bug.do?bug_id=8013716

As you can see in the error message the bug is in the fontmanager.dll code. One workaround is to swap out the fontmanager.dll with the previous version of Java.

This error does not happen when running with Java 1.6u37.

Tagged: