[Nix-dev] openjdk cannot run GUI applications in NixOS

Shea Levy shea at shealevy.com
Tue Oct 9 17:17:09 CEST 2012


This should be fixed by 
https://github.com/NixOS/nixpkgs/commit/5150b55bf21e39ae6a7513b8bd7541ff6a4afb64

On 10/09/2012 08:59 AM, Sander van der Burg - EWI wrote:
> By the way: an interesting testcase is the Netbeans. I wrote the 
> expression in such a way that it uses Oracle's JDK. If you replace it 
> with OpenJDK, netbeans does not start and does not show anything.
> ------------------------------------------------------------------------
> *From:* nix-dev-bounces at lists.science.uu.nl 
> [nix-dev-bounces at lists.science.uu.nl] on behalf of Sander van der Burg 
> - EWI [S.vanderBurg at tudelft.nl]
> *Sent:* Tuesday, October 09, 2012 2:51 PM
> *To:* Shea Levy
> *Cc:* nix-dev at cs.uu.nl
> *Subject:* Re: [Nix-dev] openjdk cannot run GUI applications in NixOS
>
> Something like this:
>
> [INFO] --- gwt-maven-plugin:2.4.0:run (default-cli) @ 
> backend-web-admin ---
> [INFO] create exploded Jetty webapp in 
> /home/sander/Development/backend/backend-web/backend-web-admin/target/backend-web-admin-1.2-SNAPSHOT
> [INFO] auto discovered modules 
> [cc.conferences.backend.adminsite.AdminSite]
> [ERROR] java.lang.RuntimeException: Error running on Swing UI thread
> [ERROR]         at 
> com.google.gwt.dev.SwingUI.invokeAndWait(SwingUI.java:401)
> [ERROR]         at com.google.gwt.dev.SwingUI.initialize(SwingUI.java:245)
> [ERROR]         at 
> com.google.gwt.dev.DevModeBase.doStartup(DevModeBase.java:889)
> [ERROR]         at com.google.gwt.dev.DevMode.doStartup(DevMode.java:424)
> [ERROR]         at 
> com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1058)
> [ERROR]         at 
> com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
> [ERROR]         at com.google.gwt.dev.DevMode.main(DevMode.java:311)
> [ERROR] Caused by: java.lang.reflect.InvocationTargetException
> [ERROR]         at java.awt.EventQueue.invokeAndWait(EventQueue.java:1242)
> [ERROR]         at 
> com.google.gwt.dev.SwingUI.invokeAndWait(SwingUI.java:397)
> [ERROR]         ... 6 more
> [ERROR] Caused by: java.lang.NullPointerException
> [ERROR]         at 
> sun.awt.X11FontManager.getDefaultPlatformFont(X11FontManager.java:779)
> [ERROR]         at sun.font.SunFontManager$2.run(SunFontManager.java:428)
> [ERROR]         at java.security.AccessController.doPrivileged(Native 
> Method)
> [ERROR]         at sun.font.SunFontManager.<init>(SunFontManager.java:371)
> [ERROR]         at sun.awt.X11FontManager.<init>(X11FontManager.java:32)
> [ERROR]         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> [ERROR]         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> [ERROR]         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> [ERROR]         at 
> java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> [ERROR]         at java.lang.Class.newInstance0(Class.java:372)
> [ERROR]         at java.lang.Class.newInstance(Class.java:325)
> [ERROR]         at 
> sun.font.FontManagerFactory$1.run(FontManagerFactory.java:80)
> [ERROR]         at java.security.AccessController.doPrivileged(Native 
> Method)
> [ERROR]         at 
> sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:71)
> [ERROR]         at 
> sun.font.SunFontManager.getInstance(SunFontManager.java:245)
> [ERROR]         at 
> sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:264)
> [ERROR]         at 
> sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1012)
> [ERROR]         at 
> javax.swing.JComponent.getFontMetrics(JComponent.java:1624)
> [ERROR]         at 
> javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(BasicLabelUI.java:227)
> [ERROR]         at 
> javax.swing.JComponent.getPreferredSize(JComponent.java:1660)
> [ERROR]         at 
> javax.swing.plaf.basic.BasicComboBoxRenderer.getPreferredSize(BasicComboBoxRenderer.java:84)
> [ERROR]         at 
> javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1363)
> [ERROR]         at 
> javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1311)
> [ERROR]         at 
> javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(BasicListUI.java:2623)
> [ERROR]         at 
> javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
> [ERROR]         at 
> javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
> [ERROR]         at 
> javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
> [ERROR]         at 
> javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
> [ERROR]         at 
> javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
> [ERROR]         at 
> javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
> [ERROR]         at javax.swing.JList.setSelectedIndex(JList.java:2212)
> [ERROR]         at 
> javax.swing.plaf.basic.BasicComboPopup.setListSelection(BasicComboPopup.java:1144)
> [ERROR]         at 
> javax.swing.plaf.basic.BasicComboPopup.access$300(BasicComboPopup.java:63)
> [ERROR]         at 
> javax.swing.plaf.basic.BasicComboPopup$Handler.itemStateChanged(BasicComboPopup.java:982)
> [ERROR]         at 
> javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1225)
> [ERROR]         at 
> javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1282)
> [ERROR]         at 
> javax.swing.JComboBox.contentsChanged(JComboBox.java:1329)
> [ERROR]         at 
> javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118)
> [ERROR]         at 
> javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:94)
> [ERROR]         at 
> javax.swing.DefaultComboBoxModel.addElement(DefaultComboBoxModel.java:132)
> [ERROR]         at javax.swing.JComboBox.addItem(JComboBox.java:718)
> [ERROR]         at 
> com.google.gwt.dev.shell.ShellMainWindow.<init>(ShellMainWindow.java:189)
> [ERROR]         at com.google.gwt.dev.SwingUI$3.run(SwingUI.java:258)
> [ERROR]         at 
> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
> [ERROR]         at 
> java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
> [ERROR]         at java.awt.EventQueue.access$000(EventQueue.java:101)
> [ERROR]         at java.awt.EventQueue$3.run(EventQueue.java:666)
> [ERROR]         at java.awt.EventQueue$3.run(EventQueue.java:664)
> [ERROR]         at java.security.AccessController.doPrivileged(Native 
> Method)
> [ERROR]         at 
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
> [ERROR]         at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
> [ERROR]         at 
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
> [ERROR]         at 
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
> [ERROR]         at 
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
> [ERROR]         at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
> [ERROR]         at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
> [ERROR]         at 
> java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
>
> I'm currently trying to invoke GWT stuff from a Maven script. The GWT 
> tool is a GUI application and it tries to communicate with the X 
> server, but it fails somehow. If I override the jdk in Maven to use 
> Oracle's JDK, it works fine and it shows me the GWT Development Mode GUI.
>
> ------------------------------------------------------------------------
> *From:* Shea Levy [shea at shealevy.com]
> *Sent:* Tuesday, October 09, 2012 2:41 PM
> *To:* Sander van der Burg - EWI
> *Cc:* nix-dev at cs.uu.nl
> *Subject:* Re: [Nix-dev] openjdk cannot run GUI applications in NixOS
>
> Hi Sander,
>
> On 10/09/2012 08:39 AM, Sander van der Burg - EWI wrote:
>> I know that almost nobody uses Java GUI applications nowadays, but I 
>> have noticed that I cannot run AWT/Swing applications with OpenJDK 
>> (although the Oracle JDK works fine). For example, I cannot run 
>> netbeans with OpenJDK.
>>
>
> What error are you seeing?
>
>> I have circumvented the issue by utilising Oracle's JDK in the 
>> netbeans expression, but it would (of course) be much nicer to use 
>> OpenJDK.
>>
>> I haven't packaged OpenJDK, but perhaps someone knows a solution for it.
>>
>> Regards,
>>
>> Sander
>>
>>
>>
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20121009/bed9cd37/attachment-0001.html 


More information about the nix-dev mailing list