JDK-6808591 : "java.lang.IllegalArgumentException: button doesn't exist 12" from Robot
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2009-02-23
  • Updated: 2011-02-16
  • Resolved: 2009-02-23
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b48)
Java HotSpot(TM) 64-Bit Server VM (build 15.0-b01, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Linux lithium 2.6.24-23-generic #1 SMP Mon Jan 26 01:04:16 UTC 2009 x86_64 GNU/Linux


A DESCRIPTION OF THE PROBLEM :
creating a Robot throws:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: button doesn't exist 12
	at java.awt.event.InputEvent.getMaskForButton(InputEvent.java:233)
	at java.awt.Robot.<init>(Robot.java:101)
	at e.tools.FatBits.<init>(FatBits.java:33)
	at e.tools.FatBits$4.run(FatBits.java:418)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:235)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:603)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:286)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:191)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:186)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:139)

note that i don't have a special mouse in any way. it's just a $7 MS two-button-plus-single-scrollwheel mouse.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
build http://software.jessies.org/salma-hayek/ --- source tarball here:

 http://software.jessies.org/salma-hayek/salma-hayek-source.tar.gz

run ./bin/fatbits

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
a little magnifier app like Apple's Pixie.
ACTUAL -
the exception shown above.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
even the most trivial application has the same problem:

lithium:/tmp$ cat robot.java
import java.awt.*;
public class robot {
	public static void main(String[] args) throws Exception {
		new Robot();
	}
}
lithium:/tmp$ javac robot.java
lithium:/tmp$ java robot
Exception in thread "main" java.lang.IllegalArgumentException: button doesn't exist 12
	at java.awt.event.InputEvent.getMaskForButton(InputEvent.java:233)
	at java.awt.Robot.<init>(Robot.java:101)
	at robot.main(robot.java:4)
lithium:/tmp$

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
jdk7 b47 worked, so i'll stick with that for the moment.

Release Regression From : 7
The above release value was the last known release where this 
bug was not reproducible. Since then there has been a regression.