Why is the Output Generator failing to generate output in a Citrix environment?

The monitor port in Window > Preferences > DITA CMS is not set correctly.

Symptom

When users attempt to generate output in a Citrix environment, the following error is displayed:

Problem

Output Generator opens a single monitor port on the client machine for the server to send feedback information. In a Citrix environment, multiple users run on the same machine. When an output is triggered, only one port is opened; therefore, only one instance can use the monitor port and the others will receive the error message. For example:

eclipse.buildId=M20100211-1343 
java.version=1.6.0_21
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86
Error=The system could not produce the requested output. See the Error Log for details. 
java.lang.NullPointerException 
at com.ixiasoft.dita.eclipse.actions.runnablewithprogress.RunGenerateDoc$ProgressMonitorFactory.
createMonitor(RunGenerateDoc.java:276) 
at com.ixiasoft.dita.eclipse.actions.runnablewithprogress.RunGenerateDoc.
generateDocument(RunGenerateDoc.java:213)
at com.ixiasoft.dita.eclipse.actions.runnablewithprogress.
RunGenerateDoc.run(RunGenerateDoc.java:96) 
at com.ixiasoft.dita.eclipse.jobs.GenerateOutputJob.doit(GenerateOutputJob.java:98) 
at com.ixiasoft.dita.eclipse.jobs.AbstractActionJob.run(AbstractActionJob.java:59) 
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Solution

All Citrix users should set their monitor port in the DITA CMS Preferences window to the number "0".

  1. In the main DITA CMS menu, click Window > Preferences
  2. In the left pane, click DITA CMS.
  3. In the Monitor Port box, type 0.
  4. Click Apply.
  5. Click OK.