AR# 12279: 6.1i ISE - A Project Navigator GUI fails to open on a Solaris platform
6.1i ISE - A Project Navigator GUI fails to open on a Solaris platform
Keywords: ISE, Project Navigator, GUI, hang, UNIX, core, crash, windu, come up, remote, rsh, rlogin, local, open, Solaris
General Description: ISE fails to start on my Solaris system.
Use ISE GUI background information for an additional experiment:
Xilinx GUI applications are ported from Windows to UNIX using a toolkit from Bristol. Part of this tool kit requires a number of daemons that automatically start up. These are:
* windu_registryd44 and * windu_clientd44
Windu_registryd44 provides Windows-like registry services to our GUI applications. Windu_clientd44 handles color-mapping from X-Windows to Windows applications. The _pn process can hang if this daemon is not running, although under normal circumstances, the _pn process will start windu_clientd44.
Ensure that no copy of windu_clientd44 is running (note that it may be running for someone else on the machine, so be sure not to kill another user's copy). Look for a running copy by typing:
ps -ef | grep windu_
If it is running, information similar to the following appears: carygrs 26184 1 0 16:04:46 pts/6 0:00 windu_clientd44 -display wind:0.0 -skipchecking
If it is not running, start it manually by entering the following at the command line: $XILINX/bin/sol/windu_clientd44 -d <DISPLAY>
where <DISPLAY> is the X_Windows DISPLAY you are running.
After starting this manually, attempt to start ISE.
NOTE: Not all X-Windows displays require this to be running, and it might exit automatically.
If ISE does not open on a Solaris system, ask these questions:
1. Do Xilinx implementation tools run correctly from the command line? If not, check the environment variables. The "$xilinx" environment variables must be set before the tools are run. You can do this by typing "source settings.csh" or "source settings.sh." (These are created for you during the installation.) Please see (Xilinx Answer 12387) and (Xilinx Answer 15826) for more information on installation and setup.
2. Do other Xilinx GUI applications open? (Try PACE, FPGA Editor, ChipView, XINFO, and iMPACT.) If no GUIs open, this can be caused by the corruption of GUI library files that are used in several Xilinx workstation tools. These files are re-created dynamically when the tools are run, so you can safely delete them and re-start the programs.
a. Look for any hanging .windu_registry processes that may be running, and kill each of them with the following command: kill -9 <the process ID number>.
b. In your home directory, run the command "rm -rf .windu*".
You might need to re-boot your Solaris machine if you are unable to kill processes or reclaim memory resources. In rare cases, you might also need to remove the ".Windu" file from your home directory. For more information, please see (Xilinx Answer 12241).
3. Is the LD_BREADTH environment variable set? Solaris 2.6 and earlier revisions require that the environment variable LD_BREADTH be set in order for Xilinx GUI applications to be used. If you do not source the "settings.csh/ settings.sh" file that Xilinx provides to set your $Xilinx environment variable, it is possible that your script is still setting this variable.
The LD_BREADTH" variable should NOT be set on patched versions of Solaris 2.6, or on any 2.7 or 2.8 version.
If you are not sure whether this variable is being set, type "$env|grep LD_BREADTH" at the command line.
To temporarily unset this variable, type: unsetenv LD_BREADTH 1
If this solves your GUI issue, remember to remove this variable from the shell script that is setting it. For more information, please see (Xilinx Answer 3306).
4. Are any messages appearing? If so, what do they say? If the message below appears, this is an expected message on the Solaris 5.8 platform and may be safely ignored: "OLE API Function OleInitialize is not currently implemented. Further warnings will be suppressed."
5. Is ISE being run locally or from a remote machine? If ISE is being run from a remote machine: How is the remote machine accessed? What is the OS of the remote machine? (type "uname -a") What is the OS of the local machine? Does the remote machine have multiple processors?
It has been observed that running the software on a Solaris 5.8 server and displaying back to a Solaris 5.6 or 5.7 system can prevent ISE from opening on the first call. Invoking ISE twice ("ise" -> <ENTER> "ise" -> <ENTER>) has then allowed Project Navigator to come up correctly. We have not been able to isolate the cause of this behavior in these instances.
6. Be sure that the "DISPLAY" variable is set correctly: setenv DISPLAY mynode:0
7. ISE attempts to set the XILINX, PATH and LD_LIBRARY_PATH env variables, then starts a _pn process. After you attempt to launch ISE ("ise" -> <ENTER>), is a _pn process running? (Type "top" -> <ENTER> at a command prompt for a list of the processes that are running on your system.) If a _pn process is running, note its process PID number. Does the process appear to be active (CPU%, STATE, etc.)?
Without killing the existing _pn process, attempt to launch ISE again (ise -> <ENTER>). Does ISE start? How many _pn processes are now running on the system? Which instance of _pn is the one that opens? What are the PID numbers?
If ISE opened, close it. Is a residual _pn process still running?
8. If launching ISE twice does not open the GUI, allow multiple instances of ISE(_pn) by typing the following command: setenv XIL_GUI_INSTANCECHECKING
Launch ISE again.
9. Does launching the _pn process directly ("_pn" -> <ENTER>) produce the same results?
10. When the _pn process starts, it checks for instances of itself. The first instance information is kept in: ~/.windu/.xilinx/CurrentUser/Software/Xilinx/ProjectNavigatoron<DISPLAY>/FirstInstance
This information allows _pn to cause the first instance to display itself before the second instance exits. When the first instance of _pn fails to display itself, does ~/.windu/.xilinx/CurrentUser/Software/Xilinx/ProjectNavigatoron<DISPLAY>/FirstInstance/ProcessID/_value_ contain the PID of the _pn process?
NOTE: In the above question, <DISPLAY> refers to the DISPLAY environment variable.
11. Ensure that the Xilinx environment variables are set and are all referenced first in the search order. Source the settings.csh file created during installation by typing "source settings.csh" or "source settings.sh".
12. Unset all environment variables known to have caused conflicts with other Xilinx software or Versions and unneeded variables:
unsetenv XNLSPATH unsetenv XLIBI18N_PATH unsetenv LANG (Please see (Xilinx Answer 14552) for more information.) unsetenv LC_CTYPE unsetenv LC_NUMERIC unsetenv LC_TIME
On Solaris versions 5.7 and 5.8: unsetenv LD_BREADTH unsetenv XIL_GUI_REGISTRYVERSIONCHECKING unsetenv XIL_GUI_REGISTRYFORMATCHECKING
13. Close Windu processes before launching ISE.
a. Shut down any unnecessary programs that are running on the system, especially graphical programs such as Netscape or design entry tools, which tend to require large system resources.
b. Find the process IDs of the Windu interface programs:
ps -e | grep windu
23531 ? 0:00 windu_cl 23560 ? 0:00 windu_re
(NOTE: Use the "-e" switch with Solaris and HPUX versions of "ps". Use "-x" with the Sun OS4 version.)
c. Kill all listed process IDs for Windu (you must have ownership of the processes or root privileges):
kill -9 23531 23560
d. Verify that processes have been "killed":
ps -e | grep windu
e. Invoke ISE
14. If you are running Xilinx software version 4.*, please see (Xilinx Answer 13176) for information regarding the number of semaphores available.
15. Modify the PATH and LD_LIBRARY_PATH variables to contain only Xilinx, then invoke ISE. For more information, please see (Xilinx Answer 15839).
Rebooting the system can often fix problems with invoking Project Navigator.
If Project Navigator will not open even when invoked multiple times from the same terminal window, a temporary way to work around the problem is to run the tools from the command line. To make this process easier, use the XFLOW program, which was introduced in the 2.1i software release.