Bug#1126861: vtk9: bigendian (s390x) pyvista triggers segfault in vtkMatplotlibMathTextUtilities::RenderOneCell

Drew Parsons <[email protected]>
Newsgroups gmane.linux.debian.ports.s390
Message-ID <177006033693.583240.13979410682546731720.reportbug__21359.4168353424$1770060458$gmane$org@sandy>
Package: vtk9
Version: 9.5.2+dfsg3-4
Severity: normal
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: s390x
Control: affects -1 src:python-pyvista
Control: forwarded -1 https://gitlab.kitware.com/vtk/vtk/-/issues/19931

CI testing of the debian package of pyvista 0.46.5-6 is finding a
segfault on bigendian s390x with libvtk-9.5 9.5.2+dfsg3-4. One thing
that is strange is that the test is passing with debian's earlier
build libvtk-9.5 9.5.2+dfsg2-4. The only substantial difference that I
can see between the two builds of VTK 9.5 is activation of parallel
HDF5 and xdmf3.

The passing pvista tests are logged at
https://ci.debian.net/packages/p/python-pyvista/testing/s390x/68318604/

The failing tests are logged at
https://ci.debian.net/packages/p/python-pyvista/testing/s390x/68332331/
or
https://ci.debian.net/packages/p/python-pyvista/unstable/s390x/68319108/

The pyvista error in those logs indicates a segfault in Render
...
501s tests/plotting/test_plotting.py::test_direction_objects[ParametricCrossCap-neg] PASSED [ 41%]
502s tests/plotting/test_plotting.py::test_plot_texture_alone PASSED          [ 41%]
502s tests/plotting/test_plotting.py::test_add_text_latex Fatal Python error: Segmentation fault
502s 
502s Thread 0x000003ff195ea8e0 (most recent call first):
502s   File "/usr/lib/python3.13/threading.py", line 363 in wait
502s   File "/usr/lib/python3.13/threading.py", line 660 in wait
502s   File "/usr/lib/python3/dist-packages/tqdm/_monitor.py", line 60 in run
502s   File "/usr/lib/python3.13/threading.py", line 1044 in _bootstrap_inner
502s   File "/usr/lib/python3.13/threading.py", line 1015 in _bootstrap
502s 
502s Current thread 0x000003ffa12f8140 (most recent call first):
502s   File "/tmp/autopkgtest-lxc.j0qtm0bb/downtmp/build.9ci/src/pyvista/plotting/plotter.py", line 2158 in render
502s   File "/tmp/autopkgtest-lxc.j0qtm0bb/downtmp/build.9ci/src/pyvista/plotting/plotter.py", line 7221 in show
502s   File "/tmp/autopkgtest-lxc.j0qtm0bb/downtmp/build.9ci/src/pyvista/_deprecate_positional_args.py", line 245 in inner_f
502s   File "/tmp/autopkgtest-lxc.j0qtm0bb/downtmp/build.9ci/src/tests/plotting/test_plotting.py", line 3172 in test_add_text_latex


I can reproduce the error on the s390x porterbox and get a gdb
backtrace via `xvfb-run -a gdb python3.13`

(gdb) run -m pytest -v tests/plotting/test_plotting.py -k test_add_text_latex
Starting program: /usr/bin/python3.13 -m pytest -v tests/plotting/test_plotting.py -k test_add_text_latex
...
Thread 1 "python3.13" received signal SIGSEGV, Segmentation fault.
(gdb) bt
#0  0x000003ffe231e7ca in vtkMatplotlibMathTextUtilities::RenderOneCell(vtkImageData*, int*, long, long, vtkSmartPyObject&, unsigned long, unsigned long, unsigned long, unsigned long, vtkTextProperty*, TextColors const&) () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingMatplotlib-9.5.so.1
#1  0x000003ffe2320870 in vtkMatplotlibMathTextUtilities::RenderString(char const*, vtkImageData*, vtkTextProperty*, int, int*) ()
   from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingMatplotlib-9.5.so.1
#2  0x000003ffe6d19444 in vtkMathTextFreeTypeTextRenderer::RenderStringInternal(vtkTextProperty*, vtkStdString const&, vtkImageData*, int*, int, int) ()
   from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingFreeType-9.5.so.1
#3  0x000003ffecca8b78 in vtkTextMapper::UpdateImage(int) () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingCore-9.5.so.1
#4  0x000003ffecca9462 in vtkTextMapper::GetSize(vtkViewport*, int*) () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingCore-9.5.so.1
#5  0x000003ffe5598158 in vtkCornerAnnotation::RenderOpaqueGeometry(vtkViewport*) () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingAnnotation-9.5.so.1
#6  0x000003ffecc19c82 in vtkRenderer::UpdateOpaquePolygonalGeometry() () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingCore-9.5.so.1
#7  0x000003ffe44384ae in vtkOpenGLRenderer::UpdateGeometry(vtkFrameBufferObjectBase*) () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingOpenGL2-9.5.so.1
#8  0x000003ffe4436f14 in vtkOpenGLRenderer::DeviceRender() () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingOpenGL2-9.5.so.1
#9  0x000003ffecc1dbe0 in vtkRenderer::Render() () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingCore-9.5.so.1
#10 0x000003ffecc3452e in vtkRendererCollection::Render() () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingCore-9.5.so.1
#11 0x000003ffecbfdeba in vtkRenderWindow::DoStereoRender() () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingCore-9.5.so.1
#12 0x000003ffecbff830 in vtkRenderWindow::Render() () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingCore-9.5.so.1
#13 0x000003ffe44337d2 in vtkOpenGLRenderWindow::Render() () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingOpenGL2-9.5.so.1
#14 0x000003ffe4540070 in vtkXOpenGLRenderWindow::Render() () from /usr/lib/python3/dist-packages/vtkmodules/../../../s390x-linux-gnu/libvtkRenderingOpenGL2-9.5.so.1
#15 0x000003ffe4082d14 in ?? () from /usr/lib/python3/dist-packages/vtkmodules/vtkRenderingOpenGL2.cpython-313-s390x-linux-gnu.so


Issue raised upstream https://gitlab.kitware.com/vtk/vtk/-/issues/19931
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.