Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4755210
Votes 0
Synopsis RFE: JRE win32 install time support for identifying bad fonts.
Category java:classes_2d
Reported Against mantis
Release Fixed 1.4.2(mantis)
State 10-Fix Delivered, request for enhancement
Priority: 3-Medium
Related Bugs 4482430 , 4755476
Submit Date 29-SEP-2002
Description
Plugging all the problems described in bug 
4482430:Unexpected exception from NativeFontWrapper.registerFonts(Native Method)
will take some time, as the full set of problems can't yet be identified.

A useful measure is to prevent the situation occurring in the most common
cases by identifying at installation time the fonts that may cause this kind
of crash. Installation time is preferred because it expensive to do tests at
run time, and in some cases they may be more likely to cause a crash than
prevent one.

The targetted platform is win32. win64 is a developer release and the
linux and solaris platforms have not yet been causing problems like this.
Work Around
N/A
Evaluation
the suggestions in the description should be implemented for 1.4.2

 xxxxx@xxxxx  2002-09-29
============================
Comments
  
  Include a link with my name & email   

Submitted On 04-NOV-2002
pcdennison
I think it's great that so much effort seems to be going into 
fixing this bug (and the other related bugs), and this install 
time fix is a great solution.

However, most of the software I work on is deployed using 
InstallAnywhere, where a VM is installed specifically for use 
with a single aplication. To the best of my knowledge (correct 
me if I'm wrong), this kind of installation procedure will not run 
the installation program usually used for Java Runtime 
Environment, therefore this bug fix will not be in effect on the 
installed VM.

If this is the case, is there any way that some means of 
detecting the bad fonts can be provided such that it can be 
done after the installation?


Submitted On 05-NOV-2002
philr
I suspect that not using the JRE installer would mean its
not run but I don't know anything about InstallAnywhere.
The issue raised was considered but a tool that can be run
by other installers is a much bigger thing than could be
done for 1.4.2 in the time. A determined developer could
write their own such tool (its largely a matter of using the
Font.createFont API on each font in turn and adding the path
names of the fonts that cause a crash to the badfonts.txt
file).
But 1.4.2 will also include fixes for a number of problems
which hopefully will greatly decrease the incidences of such
problems anyway.


Submitted On 21-FEB-2003
SteffenKiefer
Hi,

is it recommended to run a java program without installing the 
jre ? My client can't install a program because he has no 
administration rights. So I put the jre (1.3.1) along with my 
program. This worked fine so far. But on certain machines 
Java hangs. Is this because Java was not installed ? Here is 
the error message:
 
An unexpected exception has been detected in native code 
outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION 
occurred at PC=0x6d205635
Function 
name=Java_sun_awt_windows_DrawGlyphVectorGDI_drawGlyp
hVectorGDI
Library=C:\Dokumente und Einstellungen\GuntherL\Eigene 
Dateien\DCX\03Projects\04Misc\Showcase\RIC\jre\bin\fontman
ager.dll

Current Java thread:
	at sun.awt.font.NativeFontWrapper.initializeFont
(Native Method)
	at java.awt.Font.initializeFont(Font.java:269)
	at java.awt.Font.<init>(Font.java:298)
	at 
de.cyberconsult.smartcanvas.component.renderer.DefaultRend
erer.<clinit>(DefaultRenderer.java:34)
	at 
de.cyberconsult.smartcanvas.component.DefaultComponent.<i
nit>(DefaultComponent.java:58)
	at java.lang.reflect.Constructor.newInstance(Native 
Method)
	at 
de.cyberconsult.util.ConstructorParser.getInstance
(ConstructorParser.java:323)
	at 
de.cyberconsult.util.ConstructorParser.getInstance
(ConstructorParser.java:32)
	at 
de.cyberconsult.b2c.document.XmlInterpreter.getObjectFromD
escription(XmlInterpreter.java:170)
	at 
de.cyberconsult.b2c.document.XmlInterpreter.parseDocument
Tree(XmlInterpreter.java:222)
	at 
de.cyberconsult.b2c.document.XmlInterpreter.getRootCompon
ent(XmlInterpreter.java:77)
	at de.cyberconsult.b2c.MainB2C.init
(MainB2C.java:127)
	at de.cyberconsult.b2c.MainB2C.main
(MainB2C.java:206)



PLEASE NOTE: JDK6 is formerly known as Project Mustang