From 9328a331e92ed3fb50436bb5a35a4c496de3e4bd Mon Sep 17 00:00:00 2001 From: Nabil Ghodbane Date: Fri, 8 Nov 2024 13:06:51 +0100 Subject: [PATCH] bos #43522 [EDF30827] - Integration of ParaView patch for 9.14.0 which fixes a crash at loading of Ensight File) --- products/ParaView.pyconf | 41 ++++--- ...yReader-fix-int-overflow-when-openin.patch | 105 ++++++++++++++++++ 2 files changed, 132 insertions(+), 14 deletions(-) create mode 100644 products/patches/paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch diff --git a/products/ParaView.pyconf b/products/ParaView.pyconf index 45616e8..afd4dc5 100755 --- a/products/ParaView.pyconf +++ b/products/ParaView.pyconf @@ -270,7 +270,8 @@ version_5_11_0 : 'paraview-5.11.0.p001-FindCGNS.patch', 'paraview-5.11.0.p003-ParaViewClient.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -296,7 +297,8 @@ version_5_11_0_int32 : patches : [ 'paraview-5.11.0.p001-FindCGNS.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -336,7 +338,8 @@ version_5_11_0_win : 'paraview-5.11.0.p004-vtkUniformHyperTreeGrid.patch', 'paraview-5.11.0.p006-GIL.patch', 'paraview-5.11.0.p009-openturns-1.21.patch', - 'paraview-5.11.0.p0011-add_dll_directory.patch' + 'paraview-5.11.0.p0011-add_dll_directory.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] } @@ -362,7 +365,8 @@ version_5_11_0_win_dbg : 'paraview-5.11.0.p004-vtkUniformHyperTreeGrid.patch', 'paraview-5.11.0.p005-vtkPython-debug.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] } @@ -373,8 +377,9 @@ version_5_11_0_MPI : patches : ['paraview-5.11.0.p001-FindCGNS.patch', 'paraview-5.11.0.p002-FindMPI.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' - ] + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' + ] depend : [ 'Python', 'hdf5', @@ -399,7 +404,8 @@ version_5_11_0_MPI_LATA_64BITS_IDS : 'paraview-5.11.0.p002-FindMPI.patch', 'paraview-0012-LATA_64BITS_IDS.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -428,7 +434,8 @@ version_5_11_0_MPI_UB24_04 : 'paraview-5.11.0.p008-cstdint-FD38.patch', 'paraview-5.11.0.p009-openturns-1.21.patch', 'paraview-5.11.0.p010-python-3.11.patch', - 'paraview-5.11.0.p012-skip-FindTBB.patch' + 'paraview-5.11.0.p012-skip-FindTBB.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -455,7 +462,8 @@ version_5_11_0_MPI_DB12 : 'paraview-5.11.0.p006-GIL.patch', 'paraview-5.11.0.p007-mpi4py-FD37.patch', 'paraview-5.11.0.p009-openturns-1.21.patch', - 'paraview-5.11.0.p010-python-3.11.patch' + 'paraview-5.11.0.p010-python-3.11.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -481,7 +489,8 @@ version_5_11_0_MPI_DB10 : 'paraview-5.11.0.p002-FindMPI.patch', 'paraview-5.11.0.p003-ParaViewClient.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -507,7 +516,8 @@ version_5_11_0_MPI_CO9 : 'paraview-5.11.0.p002-FindMPI.patch', 'paraview-5.11.0.p003-ParaViewClient.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -533,7 +543,8 @@ version_5_11_0_MPI_CO8 : 'paraview-5.11.0.p002-FindMPI.patch', 'paraview-5.11.0.p003-ParaViewClient.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -561,7 +572,8 @@ version_5_11_0_MPI_FD38 : 'paraview-5.11.0.p007-mpi4py-FD37.patch', 'paraview-5.11.0.p008-cstdint-FD38.patch', 'paraview-5.11.0.p009-openturns-1.21.patch', - 'paraview-5.11.0.p010-python-3.11.patch' + 'paraview-5.11.0.p010-python-3.11.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', @@ -588,7 +600,8 @@ version_5_11_0_MPI_FD37 : 'paraview-5.11.0.p006-GIL.patch', 'paraview-5.11.0.p007-mpi4py-FD37.patch', 'paraview-5.11.0.p009-openturns-1.21.patch', - 'paraview-5.11.0.p010-python-3.11.patch' + 'paraview-5.11.0.p010-python-3.11.patch', + 'paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch' ] depend : [ 'Python', diff --git a/products/patches/paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch b/products/patches/paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch new file mode 100644 index 0000000..6029b18 --- /dev/null +++ b/products/patches/paraview-5.11.0.p013-bos-43522-EnSightGoldBinaryReader-fix-int-overflow-when-openin.patch @@ -0,0 +1,105 @@ +From 7135f862820948c522eaabcc6b9ff5c91fb0ae46 Mon Sep 17 00:00:00 2001 +From: Louis Gombert +Date: Wed, 25 Sep 2024 16:38:20 +0200 +Subject: [PATCH] EnSightGoldBinaryReader: fix int overflow when opening large + datasets + +Convert int to vtkIdType when necessary + +(cherry picked from commit 3d830296ece3038d3ab03d195db3200604c4c27c) +--- + IO/EnSight/vtkEnSightGoldBinaryReader.cxx | 29 +++++++++++------------ + IO/EnSight/vtkEnSightGoldBinaryReader.h | 2 +- + 2 files changed, 15 insertions(+), 16 deletions(-) + +diff --git a/VTK/IO/EnSight/vtkEnSightGoldBinaryReader.cxx b/VTK/IO/EnSight/vtkEnSightGoldBinaryReader.cxx +index 9ec5d94457..ede20bbf3f 100644 +--- a/VTK/IO/EnSight/vtkEnSightGoldBinaryReader.cxx ++++ b/VTK/IO/EnSight/vtkEnSightGoldBinaryReader.cxx +@@ -825,7 +825,7 @@ int vtkEnSightGoldBinaryReader::SkipUnstructuredGrid(char line[256]) + { + vtkDebugMacro("nsided"); + int* numNodesPerElement; +- int numNodes = 0; ++ vtkIdType numNodes = 0; + + // cellType = vtkEnSightReader::NSIDED; + this->ReadInt(&numElements); +@@ -2112,8 +2112,8 @@ int vtkEnSightGoldBinaryReader::CreateUnstructuredGridOutput( + { + vtkDebugMacro("nsided"); + int* numNodesPerElement; +- int numNodes = 0; +- int nodeCount = 0; ++ vtkIdType numNodes = 0; ++ vtkIdType nodeCount = 0; + + cellType = vtkEnSightReader::NSIDED; + this->ReadInt(&numElements); +@@ -2160,7 +2160,7 @@ int vtkEnSightGoldBinaryReader::CreateUnstructuredGridOutput( + // skipping ghost cells + vtkDebugMacro("g_nsided"); + int* numNodesPerElement; +- int numNodes = 0; ++ vtkIdType numNodes = 0; + + // cellType = vtkEnSightReader::NSIDED; + this->ReadInt(&numElements); +@@ -2390,12 +2390,12 @@ int vtkEnSightGoldBinaryReader::CreateUnstructuredGridOutput( + int* numNodesPerFace; + int* numNodesPerElement; + int* nodeMarker; +- int numPts = 0; +- int numFaces = 0; +- int numNodes = 0; +- int faceCount = 0; +- int nodeCount = 0; +- int elementNodeCount = 0; ++ vtkIdType numPts = 0; ++ vtkIdType numFaces = 0; ++ vtkIdType numNodes = 0; ++ vtkIdType faceCount = 0; ++ vtkIdType nodeCount = 0; ++ vtkIdType elementNodeCount = 0; + + cellType = vtkEnSightReader::NFACED; + this->ReadInt(&numElements); +@@ -2463,10 +2463,9 @@ int vtkEnSightGoldBinaryReader::CreateUnstructuredGridOutput( + this->ReadIntArray(nodeIdList, numNodes); + + // yyy begin +- int k; // indexing each node Id of a face +- int faceIdx = 0; // indexing faces throughout all polyhedra +- int nodeIdx = 0; // indexing nodes throughout all polyhedra +- int arayIdx = 0; // indexing the array of Ids (info of faces) ++ int k; // indexing each node Id of a face ++ vtkIdType faceIdx = 0; // indexing faces throughout all polyhedra ++ vtkIdType nodeIdx = 0; // indexing nodes throughout all polyhedra + vtkIdType* faceAry = nullptr; // array of Ids describing a vtkPolyhedron + // yyy end + +@@ -3402,7 +3401,7 @@ int vtkEnSightGoldBinaryReader::ReadFloat(float* result) + + // Internal function to read an integer array. + // Returns zero if there was an error. +-int vtkEnSightGoldBinaryReader::ReadIntArray(int* result, int numInts) ++int vtkEnSightGoldBinaryReader::ReadIntArray(int* result, vtkIdType numInts) + { + if (numInts <= 0) + { +diff --git a/VTK/IO/EnSight/vtkEnSightGoldBinaryReader.h b/VTK/IO/EnSight/vtkEnSightGoldBinaryReader.h +index dd88876ad9..31bd8faebd 100644 +--- a/VTK/IO/EnSight/vtkEnSightGoldBinaryReader.h ++++ b/VTK/IO/EnSight/vtkEnSightGoldBinaryReader.h +@@ -188,7 +188,7 @@ protected: + * Internal function to read in an integer array. + * Returns zero if there was an error. + */ +- int ReadIntArray(int* result, int numInts); ++ int ReadIntArray(int* result, vtkIdType numInts); + + /** + * Internal function to read in a single long. +-- +2.47.0 + -- 2.39.2