JAVA Exception on BeagleBone Black Debian Distributions

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

  1. The application is the 3.20 version of the jOrgan running with in the usual GUI (not headless) mode

  2. 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 :

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
1) The application is the 3.20 version of the jOrgan running with in the
usual GUI (not headless) mode

2) 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

Yuck, well contact:

http://www.oracle.com/us/support/contact/index.html

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

It'll probably work just fine with Debian Jessie:
http://elinux.org/BeagleBoardDebian#Debian_Testing_.28jessie.29

Which has a newer libc/xorg stack then Debian Wheezy

Regards,