Catalyst script generator issues in 5.6.0-r2

Hi,

I’m having some troubles with the script generators in 5.6.0 rc2. When I have an annotate time source in the scene the script dies when running in situ. Removing the annotate time source from the scene solves the problem. Am I doing something wrong? I can’t tell with the new way of generating scripts, it’s pretty different than the old way. Also, the old way to generate the script that’s marked deprecated in the menu fails to create the script when the annotate time source is in the scene as well.

here is the run time error, with the new script generation method when annotate time source is in the scene

STEP 2 starts ...
do_insitu=1 insitu_int=1
STEP 2 ends. TIME = 7.739729396e-15 DT = 3.869864698e-15
Walltime = 0.367804578 s; This step = 0.118574666 s; Avg. per step = 0.183902289 s
WarpX::UpdateInSitu
  SENSEI InSitu Update ...
SENSEI Begin update...
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "ex2d.py", line 229, in RequestDataDescription
    
  File "/work/SENSEI/PV-5.6.0/lib/python2.7/site-packages/paraview/coprocessing.py", line 172, in LoadRequestedData
    datadescription.GetInputDescriptionByName(key).AllFieldsOn()
AttributeError: 'NoneType' object has no attribute 'AllFieldsOn'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "ex2d.py", line 229, in RequestDataDescription
    
  File "/work/SENSEI/PV-5.6.0/lib/python2.7/site-packages/paraview/coprocessing.py", line 172, in LoadRequestedData
    datadescription.GetInputDescriptionByName(key).AllFieldsOn()
AttributeError: 'NoneType' object has no attribute 'AllFieldsOn'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "ex2d.py", line 239, in DoCoProcessing
    
  File "/work/SENSEI/PV-5.6.0/lib/python2.7/site-packages/paraview/coprocessing.py", line 212, in UpdateProducers
    self.CreatePipeline(datadescription)
  File "ex2d.py", line 188, in CreatePipeline
    
  File "ex2d.py", line 34, in _CreatePipeline
    # state file generated using paraview version 5.6.0-RC2
  File "ex2d.py", line 91, in Pipeline
    
  File "/work/SENSEI/PV-5.6.0/lib/python2.7/site-packages/paraview/coprocessing.py", line 425, in CreateProducer
    raise RuntimeError ("Simulation input name '%s' does not exist" % inputname)
RuntimeError: Simulation input name 'AnnotateTime1' does not exist
SENSEI update complete (0.046591513 sec)
  1. It would be nice if you could attach the script.
  2. It looks like the script is asking the simulation’s data description for the ‘AnnotateTime1’ dataset. But I doubt your simulation is publishing anything like that. AnnotateTime1 sounds like the name of a paraview pipeline source.

I hope this got fixed before the release, I haven’t tried the latest version yet.

In any case it can be worked around by manually editing the generated Python script and adding the annotate time source in there.

I’m guessing that this is the same issue I reported at https://gitlab.kitware.com/paraview/paraview/issues/18558. It looks like it didn’t get fixed in 5.6.

It seems I’m having the same issue on PV 5.7.1 :frowning:

Here’s the Traceback from the coprocessor call:

Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "./pv.py", line 269, in RequestDataDescription
    coprocessor.LoadRequestedData(datadescription)
  File "/home/rnelias/local/all/paraview/5.7.1/lib64/python3.7/site-packages/paraview/coprocessing.py", line 173, in LoadRequestedData
    datadescription.GetInputDescriptionByName(key).AllFieldsOn()
AttributeError: 'NoneType' object has no attribute 'AllFieldsOn'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "./pv.py", line 269, in RequestDataDescription
    coprocessor.LoadRequestedData(datadescription)
  File "/home/rnelias/local/all/paraview/5.7.1/lib64/python3.7/site-packages/paraview/coprocessing.py", line 173, in LoadRequestedData
    datadescription.GetInputDescriptionByName(key).AllFieldsOn()
AttributeError: 'NoneType' object has no attribute 'AllFieldsOn'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "./pv.py", line 269, in RequestDataDescription
    coprocessor.LoadRequestedData(datadescription)
  File "/home/rnelias/local/all/paraview/5.7.1/lib64/python3.7/site-packages/paraview/coprocessing.py", line 173, in LoadRequestedData
    datadescription.GetInputDescriptionByName(key).AllFieldsOn()
AttributeError: 'NoneType' object has no attribute 'AllFieldsOn'
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "./pv.py", line 269, in RequestDataDescription
    coprocessor.LoadRequestedData(datadescription)
  File "/home/rnelias/local/all/paraview/5.7.1/lib64/python3.7/site-packages/paraview/coprocessing.py", line 173, in LoadRequestedData
    datadescription.GetInputDescriptionByName(key).AllFieldsOn()
AttributeError: 'NoneType' object has no attribute 'AllFieldsOn'

Could you share your script that’s causing this issue?

Hi Andy, I’m sending one of the several scripts I’ve tried

regards

Renato

pv.py (12.2 KB)

Hi Renato,

The issue here is that the Catalyst input “channel” is getting confused since it wasn’t properly specified. If you look in your pv.py script for 'cristo_..pvtu', that should be something like 'input', or whatever that channel was named in the adaptor. Normally this channel name is properly embedded in the file that you load into the ParaView GUI when creating your Catalyst script but this is only done IF you generate that file from either gridwriter.py or allinputsgridwriter.py available here. Once you create your Catalyst scripts from one of the files generated from a simulation run with either one of these scripts you should be all set. Note that gridwriter.py assumes a single channel name of input while allinputsgridwriter.py will handle multiple channel inputs.

As a hack, you can do either of the following to generate proper Catalyst scripts in ParaView 5.7:

  1. change 'cristo_..pvtu' to 'input', or whatever your channel name is in your Python scripts.
  2. in the ParaView GUI in the PIpeline Browser change the name of the reader source from cristo_..pvtu to input, or whatever your channel name is. You can do this by clicking on the name and just typing a replaced name.

Andy

Sorry for not giving my feedback but I couldn’t try your solution yet as I’m now struggling with another problem. Probably due to my ParaView 5.7.1 build…

I’ve compiled PV5.7.1 to use mesa library (offscreen rendering) but it’s returning me the following error:

(  53.044s) [pvbatch.56      ]vtkOpenGLRenderWindow.c:761    ERR| vtkOSOpenGLRenderWindow (0x5b2a360): Unable to find a valid OpenGL 3.2 or later implementation. Please update your video card driver to the latest version. If you are using Mesa please make sure you have version 11.2 or later and make sure your driver in Mesa supports OpenGL 3.2 such as llvmpipe or openswr. If you are on windows and using Microsoft remote desktop note that it only supports OpenGL 3.2 with nvidia quadro cards. You can use other remoting software such as nomachine to avoid this issue.
(  53.045s) [pvbatch.56      ]   vtkTextureObject.cxx:1834   ERR| vtkTextureObject (0x85471d0): failed at glTexImage2D 1 OpenGL errors detected
  0 : (1281) Invalid value

(  53.045s) [pvbatch.56      ]     vtkOpenGLState.cxx:75    WARN| Error in cache state for GL_BLEND
(  53.045s) [pvbatch.56      ]     vtkOpenGLState.cxx:82    WARN| Error in cache state for GL_DEPTH_TEST
(  53.045s) [pvbatch.56      ]     vtkOpenGLState.cxx:97    WARN| Error in cache state for GL_MULTISAMPLE
(  53.045s) [pvbatch.56      ]     vtkOpenGLState.cxx:105   WARN| Error in cache state for GL_SCISSOR_TEST
(  53.045s) [pvbatch.56      ]     vtkOpenGLState.cxx:131   WARN| Error in cache state for GL_VIEWPORT
(  53.045s) [pvbatch.56      ]     vtkOpenGLState.cxx:143   WARN| Error in cache state for GL_SCISSOR_BOX
(  53.046s) [pvbatch.56      ]     vtkOpenGLState.cxx:157   WARN| Error in cache state for GL_DEPTH_FUNC
(  53.046s) [pvbatch.56      ]     vtkOpenGLState.cxx:164   WARN| Error in cache state for GL_BLEND_SRC_RGB
(  53.048s) [pvbatch.56      ]     vtkOpenGLState.cxx:212   WARN| at stack loc
0x7f825dca720b : ??? [(???) ???:-1]

After setting “export MESA_GL_VERSION_OVERRIDE=3.2” environment variable (as found in a Utkarsh’s post), the error is now:

(  26.675s) [pvbatch.63      ]   vtkShaderProgram.cxx:447    ERR| vtkShaderProgram (0x6c7b3b0): 1: #version 150
2: #ifndef GL_ES
3: #define highp
4: #define mediump
5: #define lowp
6: #endif // GL_ES
7: #define attribute in
8: #define varying out
9:

Now, I’m sold… it seems my pvbatch is looking for a video card instead of using the offscreen rendering.

Here are my PV compilation options:

cmake ${HOME}/ParaView-v5.7.1 \
    -DBUILD_SHARED_LIBS=1 \
    -DPARAVIEW_ENABLE_PYTHON=1 \
    -DPARAVIEW_USE_MPI=1 \
    -DCMAKE_BUILD_TYPE=Debug \
    -DPARAVIEW_ENABLE_CATALYST=1 \
    -DPARAVIEW_INSTALL_DEVELOPMENT_FILES=1 \
    -DPARAVIEW_BUILD_QT_GUI=OFF \
    -DVTK_OPENGL_HAS_OSMESA=ON \
    -DVTK_USE_X=OFF \
    -DOSMESA_INCLUDE_DIR=/usr/include \
    -DOSMESA_LIBRARY=/usr/lib64/libOSMesa.so \
    -DVTK_USE_OFFSCREEN=ON \
    -DCMAKE_INSTALL_PREFIX=${HOME}/local/all/paraview/5.7.1 \
    -DPARAVIEW_INSTALL_DEVELOPMENT_FILES=1 \
    -DOPENGL_INCLUDE_DIR= \
    -DOPENGL_gl_LIBRARY=/usr/lib64/libGL.so \
    -DOPENGL_glu_LIBRARY=

MesaLib from the system…

This GL issue post should probably be either in a new post or in an existing post related to GL build issues.