JDK-8031328 : Swing Elements do not get rendered
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Incomplete
  • OS: windows_8
  • Submitted: 2014-01-06
  • Updated: 2014-04-09
  • Resolved: 2014-01-21
Related Reports
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b121)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b63, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.2.9200]

EXTRA RELEVANT SYSTEM CONFIGURATION :
Java is usually running with Intel HD Graphics4000

Graphics Card: NVIDIA GeForce 710M (not offen used in the context with Java)

A DESCRIPTION OF THE PROBLEM :
I got the problem that almost all Swing UI Elements that are displaying text or images/icons don't get rendered. They contain some kind of aweful artifacts (like only the first part of a word get rendered or yyou can only see half of the icon).

I made some screenshots but I don't know how to attach them...

There is no problem on developing site but for clients or persons using Java Software it'll be annoying (like for me).

ADDITIONAL REGRESSION INFORMATION:
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b121)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b63, mixed mode)

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
It always happens if some text or icons are displayed.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
A working and well rendered UI.
ACTUAL -
"Broken" text and icons (see description for some more details)

ERROR MESSAGES/STACK TRACES THAT OCCUR :
Jan 06, 2014 8:47:53 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) r
eturned error code 5.

This happens almost every time I launch an application (not sure if it also come when I'm running console based one). I also noticed that it is not bound to Swing so it also appears if running JavaFX applications.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import javax.swing.*;

public class Bug {

public static void main(String[] args) {
JFrame frame = new JFrame("Bug Rendering Example");
JMenuBar bar = new JMenuBar();

JMenu file = new JMenu("File");
JMenuItem item = new JMenuItem("Test Button Rendering");
item.addActionListener(e -> JOptionPane.showConfirmDialog(null, "Small bug showcase", "Bug Rendering Example", JOptionPane.YES_NO_CANCEL_OPTION));
file.add(item);

bar.add(file);
bar.add(new JMenu("Edit"));
bar.add(new JMenu("Help"));

JTextArea area = new JTextArea();
area.setText("public class TextRenderingBug extends SwingBasedBug implements AnnoyingBug {"
+"

\tpublic TextRenderingBug(String name, String id, String desc) {
\t\tsuper(name, id, desc);}

\t@Override
\tpublic boolean isReallyAnnoying() {
\t\treturn true;
\t}
}");
frame.add(area);

frame.setJMenuBar(bar);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(500,350);
frame.setLocationByPlatform(true);

SwingUtilities.invokeLater(() -> frame.setVisible(true));
}
}
---------- END SOURCE ----------
Comments
closed as incomplete more than one week, please reopen if you have more info
21-01-2014

From the user comment: On 1/12/2014 4:37 PM, Sven wrote: > Hello, > I couldn't mention how to answer on the bug tracker. Here is the output: > [I] D3DInitializer::InitImpl > [I] OS Version = OS_WINDOWS7 or newer > [I] CheckAdaptersInfo > [I] ------------------ > [I] Adapter Ordinal : 0 > [I] Adapter Handle : 0x10001 > [I] Description : Intel(R) HD Graphics 4000 > [I] GDI Name, Driver : \\.\DISPLAY1, nvumdshimx.dll > [I] Vendor Id : 0x8086 > [I] Device Id : 0x0166 > [I] SubSys Id : 0x8411025 > [I] Driver Version : 9.18.13.1183 > [I] GUID : {D7B78E66-4226-11CF-0A77-4C28B4C2C435} > [I] D3DPPLM::CheckDeviceCaps: adapter 0: Passed > [I] ------------------ > [I] D3DGD_getDeviceCapsNative > [I] D3DContext::InitContext device 0 > [I] D3DContext::ConfigureContext device 0 > [I] D3DContext::ConfigureContext: successfully created device: 0 > [I] D3DContext::InitDevice: device 0 > [I] D3DContext::InitDefice: successfully initialized device 0 > [I] D3DInitializer::CleanImpl (normal) > I already updated both graphic card drivers, but that didn't help. I get the same output.
13-01-2014

Looks like a duplicate of JDK-8031275. But it should be confirmed.
09-01-2014

Please, set the J2D_TRACE_LEVEL=3 environment variable, compile and run the sample and attach the video adapter info from the program output (see JDK-8029621) The adapter and driver should have the same vendor. For example, Intel(R) HD Graphics adapter should have igdumdx32.dll (not nvumdshimx.dll from NVIDIA). Try also to update the video adapter drivers and rerun the sample.
09-01-2014

please evaluate asap
08-01-2014