Hi,
Am Fri, Sep 12, 2025 at 05:58:48PM +0200 schrieb Santiago Vila:
On Fri, Sep 12, 2025 at 04:58:33PM +0200, Markus Blatt wrote:
This is bug 1064762 that has now probably been added to bookworm by a patch
to vtk9.
I can work around this here by simply deactivating test, but this kind of
reading of the vtk files I cannot fix here. dune-grid just writes those
files.
The underlying problem can only be fixed in VTK. though. It might affect
other packes.
How should we proceed?
I think it all depends on much effort we[*] are willing to make.
At this point in the life of bookworm (which is 2/3 of its supported
period), there are already at least 60 different ftbfs bugs, so I
would say that fixing the FTBFS problem alone (disabling the offending
tests, if that's your plan and you know how to do it) would be more
than acceptable and a lot better than nothing.
[*] I say "we" because I'm also a team member, but I certainly can't
fix all the issues and I definitely appreciate any kind of QA work
that others might offer (like fixing ftbfs bugs in bookworm).
Thanks.
As the problem appears also when trying to view vtk files in paraview, I opted
to fix this
in vtk. I did backport a fix that is already available in stable (to fix the
same bug
1064762, see [1]) to bookworm. This fixes running the tests in dune-grid
and will prevent users of other packages experiencing problems when dealing
with vtk files
containing raw data.
I am only a maintainer of dune-grid and cannot upload the fixed package myself.
You will
find the fix in branch bookworm on salsa [2] (based on the latest bookworm
release). I simply
cherry-picked the previous fix to bookworm.
For convenience the patch is also attached.
I am reassigning this to vtk
Best,
Markus
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1064762
[2] https://salsa.debian.org/science-team/vtk9/-/tree/bookworm?ref_type=heads
From: Ben Boeckel <[email protected]>
Date: Mon, 15 Apr 2024 22:22:22 -0400
Subject: vtkXMLDataParser: track `AppendedData` state explicitly
Bug-Debian: https://bugs.debian.org/1064762
Origin: upstream,https://gitlab.kitware.com/vtk/vtk/-/commit/3efa07ad277efe5c1d11a2ef2b907c095f68bbef
Forwarded: not-needed
Newer `libexpat` doesn't like being given the appended data after the
artificially ended document anymore. Avoid pushing it through to its
parser.
---
IO/XMLParser/vtkXMLDataParser.cxx | 6 +++++-
IO/XMLParser/vtkXMLDataParser.h | 3 +++
2 files changed, 8 insertions(+), 1 deletion(-)
--- vtk9.orig/IO/XMLParser/vtkXMLDataParser.cxx
+++ vtk9/IO/XMLParser/vtkXMLDataParser.cxx
@@ -47,6 +47,7 @@
this->RootElement = nullptr;
this->AppendedDataPosition = 0;
this->AppendedDataMatched = 0;
+ this->AppendedDataFound = false;
this->DataStream = nullptr;
this->InlineDataStream = vtkBase64InputStream::New();
this->AppendedDataStream = vtkBase64InputStream::New();
@@ -99,6 +100,7 @@
{
this->Superclass::PrintSelf(os, indent);
os << indent << "AppendedDataPosition: " << this->AppendedDataPosition << "\n";
+ os << indent << "AppendedDataFound: " << this->AppendedDataFound << "\n";
if (this->RootElement)
{
this->RootElement->PrintXML(os, indent);
@@ -227,7 +229,7 @@
// If we have reached the appended data section, we stop parsing.
// This prevents the XML parser from having to walk over the entire
// appended data section.
- if (this->AppendedDataPosition)
+ if (this->AppendedDataPosition || this->AppendedDataFound)
{
return 1;
}
@@ -448,6 +450,8 @@
{
return 0;
}
+
+ this->AppendedDataFound = true;
}
return 1;
--- vtk9.orig/IO/XMLParser/vtkXMLDataParser.h
+++ vtk9/IO/XMLParser/vtkXMLDataParser.h
@@ -215,6 +215,9 @@
// How much of the string "<AppendedData" has been matched in input.
int AppendedDataMatched;
+ // Whether AppendedData has been dealt with or not.
+ bool AppendedDataFound;
+
// The byte order of the binary input.
int ByteOrder;