mayavi icon indicating copy to clipboard operation
mayavi copied to clipboard

mayavi build segfault with vtk-9.4.0

Open jjstickel opened this issue 11 months ago • 5 comments

Building against vtk-9.4.0 via macports results in,

Building TVTK classes... Fatal Python error: Segmentation fault

Full build log attached. Looks similar to #1209. Has anyone else built Mayavi successfully against vtk-9.4.0?

mayavi_build_error_vtk-9.4.0.txt

jjstickel avatar Dec 16 '24 16:12 jjstickel

The same cannot be installed. python 3.10 Windows11 vtk9.4.0

(py310) PS C:\Windows\system32> pip install mayavi
Collecting mayavi
  Using cached mayavi-4.8.2.tar.gz (7.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting apptools (from mayavi)
  Using cached apptools-5.3.0-py3-none-any.whl.metadata (4.3 kB)
Collecting envisage (from mayavi)
  Using cached envisage-7.0.3-py3-none-any.whl.metadata (5.2 kB)
Requirement already satisfied: numpy in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from mayavi) (2.2.0)
Collecting pyface>=6.1.1 (from mayavi)
  Using cached pyface-8.0.0-py3-none-any.whl.metadata (7.7 kB)
Collecting pygments (from mayavi)
  Using cached pygments-2.18.0-py3-none-any.whl.metadata (2.5 kB)
Collecting traits>=6.0.0 (from mayavi)
  Using cached traits-6.4.3-cp310-cp310-win_amd64.whl.metadata (5.2 kB)
Collecting traitsui>=7.0.0 (from mayavi)
  Using cached traitsui-8.0.0-py3-none-any.whl.metadata (6.8 kB)
