View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0011777ParaViewBugpublic2011-01-31 09:162013-05-01 10:39
ReporterNikhil Shetty 
Assigned ToUtkarsh Ayachit 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusclosedResolutionopen 
PlatformOSOS Version
Product Version3.8.1 
Target VersionFixed in Version 
Summary0011777: DISPLAY environment variable (from *.pvx files for CAVE) being set after display is opened
DescriptionThe error (unable to open display) is occurring before the environment variables (from the pvx file) for the pvservers is being set. The vtkPVDisplayInformation::CopyFromObject is being called prior to the environment variables being set resulting in vtkSMMultiProcessRenderView::EndCreateVTKObjects setting RemoteRenderAvailable=false. I have not yet figured out how to do it, but the best solution would involve the PVX info being passed to all of the pvservers when they are started (assuming the pvx file is passed to the pvserver command) and if so, then the environment variable(s) should be set immediately - maybe the vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager should run before testing the displays assuming it is actually telling the pvservers how (and when) to set their environments. I've tested paraview-3.8.1 on our render cluster resulting in same errors. If we had only 1 X screen or X display and only 1 GPU per node, I agree we could set the DISPLAY environment variable. But, being we have 2 GPUs per render nodes in the CAVE and 2 GPUs per compute node in our render cluster, paraview is not working the way it should and it is a bug that should be fixed. Below is some basic output from printf statements I set in various functions to show what is and is not happening. It appears the HOSTNAME variable is not set when the pvservers are started so simply accept that "host: (null)" is a pvserver on one of the render nodes whereas "host:console" is the head node where the client is running.
Additional Informationfile: paraview3-cave
*******************************************************
LD_LIBRARY_PATH=/usr/local/qt-4.6.3/lib:$LD_LIBRARY_PATH

PV_PATH=/usr/local/paraview-3.8.0/bin

mpirun -machinefile /etc/paraview/machines -n 8 \
$PV_PATH/pvserver /etc/paraview/vis.pvx &

sleep 2

$PV_PATH/paraview --stereo --machines=/etc/paraview/machines \
--server=vis1bottom /etc/paraview/vis.pvx

sleep 5

killall mpirun
*******************************************************

file: /etc/paraview/vis.pvx
*******************************************************
<?xml version="1.0" ?>
<pvx>
 <Process Type="client" />
 <Process Type="server" >
   <Machine Name="vis1bottom"
       Environment="DISPLAY=vis1bottom:0.0"
       LowerLeft="-1.0 -1.0 -1.0"
       LowerRight="1.0 -1.0 -1.0"
       UpperLeft="-1.0 0.125 -1.0" />
   <Machine Name="vis1top"
       Environment="DISPLAY=vis1top:0.1"
       LowerLeft="-1.0 -0.125 -1.0"
       LowerRight="1.0 -0.125 -1.0"
       UpperLeft="-1.0 1.0 -1.0" />
   <Machine Name="vis2back"
       Environment="DISPLAY=vis2back:0.0"
       LowerLeft="-1.0 -1.0 1.0"
       LowerRight="1.0 -1.0 1.0"
       UpperLeft="-1.0 -1.0 -0.125" />
   <Machine Name="vis2front"
       Environment="DISPLAY=vis2front:0.1"
       LowerLeft="-1.0 -1.0 0.125"
       LowerRight="1.0 -1.0 0.125"
       UpperLeft="-1.0 -1.0 -1.0" />
   <Machine Name="vis3bottom"
       Environment="DISPLAY=vis3bottom:0.0"
       LowerLeft="1.0 -1.0 -1.0"
       LowerRight="1.0 -1.0 1.0"
       UpperLeft="1.0 0.125 -1.0" />
   <Machine Name="vis3top"
       Environment="DISPLAY=vis3top:0.1"
       LowerLeft="1.0 -0.125 -1.0"
       LowerRight="1.0 -0.125 1.0"
       UpperLeft="1.0 1.0 -1.0" />
   <Machine Name="vis4bottom"
       Environment="DISPLAY=vis4bottom:0.0"
       LowerLeft="-1.0 -1.0 1.0"
       LowerRight="-1.0 -1.0 -1.0"
       UpperLeft="-1.0 0.125 1.0" />
   <Machine Name="vis4top"
       Environment="DISPLAY=vis4top:0.1"
       LowerLeft="-1.0 -0.125 1.0"
       LowerRight="-1.0 -0.125 -1.0"
       UpperLeft="-1.0 1.0 1.0" />
 </Process>
