Interact() crash the second time in pvpython

I’m using pvpython trying to replicate (without much success) work than in ParaView.

Right now I’m having trouble with pvpython and the funcion Iteract(), after closing the interact windows it doesn’t open again. Is this correct? How can I do this?

➜  ~ /Applications/ParaView-5.7.0.app/Contents/bin/pvpython ; exit;
Python 2.7.10 (default, Feb 22 2019, 21:55:15) 
[GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from paraview.simple import *
>>> cylinder2 = Cylinder()
>>> cylinder2.Resolution = 6
>>> cylinder2.Height = 1.0
>>> cylinder2.Radius = 0.5
>>> cylinder2.Center = [0.0, 0.0, 0.0]
>>> cylinder2.Capping = 1
>>> renderView1 = GetActiveViewOrCreate('RenderView')
>>> cylinder2Display = Show(cylinder2, renderView1)
>>> Interact()
>>> cylinder2.Resolution = 50
>>> Interact()

In mac I don’t get any message error, in Windows 10 I get

ERROR: In C:\bbd\6519e7fe\build\superbuild\paraview\src\VTK\Rendering\OpenGL2\vtkShaderProgram.cxx, line 491
vtkShaderProgram (00000190C6D2E400): Shader object was not initialized, cannot attach it.

Generic Warning: In C:\bbd\6519e7fe\build\superbuild\paraview\src\VTK\Rendering\OpenGL2\vtkOpenGLRenderTimer.cxx, line 124
vtkOpenGLRenderTimer::Stop called before vtkOpenGLRenderTimer::Start. Ignoring.

ERROR: In C:\bbd\6519e7fe\build\superbuild\paraview\src\VTK\Rendering\OpenGL2\vtkShaderProgram.cxx, line 491
vtkShaderProgram (00000190C6D2D320): Shader object was not initialized, cannot attach it.

ERROR: In C:\bbd\6519e7fe\build\superbuild\paraview\src\VTK\Rendering\OpenGL2\vtkOpenGLVertexArrayObject.cxx, line 280
vtkOpenGLVertexArrayObject (00000190C74323F0): attempt to add attribute without a program for attribute ndCoordIn

Generic Warning: In C:\bbd\6519e7fe\build\superbuild\paraview\src\VTK\Rendering\OpenGL2\vtkOpenGLQuadHelper.cxx, line 60
Error binding ndCoords to VAO.

I can’t reproduce on Linux.

@cory.quammen

More Info: this was tested with pvpython that comes with ParaView 5.6.2 in Windows 10 and with the pvpython that comes with ParaView 5.7 in mac with the same result

Okay. If I press ‘q’ on the windows and do something like

render_window = renderView1.GetRenderWindow()
render_window.Finalize()

then I can do Interact() again. I guess this is the desired behavior.

Closing the window is indeed not supported currently. You can quit the interactor loop – as you discovered – by hitting the q key. The window.Finalize call should not be necessary.