Tracefile Contains: No Fonts Were Found In Directory [on Red Hat 5] (Doc ID 1126433.1)

Last updated on JULY 17, 2017

Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.5 - Release: 10.2 to 10.2
Linux x86
Linux x86-64

Symptoms


=== ODM Issue Clarification ===

Attempting to run a specific java stored procedure which runs fine in another system (Linux Itanium) trace files contain an error.

Sample testcase:

CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED CONVERTEFOTO as import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class ConverteFoto {

public static oracle.sql.BLOB ajustaFoto(oracle.sql.BLOB foto, int largura, int altura) throws Exception {

if (foto == null) { return null;}
else {
InputStream JPGOriginal = new BufferedInputStream(foto.getBinaryStream());

java.awt.image.BufferedImage bIOrigem = javax.imageio.ImageIO.read(JPGOriginal);

java.awt.image.BufferedImage bINova = new java.awt.image.BufferedImage(largura, altura, java.awt.image.BufferedImage.TYPE_BYTE_GRAY);

Graphics2D G2DNova = bINova.createGraphics();
G2DNova.setComposite(AlphaComposite.Src);
G2DNova.drawImage(bIOrigem, 0, 0, largura, altura, null);
G2DNova.dispose();

ByteArrayOutputStream baos = new ByteArrayOutputStream();
JPEGImageEncoder jpegImageEncoder = JPEGCodec.createJPEGEncoder(baos);
jpegImageEncoder.encode(bINova);

oracle.sql.BLOB blob = oracle.sql.BLOB.createTemporary(foto.getConnection(),false,oracle.sql.BLOB.DURATION_CALL);
blob.putBytes(1, baos.toByteArray());

return blob;
}}}
/

CREATE OR REPLACE FUNCTION FC_AJUSTA_FOTO(FOTO BLOB, LARGURA NUMBER, ALTURA NUMBER) RETURN BLOB
AS LANGUAGE JAVA
NAME 'ConverteFoto.ajustaFoto(oracle.sql.BLOB, int, int) return BLOB';
/

declare
v_blob blob;
BEGIN
select fc_ajusta_foto(to_blob(hextoraw(12345)), 111, 155) tester
INTO v_blob
from dual;
END;
/


The above code will likely generate an error such as:

ORA-29515: exit called from Java code with status 2

because of the fake blob value of 12345.  However, the associated tracefile is generated on the O/S in the directory for the udump traces.



Sample of tracefile contents:

*** 2010-06-16 17:18:56.862
*** ACTION NAME:() 2010-06-16 17:18:56.862
*** MODULE NAME:(SQL*Plus) 2010-06-16 17:18:56.862
*** SERVICE NAME:(SYS$USERS) 2010-06-16 17:18:56.862
*** SESSION ID:(19.48563) 2010-06-16 17:18:56.862
No fonts were found in '/refresh/64bit/app/oracle/product/10.2.0.4.0/javavm//lib/fonts:/usr/X11R6/lib/X11/fonts/Type1:/usr/X11R6/lib/X11/fonts/TrueType:/usr/X11R6/lib/X11/fonts/tt:/usr/share/fonts/ja/TrueType'.

Changes

Moving to Red Hat 5 for Linux Itanium or a previous release of Red Hat (ie 3 or 4).

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms