Java update breaks apps for some window managers

Bug #258374 reported by Curtis Nelson
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openjdk-6 (Ubuntu)
Won't Fix

Bug Description

The recent Java update for OpenJDK, I believe, (~ Aug 14, 2008) breaks some Java applications in window managers such as Awesome (and others).

From the Awesome FAQ:
"Java applications which use the XToolkit/XAWT backend may draw grey windows only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early JDK 1.6 versions, because it assumes a reparenting window manager. As a workaround you can use JDK 1.4 (which doesn´t contain the XToolkit/XAWT backend) or you can set the following environment variable (to use the older Motif backend instead): AWT_TOOLKIT=MToolkit"

Not sure how you would handle this but my application was working fine before the update and then broke unceremoniously afterward -- switching to another WM worked fine as did adding the AWT_TOOLKIT parameter. It just took a little research to find a fix.

I was switching back and forth between the sun-java package and the openjdk -- I was able to get the parameter method to work using the sun version, it didn't look like the OpenJDK version work with the parameter.

Sun Version (not sure this one ever worked right with Awesome):
Package: sun-java6-jre
Source: sun-java6
Version: 6-06-0ubuntu1

Old OpenJDK that worked:

New that seemed to break with the update:

Curtis Nelson (stylebox)
description: updated
Revision history for this message
Matthias Klose (doko) wrote :

Added a note in README.Debian, closing this report as won't fix.

Note for non-reparenting window manager users

If you are using a non-reparenting window manager, such as ratpoison, awesome
or dwm, some Java graphical applications using the AWT toolkit will only
display empty grey windows, as described in but #508650.

There are two solutions to work around this issue:
1. mask your window manager as one of the non-reparenting ones supported by AWT,
   using the wmname <> tool from the dwm-tools
   $ wmname LG3D
2. set the environment variable _JAVA_AWT_WM_NONREPARENTING:

You can automate these tasks by writing them to your ~/.xsessionrc:
$ cat >> ~/.xsessionrc <<EOF

Changed in openjdk-6 (Ubuntu):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.