Requirement already satisfied: packaging in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from mayavi) (24.2)
Requirement already satisfied: vtk in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from mayavi) (9.4.0)
Requirement already satisfied: setuptools in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from envisage->mayavi) (75.6.0)
Requirement already satisfied: matplotlib>=2.0.0 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from vtk->mayavi) (3.10.0)
Requirement already satisfied: contourpy>=1.0.1 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from matplotlib>=2.0.0->vtk->mayavi) (1.3.1)
Requirement already satisfied: cycler>=0.10 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from matplotlib>=2.0.0->vtk->mayavi) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from matplotlib>=2.0.0->vtk->mayavi) (4.55.3)
Requirement already satisfied: kiwisolver>=1.3.1 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from matplotlib>=2.0.0->vtk->mayavi) (1.4.7)
Requirement already satisfied: pillow>=8 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from matplotlib>=2.0.0->vtk->mayavi) (11.0.0)
Requirement already satisfied: pyparsing>=2.3.1 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from matplotlib>=2.0.0->vtk->mayavi) (3.2.0)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from matplotlib>=2.0.0->vtk->mayavi) (2.9.0.post0)
Requirement already satisfied: six>=1.5 in c:\users\alex\anaconda3\envs\py310\lib\site-packages (from python-dateutil>=2.7->matplotlib>=2.0.0->vtk->mayavi) (1.17.0)
Using cached pyface-8.0.0-py3-none-any.whl (1.3 MB)
Using cached traits-6.4.3-cp310-cp310-win_amd64.whl (5.0 MB)
Using cached traitsui-8.0.0-py3-none-any.whl (1.5 MB)
Using cached apptools-5.3.0-py3-none-any.whl (230 kB)
Using cached envisage-7.0.3-py3-none-any.whl (268 kB)
Using cached pygments-2.18.0-py3-none-any.whl (1.2 MB)
Building wheels for collected packages: mayavi
  Building wheel for mayavi (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for mayavi (pyproject.toml) did not run successfully.
  │ exit code: 3221225477
  ╰─> [42 lines of output]
      _configtest.c
      running bdist_wheel
      running build
      running build_py
      Building tvtk_classes.zip
      ----------------------------------------------------------------------
      Building TVTK classes... Windows fatal exception: access violation

      Current thread 0x00005654 (most recent call first):
        File "C:\Users\Alex\AppData\Local\Temp\pip-install-37dabq6f\mayavi_d0aa44852541439cb0d2fa395f641cd6\tvtk\vtk_parser.py", line 713 in _find_get_set_methods
        File "C:\Users\Alex\AppData\Local\Temp\pip-install-37dabq6f\mayavi_d0aa44852541439cb0d2fa395f641cd6\tvtk\vtk_parser.py", line 491 in _organize_methods
        File "C:\Users\Alex\AppData\Local\Temp\pip-install-37dabq6f\mayavi_d0aa44852541439cb0d2fa395f641cd6\tvtk\vtk_parser.py", line 157 in parse
        File "C:\Users\Alex\AppData\Local\Temp\pip-install-37dabq6f\mayavi_d0aa44852541439cb0d2fa395f641cd6\tvtk\wrapper_gen.py", line 337 in _gen_methods
        File "C:\Users\Alex\AppData\Local\Temp\pip-install-37dabq6f\mayavi_d0aa44852541439cb0d2fa395f641cd6\tvtk\wrapper_gen.py", line 238 in generate_code
        File "C:\Users\Alex\AppData\Local\Temp\pip-install-37dabq6f\mayavi_d0aa44852541439cb0d2fa395f641cd6\tvtk\code_gen.py", line 235 in _write_wrapper_class
        File "C:\Users\Alex\AppData\Local\Temp\pip-install-37dabq6f\mayavi_d0aa44852541439cb0d2fa395f641cd6\tvtk\code_gen.py", line 142 in generate_code
        File "C:\Users\Alex\AppData\Local\Temp\pip-install-37dabq6f\mayavi_d0aa44852541439cb0d2fa395f641cd6\tvtk\_setup.py", line 58 in gen_tvtk_classes_zip
        File "<string>", line 247 in build_tvtk_classes_zip
        File "<string>", line 254 in run
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 973 in run_command
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\dist.py", line 995 in run_command
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 316 in run_command
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 135 in run
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 973 in run_command
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\dist.py", line 995 in run_command
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 316 in run_command
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\command\bdist_wheel.py", line 381 in run
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 973 in run_command
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\dist.py", line 995 in run_command
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 954 in run_commands
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 199 in run_commands
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 183 in setup
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\__init__.py", line 117 in setup
        File "<string>", line 322 in <module>
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\build_meta.py", line 320 in run_setup
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\build_meta.py", line 522 in run_setup
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\build_meta.py", line 407 in _build_with_temp_dir
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\build_meta.py", line 426 in _build
        File "C:\Users\Alex\AppData\Local\Temp\pip-build-env-74ahc63j\overlay\Lib\site-packages\setuptools\build_meta.py", line 438 in build_wheel
        File "C:\Users\Alex\anaconda3\envs\py310\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251 in build_wheel
        File "C:\Users\Alex\anaconda3\envs\py310\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335 in main
        File "C:\Users\Alex\anaconda3\envs\py310\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353 in <module>
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for mayavi
Failed to build mayavi
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (mayavi)

AkexStar avatar Dec 21 '24 07:12 AkexStar

Update: Mayavi-4.8.2 (last tagged version) builds against vtk-9.4.1, but it will not start.

...
TypeError: unhashable type: 'PolyData'
...

Based on #1331 , it looks like main works with vtk-9.4.1? Can you make a new release? TIA!

jjstickel avatar Jan 07 '25 20:01 jjstickel

FWIW - I'm seeing the TVTK segfault with 4.8.2 and VTK 9.3.1.

opoplawski avatar Feb 20 '25 01:02 opoplawski

I'm also seeing a segfault with latest main of Mayavi and VTK 9.3.1:

vtkHyperTreeGridPreConfiguredSource: Ignoring method: Get/SetHTGMode
default: 0, range: None
  Using super <class 'vtkmodules.vtkRenderingOpenGL2.vtkDepthOfFieldPass'> instead of <class 'vtkmodules.vtkRenderingOpenGL2.vtkDepthImageProcessingPass'>
  Using super <class 'vtkmodules.vtkRenderingOpenGL2.vtkDepthImageProcessingPass'> instead of <class 'vtkmodules.vtkRenderingOpenGL2.vtkImageProcessingPass'>Bad to call vtkUniformHyperTreeGrid::GetXCoordinates
Bad to call vtkUniformHyperTreeGrid::GetYCoordinates
Bad to call vtkUniformHyperTreeGrid::GetZCoordinates
Fatal Python error: Segmentation fault

Current thread 0x00007fd73ca44bc0 (most recent call first):
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/tvtk/vtk_parser.py", line 692 in _find_get_set_methods
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/tvtk/vtk_parser.py", line 490 in _organize_methods
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/tvtk/vtk_parser.py", line 156 in parse
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/tvtk/wrapper_gen.py", line 338 in _gen_methods
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/tvtk/wrapper_gen.py", line 239 in generate_code
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/tvtk/code_gen.py", line 241 in _write_wrapper_class
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/tvtk/code_gen.py", line 148 in generate_code
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/tvtk/_setup.py", line 58 in gen_tvtk_classes_zip
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/setup.py", line 247 in build_tvtk_classes_zip
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/setup.py", line 254 in run
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 973 in run_command
  File "/usr/lib/python3.13/site-packages/setuptools/dist.py", line 950 in run_command
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 316 in run_command
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/command/build.py", line 135 in run
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 973 in run_command
  File "/usr/lib/python3.13/site-packages/setuptools/dist.py", line 950 in run_command
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 954 in run_commands
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 200 in run_commands
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 184 in setup
  File "/usr/lib/python3.13/site-packages/setuptools/__init__.py", line 117 in setup
  File "/builddir/build/BUILD/Mayavi-4.8.2-build/mayavi-49e6c8ce9db68b7dbfc8d23dcee867e89c6f8ef7/setup.py", line 322 in <module>

opoplawski avatar Feb 25 '25 14:02 opoplawski

@jjstickel you could try #1345

larsoner avatar May 06 '25 16:05 larsoner