Java update breaks apps for some window managers

Bug #258374 reported by Curtis Nelson on 2008-08-15
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openjdk-6 (Ubuntu)
Undecided
Unassigned

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:
6b09-0ubuntu2

New that seemed to break with the update:
6b11-2ubuntu2

Curtis Nelson (stylebox) on 2008-08-15
description: updated
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 <http://tools.suckless.org/wmname> tool from the dwm-tools
   package:
   $ wmname LG3D
2. set the environment variable _JAVA_AWT_WM_NONREPARENTING:
   $ export _JAVA_AWT_WM_NONREPARENTING=true

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

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

Other bug subscribers