Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎06-14-2010

2018.3 Vivado - Cannot start the Vivado GUI Multiple Display Issue: IllegalArgumentException: Window must not be zero

On some Linux OS', Vivado 2018.3 and newer releases exit on launch after start_gui with the following message:

****** Vivado v2018.3 (64-bit)
  **** SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
  **** IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
    ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.

    at java.desktop/java.awt.EventQueue.invokeAndWait(Unknown Source)
    at java.desktop/java.awt.EventQueue.invokeAndWait(Unknown Source)
    at java.desktop/javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
    at ui.PlanAhead.i(SourceFile:1505)
    at ui.PlanAhead.eq(SourceFile:585)
    at ui.PlanAhead.ex(SourceFile:881)
    at ui.PlanAhead.a(SourceFile:1609)
    at ui.frmwork.b.l.d(SourceFile:41)
    at ui.frmwork.HTclEventBroker.i(SourceFile:255)
    at ui.frmwork.HTclEventBroker.fireTclEvent(SourceFile:350)
Caused by: java.lang.IllegalArgumentException: Window must not be zero
    at java.desktop/sun.awt.X11.XAtom.checkWindow(Unknown Source)
    at java.desktop/sun.awt.X11.XAtom.getAtomData(Unknown Source)
    at java.desktop/sun.awt.X11.XToolkit.getWorkArea(Unknown Source)
    at java.desktop/sun.awt.X11.XToolkit.getInsets(Unknown Source)
    at java.desktop/sun.awt.X11.XToolkit.getScreenInsets(Unknown Source)
    at java.desktop/sun.java2d.SunGraphicsEnvironment.getUsableBounds(Unknown Source)


Vivado 2018.2 and earlier releases work without issues on the same machine.

What is causing this issue?


To address this issue, for now, please use the patch which is provided in the Xilinx Answer Record AR#72614 

This patch can be used to address the issue in Vivado where the Vivado GUI cannot be launched on some Linux operating systems if multiple monitors are used.

The problem is that GUI apps built with Java 9 (or later as of 12/06/2019) running on most versions of Linux will hit the "Window must not be zero" exception with 3 or more monitors attached.

This patch works around this issue by adding code that ignores the underlying condition to the Java boot loader.

The patch code is in AR72614.jar.

The instructions on how this can be run/applied are available in the above Answer Record.

After applying the patch in Vivado 2018.3 or 2019.2, the Vivado GUI will successfully launch without issuing the above error.

We are currently working with a JIDE Software Developer (i.e. Java developer) on implementing a permanent solution to this issue. We have confirmed with JIDE and they have committed our fix to their next release which we expect to drop in time for the 2020.1 release of Vivado, however this is subject to change.

Hope this helps.

Kind Regards,
Anatoli Curran,
Xilinx Technical Support

Don’t forget to reply, kudo, and accept as solution.

If starting with Versal, take a look at our Versal Design Process Hub and our
Versal Blogs

0 Replies