Ubuntu 12.10 Java 7 - designer mouse clicks missing

Ubuntu 12.10, OpenJDK 1.7.0_09 (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.10.1).
Ignition 7.5.4 (b1206).

Can’t work out exactly what causes it, but the designer is almost constantly getting itself into a state where mouse clicks do nothing. The cursor still changes when you hover over resizeable borders/dividers etc, but nothing in the entire designer can be clicked.

This happens literally everywhere:

  • Welcome screen in a fresh designer
  • Script playground
  • Error popup from the script playground
  • Event script editor
  • Script Module Editor
  • Window editor
  • And others

My co-worker using Ubuntu 12.04 and Oracle Java 6 does not encounter this problem.

I was hoping to test this using Oracle’s Java to find out if it was an OpenJDK vs Oracle problem or a 6 vs 7 problem, but I have been unable to get Oracle’s Java to work.

To reliably reproduce:

  1. Open designer
  2. Open script playground
  3. Observe that script playground buttons are clickable, etc
  4. Click on main designer window
  5. Move focus back to script playground by any means (clicking on it, clicking the taskbar entry, alt-tab)

Clicking anywhere in the script playground window now does absolutely nothing, but using the keyboard works. Interestingly, the mouse cursor will change when moved over the dividers, but the buttons no longer highlight when the cursor is over them.

From this state, playing around and focusing on other non-Ignition windows can sometimes fix it, but then the main designer window will be broken (from here, using ctrl-t and the arrow keys to bring up a new script playground can fix it).

The focus is getting stuck somewhere, but I’m not sure where it’s going.

Was this 32 or 64 bit? I tried 64 bit and everything seemed ok. How did you install Ignition, was it using the .run file?

This kind of crap used to happen to me on older, pre-Unity versions of Ubuntu. There seems to be some kind of poor interaction between Java/Swing and compiz - turning off compiz always fixed this for me.

Of course now you don’t really have that option… so…

I’ve managed to get Oracle Java 7u9 working and I have exactly the same behaviour, so this isn’t an OpenJDK problem.

I installed the Ignition gateway using the apt repository, but that’s on a different machine. I don’t understand how the gateway installation method could have any bearing on the designer.

This is 64bit.

I’m not using Unity (ugh). I’m using KDE, and I have compiz disabled. Maybe I should try enabling it…

Problem persists in IceWM so this is clearly not a window manager problem.

I definitely don’t think it has anything to do with installing via apt or not either.

I’ll see if I can reproduce this on my 12.04 install.

My co-worker has been using 12.04 for several months and reports no issues.

[quote=“systemparadox”]To reliably reproduce:

  1. Open designer
  2. Open script playground
  3. Observe that script playground buttons are clickable, etc
  4. Click on main designer window
  5. Move focus back to script playground by any means (clicking on it, clicking the taskbar entry, alt-tab)

Clicking anywhere in the script playground window now does absolutely nothing, but using the keyboard works. Interestingly, the mouse cursor will change when moved over the dividers, but the buttons no longer highlight when the cursor is over them.

From this state, playing around and focusing on other non-Ignition windows can sometimes fix it, but then the main designer window will be broken (from here, using ctrl-t and the arrow keys to bring up a new script playground can fix it).

The focus is getting stuck somewhere, but I’m not sure where it’s going.[/quote]

These steps don’t reproduce it on 12.04 under Unity :/

I can’t reproduce it under 12.04 either, it’s just 12.10 that’s broken. Have you ever encountered this issue with any other apps? So far I’ve only encountered the problem with Ignition.

Ignition is the only Java software, at least that has a GUI, that I’ve ever really used on Linux. I’ll talk to James here and see if he can reproduce it on 12.10.

Any advance on this? I would really rather not have to downgrade Ubuntu.

Thanks.

The best way to reliably reproduce this is to create a button that throws an exception. On an affected machine the error popup with have the focus bug 95% of the time.

I now have 3 test machines for this:
Machine A - Ubuntu 12.10 fresh install. Nvidia GeForce 210.
Machine B - Ubuntu 12.10 fresh install. Nvidia GeForce 8400 GS.
Machine C - Ubuntu upgraded from 11.04 to 12.10. Radeon HD 4250.

Machines B and C exhibit focus bug in KDE. Doesn’t seem to matter if Compiz is enabled or not. Disabling KDE’s focus stealing prevention does not appear to help. So far I am unable to reproduce the problem on machine A.

I am unable to reproduce the bug in Unity on any machine.

xprops gives no differences between a ‘normal’ popup and a broken one.

Any hints on what might be causing this would be much appreciated. I’m currently just stabbing in the dark.

Unfortunately, so far I’m falling under Machine A - can’t reproduce. Using an ATI Radeon 4000(?) series I believe, and Machine A was using Nvidia, so doesn’t look like a video driver issue. Clean install of 12.10, OpenJDK 7u9, KDE installed/used. I tried your latest suggestion for reproduction, and no dice.

I would be interested if Sun Java fixes it, let us know if you get that working. Otherwise, I’m not sure what I’m missing that could be different than your systems that are exhibiting the issue.

I did get Oracle Java 7u9 working and had exactly the same problem.

I’ve noticed that the issue is only triggered when the focus moves away from the popup and back again. For example, given a button that produces an error, the error dialog will be working fine initially. However, if you click on the client window in the background and then try to refocus on the error dialog that’s when it breaks. Same with the designer and the script playground window.

Th error is not triggered if you click on the client window titlebar, only if you click on the main content area.

I’VE FINALLY FOUND IT!

To reproduce:

  1. Install or upgrade to Ubuntu 12.10
  2. Install kde-full
  3. Login to KDE
  4. Go to System Settings -> Input Devices -> Layouts
  5. Leave it set to Global Switching Policy
  6. Tick ‘Configure Layouts’ and add any secondary layout
  7. Switch to the secondary layout
  8. Open an Ignition client and click a button that throws an exception
  9. Click the main content area of the client window to defocus the error dialog
  10. Click on the error dialog
  11. Notice now that you’ve probably got the wrong cursor icon and clicking anywhere on the error dialog sends the focus back to the main client window. The error dialog is completely unusable with the mouse, but the keyboard still works (you can use ctrl-c to close, arrow keys and tab to move around, etc).
  12. Switch back to the primary layout and everything will magically work again. Even if you have a broken dialog open, switching the layout back will fix it.

It does not matter which layout is primary and which is secondary. The primary one (the first in the layout list) always works and any alternative layout is always broken.

If the secondary layout is exactly the same as the first layout, it will still break (but you have to add a third layout to try this because it seems that KDE does not bother switching if all layouts are identical).

I do not understand why an alternate keyboard layout breaks click focus. Even more strange is the fact that the keyboard always works fine, it’s only ever mouse clicks that are broken.

I can now reliably reproduce this on any 12.10 machine, including machine A. I cannot reproduce this on 12.04.

At this point I do not know whether the blame lies with the input system or Java.

The problem can also be reproduced in Unity in the same way.

Nice, thanks for finding that, I was able to replicate. It looks unrelated to Ignition, but I’ll have a developer take a look by putting in a bug ticket.

This is happening to me on Ubuntu 12.10 Gnome Shell Remix [uses Gnome Shell instead of Unity]. It looks like this may be an issue with the Java runtime or X11 since it’s occurring on both Gnome and KDE desktop environments.

Thanks for the additional information, I’ll add that to the ticket.