Latest updates break Java (Swing?)

I have something odd going on with my system. It's an Ultra 20 running the latest version of Solaris (6/06). I've been keeping it up to date with SUC, and the other night (9/12) there were some new patches. The only one I remember was a large update of the Xorg package (it was several megabytes). I installed the updates and everything went all right, but then last night I downloaded the latest NetBeans and the installer failed, giving me a Java exception (something about failed to create a font handle). I have previously installed other versions of this software, and never had any problems. And the kicker is, I tried to fire up SUC to see which patches I had loaded and maybe back them out to see if that fixed the problem -- and it won't run either!

Has anyone else run into this, and do you know of a solution? I don't mind backing out patches, or even reinstalling Java if I have to, but I'd like to know if someone has something that works before spending hours shotgunning the issue.

[1014 byte] By [tmnelson] at [2007-11-26 10:09:34]
# 1
Could you post the Java backtrace you get when you start updatemanager? It sounds like you may just be missing some fonts.
ForumModerator at 2007-7-7 1:53:06 > top of Java-index,Administration Tools,Sun Update Connection-System...
# 2

The stack trace is:

Exception in thread "main" java.lang.UnsatisfiedLinkError: getCreatedFontHandle

at sun.font.FontManager.getCreatedFontHandle(Native Method)

at sun.font.FontManager.setSameHandle(FontManager.java:429)

at javax.swing.plaf.FontUIResource.<init>(FontUIResource.java:42)

at javax.swing.plaf.metal.DefaultMetalTheme$FontDelegate.getFont(DefaultMetalTheme .java:230)

at javax.swing.plaf.metal.DefaultMetalTheme.getFont(DefaultMetalTheme.java:184)

at javax.swing.plaf.metal.DefaultMetalTheme.getMenuTextFont(DefaultMetalTheme.java :172)

at javax.swing.plaf.metal.MetalLookAndFeel$FontActiveValue.createValue(MetalLookAn dFeel.java:1687)

at javax.swing.UIDefaults.getFromHashtable(UIDefaults.java:200)

at javax.swing.UIDefaults.get(UIDefaults.java:130)

at javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:44)

at javax.swing.UIDefaults.getFont(UIDefaults.java:350)

at javax.swing.UIManager.getFont(UIManager.java:567)

at javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:89)

at javax.swing.plaf.basic.BasicMenuBarUI.installDefaults(BasicMenuBarUI.java:70)

at javax.swing.plaf.basic.BasicMenuBarUI.installUI(BasicMenuBarUI.java:56)

at javax.swing.plaf.metal.MetalMenuBarUI.installUI(MetalMenuBarUI.java:48)

at javax.swing.JComponent.setUI(JComponent.java:652)

at javax.swing.JMenuBar.setUI(JMenuBar.java:113)

at javax.swing.JMenuBar.updateUI(JMenuBar.java:122)

at javax.swing.JMenuBar.<init>(JMenuBar.java:90)

at com.sun.swup.client.ui.foundation.swing.GenericMenuBar.<init>(GenericMenu Bar.java:22)

at com.sun.swup.client.ui.MenuBarBuilder.createMenuBar(MenuBarBuilder.java:40)

at com.sun.swup.client.ui.UpdateFrame.<init>(UpdateFrame.java:52)

at com.sun.swup.client.ui.Application.getUpdateFrame(Application.java:208)

at com.sun.swup.client.ui.Application.<init>(Application.java:188)

at com.sun.swup.client.ui.Application.main(Application.java:108)

Would a patch have removed some fonts? That sounds really odd.

tmnelson at 2007-7-7 1:53:06 > top of Java-index,Administration Tools,Sun Update Connection-System...
# 3

Hi again.

The specific error you are getting is to do with localisation (from the Java docs):

--

public class UnsatisfiedLinkError

extends LinkageError

Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.

--

Could you post the output of:

# locale

ForumModerator at 2007-7-7 1:53:06 > top of Java-index,Administration Tools,Sun Update Connection-System...
# 4
bash-3.00$ localeLANG=CLC_CTYPE=CLC_NUMERIC="C"LC_TIME="C"LC_COLLATE="C"LC_MONETARY="C"LC_MESSAGES="C"LC_ALL=CShould I have something like "en_US" in there somewhere? If so, how can I add it?
tmnelson at 2007-7-7 1:53:06 > top of Java-index,Administration Tools,Sun Update Connection-System...
# 5
The C locale should be fine. Actually, the fact that you are using the C locale makes this issue slightly more unusual.Could you post this issue in a Java specific forum? It would probably be more likely to receive the attention it deserves there.
ForumModerator at 2007-7-7 1:53:06 > top of Java-index,Administration Tools,Sun Update Connection-System...
# 6
Nothing to do with localisation. "native language" means native programming language eg. C as opposed to Java.The error indicates that the necessary native library (.so file) can't be found. Odd thing is I can't find which library that native method is defined in.
davidholmes at 2007-7-7 1:53:06 > top of Java-index,Administration Tools,Sun Update Connection-System...
# 7

I'm guessing it's either in libmawt.so or libfontmanager.so. ldd(1) didn't reveal a getCreatedFontHandle symbol, but I did get a message that it couldn't find AWTgetFont or something like that. Not that that necessarily means anything, I didn't set LD_LIBRARY_PATH to include all the Java shared libs.

Anyway, it seems to have healed itself: I downloaded JDK1.5.0_08 and installed it in a temp directory. When I set JAVA_HOME to that directory, I got the same error, but then I copied it to /usr/jdk1.5.0_08 and symlinked /usr/java to it, and now update manager and netbeans installer work. Freaky. I'm going to try symlinking back to my old JDK, and I wouldn't be surprised if that started working again. If it doesn't, I'll try to dig around and see if I can figure out why not, but for the moment at least I'm no longer dead in the water.

Thanks everyone for your help, information and suggestions!

tmnelson at 2007-7-7 1:53:06 > top of Java-index,Administration Tools,Sun Update Connection-System...