</pvx>
*******************************************************

file: /etc/paraview/machines
*******************************************************
vis1top
vis1bottom
vis2front
vis2back
vis3top
vis3bottom
vis4top
vis4bottom
*******************************************************

$ paraview3-cave
Listen on port: 11111
Waiting for client...
vtkPVDisplayInformation::CopyFromObject - host: console testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: TRUE
Waiting for server...
Client connected.
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkPVDisplayInformation::CopyFromObject - host: (null) testing XOpenDisplay
vtkPVDisplayInformation::CopyFromObject - CanOpenDisplay: FALSE
vtkSMMultiProcessRenderView::EndCreateVTKObjects - host: console displayInfo di ptr: 0x14ecfd80 di->GetCanOpenDisplay: FALSE
vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager - host console sending DISPLAY environment
vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager - host console sending DISPLAY environment
vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager - host console sending DISPLAY environment
vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager - host console sending DISPLAY environment
vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager - host console sending DISPLAY environment
vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager - host console sending DISPLAY environment
vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager - host console sending DISPLAY environment
vtkSMClientServerRenderSyncManagerHelper::InitializeRenderSyncManager - host console sending DISPLAY environment
ERROR: Error occured on console
ERROR: In /root/install/ParaView-3.8.1/Servers/ServerManager/vtkSMIceTMultiDisplayRenderViewProxy.cxx, line 71
vtkSMCaveRenderViewProxy (0x14eb6df0): Display not accessible on server. Cannot render on tiles with inaccesible display.

vtkProcessModule::SetProcessEnvironmentVariable - host: (null) Setting environment variable: DISPLAY=vis1bottom:0.0
vtkProcessModule::SetProcessEnvironmentVariable - host: (null) Setting environment variable: DISPLAY=vis1top:0.1
vtkProcessModule::SetProcessEnvironmentVariable - host: (null) Setting environment variable: DISPLAY=vis3bottom:0.0
vtkProcessModule::SetProcessEnvironmentVariable - host: (null) Setting environment variable: DISPLAY=vis2back:0.0
vtkProcessModule::SetProcessEnvironmentVariable - host: (null) Setting environment variable: DISPLAY=vis2front:0.1
vtkProcessModule::SetProcessEnvironmentVariable - host: (null) Setting environment variable: DISPLAY=vis3top:0.1
vtkProcessModule::SetProcessEnvironmentVariable - host: (null) Setting environment variable: DISPLAY=vis4bottom:0.0
vtkProcessModule::SetProcessEnvironmentVariable - host: (null) Setting environment variable: DISPLAY=vis4top:0.1
Client connection closed.
mpirun: no process killed
TagsNo tags attached.
ProjectTBD
Topic Name
Typeincorrect functionality
Attached Files

 Relationships

  Notes
(0030664)
Nikhil Shetty (reporter)
2013-05-01 10:39

Not observed in latest v3.98

 Issue History
Date Modified Username Field Change
2011-01-31 09:16 Nikhil Shetty New Issue
2011-02-17 09:22 Utkarsh Ayachit Assigned To => Utkarsh Ayachit
2011-02-17 09:22 Utkarsh Ayachit Status backlog => tabled
2013-05-01 10:39 Nikhil Shetty Project => TBD
2013-05-01 10:39 Nikhil Shetty Type => incorrect functionality
2013-05-01 10:39 Nikhil Shetty Note Added: 0030664
2013-05-01 10:39 Nikhil Shetty Status backlog => closed
2013-05-01 10:39 Nikhil Shetty Steps to Reproduce Updated


Copyright © 2000 - 2018 MantisBT Team