I am experiencing a JAVA exception when starting a Java application on either the official or unofficial Debian OS versions of the Beaglebone platform. The application is running headful mode and uses Swing for the GUI… I have included the exception details below.
At first I thought that this might have been an Oracle Java issue but I have tried various combinations of Oracle Java Embedded 7 and 8 plus OpenJDK on a number of OS variants on the Beaglebone Black with exactly the same results. The same problem does not, however, occur on the unofficially supported Ubuntu OS - the application runs fine under the Ubuntu GUI. It looks to me as though there’s some subtle difference in X11 between the Debian and Ubuntu linux variants.
Information
-
The application is the 3.20 version of the jOrgan running with in the usual GUI (not headless) mode
-
The target platform is the Beaglebone Black revision A5A with 8GB Sandisk Ultra microSD Card
2). I have tried running the application on the above operating systems using the following JVMs::
-
Open JDK 7- Oracle SE Embedded Java version 7U55 (ejre-7u55-fcs-b13-linux-arm-vfp-hflt-client_headful-17_mar_2014.tar.gz)
-
Oracle SE Embedded Java version 8 full profile (ejdk-8-fcs-b132-linux-arm-vfp-hflt-03_mar_2014.tar.gz)
-
Open JDK
3). I have tested using the following BBB operating systems:using the above JVMs:
-
bone-debian-7.4-2014-04-23-2gb.img.xz ====> Exception
-
BBB-eMMC-flasher-debian-7.4-2014-04-23-2gb.img.xz ====> Exception
-
bone-debian-7.5-2014-05-06-2gb.img.xz ====> Exception
-
Ubuntu-precise=12.0.4.3-armhf-3.8.13-bone30.img.xz ====> Successful
.
The Exception Trace
java.lang.RuntimeException: cannot load system cursor: CopyDrop.32x32
at sun.awt.X11.XToolkit.lazilyLoadDesktopProperty(XToolkit.java:1512)
at java.awt.Toolkit.getDesktopProperty(Toolkit.java:1800)
at java.awt.dnd.DragSource.load(DragSource.java:131)
at java.awt.dnd.DragSource.(DragSource.java:147)
at swingx.docking.DockingPane.(DockingPane.java:112)
at jorgan.gui.dock.BordererDockingPane.(BordererDockingPane.java:13)
at jorgan.gui.OrganPanel$1.(OrganPanel.java:100)
at jorgan.gui.OrganPanel.(OrganPanel.java:100)
at jorgan.gui.OrganFrame.(OrganFrame.java:83)
at jorgan.gui.GUI$FrameInit.run(GUI.java:142)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:302)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.awt.AWTException: Exception: class java.lang.IllegalArgumentException Width (0) and height (0) must be non-zero occurred while creating cursor CopyDrop.32x32
at java.awt.Cursor.getSystemCustomCursor(Cursor.java:362)
at sun.awt.X11.XToolkit.lazilyLoadDesktopProperty(XToolkit.java:1510)
… 23 more :