I am running Ubuntu 10.0.4, Gnome 2.30.0, Knopflerfish 2.3.3, and open JVMs (either/both Cacao & JamVM) using GNU Classpath 0.98.
The problem: When starting the KF Desktop bundle, a GUI window opens, but it remains all grey.
I've worked through a few errors in the log, specifically:
(.:5283): GConf-CRITICAL **: gconf_entry_unref: assertion `REAL_ENTRY (entry)->refcount > 0' failed
Exception in thread "AWT-EventQueue-2"
(.:5283): GConf-CRITICAL **: gconf_entry_unref: assertion `REAL_ENTRY (entry)->refcount > 0' failed
Exception in thread "AWT-EventQueue-2"
Where the stacktrace for that AWT exception is:
java.lang.NullPointerException
at javax.swing.JTree.removeDescendantSelectedPaths(JTree.java:3085)
at javax.swing.JTree$TreeModelHandler.treeStructureChanged(JTree.java:1299)
at javax.swing.tree.DefaultTreeModel.fireTreeStructureChanged(DefaultTreeModel.java:606)
at javax.swing.tree.DefaultTreeModel.nodeStructureChanged(DefaultTreeModel.java:455)
at org.knopflerfish.bundle.desktop.prefs.JPrefsTree.onExpand(JPrefsTree.java:436)
at org.knopflerfish.bundle.desktop.prefs.JPrefsTree$1.treeExpanded(JPrefsTree.java:73)
at javax.swing.JTree.fireTreeExpanded(JTree.java:1852)
at javax.swing.JTree.expandPath(JTree.java:2597)
at org.knopflerfish.bundle.desktop.prefs.TreeUtils.expandPath(TreeUtils.java:86)
at org.knopflerfish.bundle.desktop.prefs.TreeUtils.expandPath(TreeUtils.java:97)
at org.knopflerfish.bundle.desktop.prefs.TreeUtils.expandPath(TreeUtils.java:70)
at org.knopflerfish.bundle.desktop.prefs.TreeUtils.expandPaths(TreeUtils.java:63)
at org.knopflerfish.bundle.desktop.prefs.JPrefsTree.searchAndExpand(JPrefsTree.java:238)
at org.knopflerfish.bundle.desktop.swing.PrefsDisplayer$JPrefs.mountBundles(PrefsDisplayer.java:219)
at org.knopflerfish.bundle.desktop.swing.PrefsDisplayer$JPrefs.init(PrefsDisplayer.java:150)
at org.knopflerfish.bundle.desktop.swing.PrefsDisplayer$JPrefs.<init>(PrefsDisplayer.java:131)
at org.knopflerfish.bundle.desktop.swing.PrefsDisplayer.newJComponent(PrefsDisplayer.java:95)
at org.knopflerfish.bundle.desktop.swing.DefaultSwingBundleDisplayer.createJComponent(DefaultSwingBundleDisplayer.java:326)
The solution attempts so far include:
Specifying a GConf property (with any non-system path), which causes the GConf errors to go away:
java -Dgnu.java.util.prefs.gconf.system_root=/apps/knopfler -jar framework.jar
A patch & recompile for GNU Classpath -- to check for and avoid the null pointer exception (Which causes the AWT exception message to go away)
Specifying the GtkToolkit, which does nothing different as far as I can tell:
java -Dgnu.java.util.prefs.gconf.system_root=/apps/knopfler -Dgnu.classpath.boot.library.path=/usr/lib/classpath -Dawt.toolkit=gnu.java.awt.peer.gtk.GtkToolkit -jar framework.jar
Although I've gotten some of the error messages to go away, the GUI window is still a blank grey and I'm not sure whether I'm just suppressing symptoms, making progress, or whether the error messages above are unrelated to the blank window problem. Anyone have experience successfully running Knopflerfish desktop using an open JVM + GNU Classpath?
Kind regards ~Dan