Skip to content

FIX: Handle the VTK 9.7 release - #1419

Merged
larsoner merged 1 commit into
enthought:mainfrom
larsoner:fix-vtk-9.7-fallout
Aug 19, 2026
Merged

FIX: Handle the VTK 9.7 release#1419
larsoner merged 1 commit into
enthought:mainfrom
larsoner:fix-vtk-9.7-fallout

Conversation

@larsoner

Copy link
Copy Markdown
Collaborator

Two failures that VTK 9.7.0 caused, both on main and both unrelated to whichever PR happens to be running. These are not end-user breakages, just stuff that breaks our CIs.

The docs render: 9.7 deprecates vtkImageThreshold, and the warning fires inside the C constructor, so with warnings fatal the example render dies as "SystemError: ... returned a result with an exception set". tvtk_segmentation.py cannot move to the replacement vtkImageBinaryThreshold, which does not exist before 9.7, so ignore that one message until the floor catches up. The suites already ignore every "Call to deprecated" message, which is why no test job saw this.

The macos-26-intel row: test_trait_with_range crossed its 60 s timeout. It was not stuck -- 9.7 added 208 classes, which took the test from 26.5 s to 32.9 s on the arm runner, and the intel row was already at 57.5 s. get_min_max_value built a fresh VTK object twice per trait, for every trait of every class, which is the whole cost of the test; one object per class instead takes it from 13.5 s to 0.8 s locally. The (class, trait, min, max) tuples it derives are unchanged -- all 91074 of them, including the 2512 that carry a real range.

Two failures that VTK 9.7.0 caused, both on main and both unrelated to
whichever PR happens to be running.

The docs render: 9.7 deprecates vtkImageThreshold, and the warning fires
inside the C constructor, so with warnings fatal the example render dies
as "SystemError: ... returned a result with an exception set".
tvtk_segmentation.py cannot move to the replacement
vtkImageBinaryThreshold, which does not exist before 9.7, so ignore that
one message until the floor catches up.  The suites already ignore every
"Call to deprecated" message, which is why no test job saw this.

The macos-26-intel row: test_trait_with_range crossed its 60 s timeout.
It was not stuck -- 9.7 added 208 classes, which took the test from
26.5 s to 32.9 s on the arm runner, and the intel row was already at
57.5 s.  get_min_max_value built a fresh VTK object twice per trait, for
every trait of every class, which is the whole cost of the test; one
object per class instead takes it from 13.5 s to 0.8 s locally.  The
(class, trait, min, max) tuples it derives are unchanged -- all 91074 of
them, including the 2512 that carry a real range.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@larsoner

larsoner commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator Author

This is a fairly trivial warnings ignore for CIs which are currently red (see #1418), so self-marking for merge-when-green

@larsoner
larsoner enabled auto-merge (squash) August 19, 2026 15:15
@larsoner
larsoner merged commit 3ea411b into enthought:main Aug 19, 2026
67 of 72 checks passed
@larsoner
larsoner deleted the fix-vtk-9.7-fallout branch August 19, 2026 17:13
@prabhuramachandran

Copy link
Copy Markdown
Member

Nice catch and fix to improve the test speed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants