Well, it is even worse. I built a little test application actually opening a JFrame and displaying a JButton opening a JFileChooser, and the newly build jre throws exceptions on repaint:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class sun.font.SunFontManager at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:264) at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1113) at javax.swing.JComponent.getFontMetrics(JComponent.java:1626) at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:372) at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:345) at javax.swing.plaf.basic.BasicButtonUI.paint(BasicButtonUI.java:204) at javax.swing.plaf.metal.MetalButtonUI.update(MetalButtonUI.java:139) at javax.swing.JComponent.paintComponent(JComponent.java:780) at javax.swing.JComponent.paint(JComponent.java:1056) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManag er.java:290) at javax.swing.RepaintManager.paint(RepaintManager.java:1272) at javax.swing.JComponent._paintImmediately(JComponent.java:5158) at javax.swing.JComponent.paintImmediately(JComponent.java:4969) at javax.swing.RepaintManager$4.run(RepaintManager.java:831) at javax.swing.RepaintManager$4.run(RepaintManager.java:814) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionP rivilege(ProtectionDomain.java:80) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:7 38) at javax.swing.RepaintManager.access$1200(RepaintManager.java:64) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java :1732) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionP rivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre ad.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread. java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Does this have something to do with the whole freetype thing? or is something missing after make bootcycle-images /make install to actually produce a working jre? Some environmnet variable to be configured to provide a classpath further than JAVA_HOME or something like that? The FontManager is located in rt.jar... Do I need to sign the jars before they work or something like that? reminder: this is a 32bit jre build from stable jdk8_u102-b14 on win 7 with --with-target-bits=32 \ --enable-unlimited-crypto \ --with-cacerts-file=c:/openjdk/cacerts \ --disable-debug-symbols \ --disable-zip-debug-info \ --disable-ccache \ --with-jtreg=c:/openjdk/jtreg -- peter kollner <pe...@asgalon.net>