View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0011777 | ParaView | Bug | public | 2011-01-31 09:16 | 2013-05-01 10:39 | ||||
Reporter | Nikhil Shetty | ||||||||
Assigned To | Utkarsh Ayachit | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | open | ||||||
Platform | OS | OS Version | |||||||
Product Version | 3.8.1 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0011777: DISPLAY environment variable (from *.pvx files for CAVE) being set after display is opened | ||||||||
Description | The 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 Information | file: 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 | ||||||||
Tags | No tags attached. | ||||||||
Project | TBD | ||||||||
Topic Name | |||||||||
Type | incorrect functionality | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0030664) Nikhil Shetty (reporter) 2013-05-01 10:39 |
Not observed in latest v3.98 |
Notes |
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 |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |