ParaView issueshttps://gitlab.kitware.com/paraview/paraview/-/issues2023-11-08T21:09:07-05:00https://gitlab.kitware.com/paraview/paraview/-/issues/22242Catalyst-ParaView implementation crashes with external ptr to GPU memory (CUDA)2023-11-08T21:09:07-05:00Francois MazenCatalyst-ParaView implementation crashes with external ptr to GPU memory (CUDA)When using a conduit node containing values set as an external pointer to a GPU allocated memory, then ParaView-Catalyst implementation crashes.
To reproduce:
- Download and unzip this small project: [catalyst-cuda-master.zip](/uploads...When using a conduit node containing values set as an external pointer to a GPU allocated memory, then ParaView-Catalyst implementation crashes.
To reproduce:
- Download and unzip this small project: [catalyst-cuda-master.zip](/uploads/413e7cfa597cd55db61281b217975d08/catalyst-cuda-master.zip)
- Create a build folder in the source and configure with cmake, then build the software
- Set environment variable `CATALYST_IMPLEMENTATION_NAME=paraview`
- Set environment variable `CATALYST_IMPLEMENTATION_PATHS=/path/to/catalyst/paraview/lib/folder`
- Launch the `catalyst_gpu` executable
- Crash in `vtkDataArrayPrivate::AllValuesMinAndMax` => not OK!
A simple workaround is to use `cudaMallocManaged` instead of `cudaMalloc` on the simulation side, but a generic solution could be implemented on the ParaView side to handle GPU memory pointers and make explicit copy to RAM before processing it. Ascent seems to implement such a logic with their [MagicMemory functions](https://github.com/Alpine-DAV/ascent/blob/f1ecfb3336bc57657a3ced9ab506e43acb202710/src/libs/ascent/runtimes/expressions/ascent_memory_manager.cpp#L451).
Thanks to @jfavre for the initial issue report and @louis.gombert for the minimal test case!https://gitlab.kitware.com/paraview/paraview/-/issues/21623Catalyst Live causes extractors to fail (Catalyst 2.0)2023-11-08T21:08:29-05:00Caitlin RossCatalyst Live causes extractors to fail (Catalyst 2.0)Initially I thought this was an issue with using Fides with Catalyst 2, but I was able to reproduce this with one of the Catalyst2 examples.
When you have an extractor in your Catalyst script and you try to use Catalyst Live, if you hav...Initially I thought this was an issue with using Fides with Catalyst 2, but I was able to reproduce this with one of the Catalyst2 examples.
When you have an extractor in your Catalyst script and you try to use Catalyst Live, if you have more than one proxy in your pipeline, you end up getting the following error, starting with the next time step after you pull extracts to ParaView to be visualized:
```
( 144.630s) [pvbatch ]vtkSMImageExtractWriter:174 ERR| . . . . vtkSMImageExtractWriterProxy (0x565406c76990): No view provided to generate extract from!
( 144.630s) [pvbatch ]vtkSMExtractsController:191 ERR| . . . . vtkSMExtractsController (0x565408983890): Write failed! Extracts may not be generated correctly!
```
The first step is successful, and checking the address of the writer proxy on the extractor proxy, it's different from the writer proxy listed in the later steps where the extractor fails. So somehow the "Writer" proxy property is being changed, but I can't figure out why or how.
That may end up being a weird side effect of a different issue though. I did some more digging and found that on the Live side, `vtkSMLiveInsituLinkProxy::MarkStateDirty()` is being called when I think it shouldn't be. It seems that is a callback for a `vtkCommand::PropertyModifiedEvent`, but I think nothing should be being modified on these extracts.
This seems to be getting triggered by `pqInputSelectorWidget::updateComboBox()`. In `pqInputSelectorWidget::updateComboBox()`, the list of `pqPipelineSource`s is iterated through, to set the pipeline proxies as the Input proxy to the `FindDataHelper` proxy.
When it's setting the Input Connection on the `FindDataHelper` proxy, the index is always 0, so when `PPInternals->Set()` is called, it always ends up returning true, leading to `Modified()` being called and resulting in `MarkStateDirty()` being called.
In the case there's only a single proxy in the pipeline (e.g., `grid` in the Catalyst2 examples), this all seems to work correctly. The calls to `PPInternals->Set()` ends up returning false, because that proxy is saved and matches the proxy, so `Modified` and `MarkStateDirty` are not called.
But once you add another proxy to the pipeline, both proxies will be saved into `PPInternals`, but both at index 0 in the vector `Proxies`, so in subsequent steps, it will basically just keep overwriting on these `PPInternals->Set()` calls, returning true and always marking the property as modified.
It doesn't seem to me that this should be linked to the extractor/writer issue described earlier, but in `vtkSMLiveInsituLinkProxy.cxx`, if I just set `StateDirty` to always be false, the extractor works correctly when using Catalyst Live. I'm not sure what the actual solution should be.
Not sure who to tag, perhaps @c.wetterer-nelson @danlipsa? Or maybe @francois.mazen?https://gitlab.kitware.com/paraview/paraview/-/issues/22361PVD files with punctuation in the name fail to reload2023-11-08T08:31:53-05:00Aron HelserPVD files with punctuation in the name fail to reloadFollow on to https://gitlab.kitware.com/paraview/paraview/-/issues/22297 with issues found during the fix, and the creation of a test in https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6564
* the XML record/play test frame...Follow on to https://gitlab.kitware.com/paraview/paraview/-/issues/22297 with issues found during the fix, and the creation of a test in https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6564
* the XML record/play test framework can't handle a filename with ";" in it - the xml is reported as invalid.
* The pvcs and pvcrs version of `RecentFilesHardFilename` fail on windows and linux (but not mac), because the PVD writer can't create the sub-directory to store the .vtp file
```plaintext
vtkXMLPVDWriter.cxx:348 ERR| vtkXMLPVDWriter (000001A38ACFEDA0): Sorry unable to create directory: C:\glr\builds\paraview\paraview-ci\build\Testing\Temporary\nametest `~!@ #$%^ (){}[] _-=+ ,. stuff.vtp
```
* Create a sphere source, `Save Data As...` a pvd file with the name "filetest \`<span dir="">\~</span>!@ #$%^ (){}\[\] \_-=+ ;,. stuff.pvd" and re-load of the file fails:
```plaintext
( 157.305s) [paraview ] vtkXMLParser.cxx:364 ERR| vtkXMLDataParser (0x5596bc5f9740): Error parsing XML in stream at line 3, column 42, byte index 146: not well-formed (invalid token)
( 157.317s) [paraview ] vtkXMLReader.cxx:576 ERR| vtkPVDReader (0x5596bba41ad0): Error parsing input file. ReadXMLInformation aborting.
( 157.318s) [paraview ] vtkPVDReader.cxx:121 ERR| vtkPVDReader (0x5596bba41ad0): Could not read file information
```
I can't investigate further at this time, so I'm filing this issue.https://gitlab.kitware.com/paraview/paraview/-/issues/22340RedistributeDataSet does not generate ghost cells as it should2023-11-08T03:36:16-05:00Mathieu Westphal (Kitware)RedistributeDataSet does not generate ghost cells as it shouldRedistributedDataSet (RDS) does not generate any ghost array but it should.
Steps to reproduce:
- `mpirun -np 4 ./bin/pvserver`
- run ParaView
- connect to server
- UnstructuredCellTypes, Apply
- RandomAttributes, RandomPointScala...RedistributedDataSet (RDS) does not generate any ghost array but it should.
Steps to reproduce:
- `mpirun -np 4 ./bin/pvserver`
- run ParaView
- connect to server
- UnstructuredCellTypes, Apply
- RandomAttributes, RandomPointScalar on, Apply
- RedistributeDataSet, AssignToAllRegions, Apply
- Gradient, Apply
Result clearly shows that ghost cells are not present:
![image](/uploads/bad0888b6f1bf1aaedaa1c3afb9bb19c/image.png)
A workaround is to add a GhostCellGenerator on top of it, clearly not optimized though.
Dev note:
One layer of ghost cells is generated in vtkRedistributeDataSetFilter::MarkGhostCells then removed later in vtkRedistributeDataSetFilter::RequestData, definitely not the correct way to do this.
It should be fixed by generating the right number of ghost cells AND points as requested by the pipeline, on the fly, in MarkGhostCells.
Please note there is a small bug that should be fixed:
```
@@ -1046,7 +1046,7 @@ void vtkRedistributeDataSetFilter::MarkGhostCells(vtkPartitionedDataSet* pieces)
}
auto cell_ownership =
- vtkIntArray::SafeDownCast(dataset->GetCellData()->GetArray(CELL_OWNERSHIP_ARRAYNAME));
+ vtkIdTypeArray::SafeDownCast(dataset->GetCellData()->GetArray(CELL_OWNERSHIP_ARRAYNAME));
if (!cell_ownership)
{
// cell_ownership is not generated if cells are being assigned uniquely to
```https://gitlab.kitware.com/paraview/paraview/-/issues/22364Save State and Screenshot Plugin - Allow embedded PVSM in PNG2023-11-07T13:25:12-05:00John PatchettSave State and Screenshot Plugin - Allow embedded PVSM in PNGSave State and Screenshot Plugin should have a persistently configurable option to save state and screenshot in a single PNG file using the state embedded in png capability. https://www.kitware.com/paraview-state-embedded-in-png-screensh...Save State and Screenshot Plugin should have a persistently configurable option to save state and screenshot in a single PNG file using the state embedded in png capability. https://www.kitware.com/paraview-state-embedded-in-png-screenshots/https://gitlab.kitware.com/paraview/paraview/-/issues/22363Save State and Screenshot Plugin - Make a Default Save Location and prefix name2023-11-07T13:21:13-05:00John PatchettSave State and Screenshot Plugin - Make a Default Save Location and prefix nameThe Save State and Screenshot Plugin should have a default location to save ParaView screenshots and states. I would prefer the $HOME/Pictures directory (on mac) and whatever might be appropriate for Windows and Linux Desktops. Possibly ...The Save State and Screenshot Plugin should have a default location to save ParaView screenshots and states. I would prefer the $HOME/Pictures directory (on mac) and whatever might be appropriate for Windows and Linux Desktops. Possibly $HOME/ParaView or $HOME/ParaView/PVSM . Has to be easy to get to, so one can view their ParaView states and drag and drop pvsm files back into ParaView. If the directory isn't there, it should be made. Default directory should be configurable, perhaps in settings/preferences general tab, advanced settings?https://gitlab.kitware.com/paraview/paraview/-/issues/22362Save State and Screenshot Plugin requires reconfigure for every RenderView ch...2023-11-07T13:11:39-05:00John PatchettSave State and Screenshot Plugin requires reconfigure for every RenderView changeThe save state and screenshot plugin currently requires a reconfigure everytime the resolution changes or a view is opened or closed. The plugin should automatically save the resolutions of the views that are currently visible. The idea ...The save state and screenshot plugin currently requires a reconfigure everytime the resolution changes or a view is opened or closed. The plugin should automatically save the resolutions of the views that are currently visible. The idea of the plugin is to make it easy, a single click, to save the current state and the screenshot that that state represents. The collage of views should be saved at the resolutions they are being previewed at/or are. Do not require a reconfiguration based on resolution or other RenderView changes.https://gitlab.kitware.com/paraview/paraview/-/issues/22356PythonCalculator does not behave as expected when working with FieldData in t...2023-11-07T04:22:38-05:00Phil SmithPythonCalculator does not behave as expected when working with FieldData in the IOSS readerTested on MacOS x86 and Linux Masters. Just to preface, this works fine if the Legacy Exodus Reader is used, but will not show the data if the IOSS reader is used.
To Reproduce please follow the filling steps:
1. Open can.ex2 using th...Tested on MacOS x86 and Linux Masters. Just to preface, this works fine if the Legacy Exodus Reader is used, but will not show the data if the IOSS reader is used.
To Reproduce please follow the filling steps:
1. Open can.ex2 using the IOSS reader, Appy
2. Open the Python Calculator Filter
3. Type the expression: VEL * inputs[0].FieldData["KE"][time_index] in the Expression text box, Apply
The formula appears to work, but there is no data to be found within any of the spread sheet views. If I look to color by that variable, it was not created. However the 'KE' variable is still in the Field Data Attributes in both the can and the Python Calculator.
The Point Data Attribute Should show a result column reflecting the data.5.12.1 (Spring 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/22352CI: fedora test failure - FeatureEdgesFilterHTG and FeatureEdgesRepresentatio...2023-11-06T05:27:14-05:00Thomas GallandCI: fedora test failure - FeatureEdgesFilterHTG and FeatureEdgesRepresentationHTGIssue seems related to the `Render Lines As Tube` display property, used in the test.
Similar test done without it passes (see `FeatureEdgesHTG` XML test).
This test seems to always fail on `fedora35_shared_mpi_python_qt_vtkmoverrid...Issue seems related to the `Render Lines As Tube` display property, used in the test.
Similar test done without it passes (see `FeatureEdgesHTG` XML test).
This test seems to always fail on `fedora35_shared_mpi_python_qt_vtkmoverride`.
This test seems to be flaky on `fedora35_shared_mpi_python_qt`.
Test image / Valid image / Diff image:
![image](/uploads/d5009f09414e1b1c873bf278dfa21375/image.png)
![FeatureEdgesRepresentationHTG](/uploads/9bf523bf1566139a7f8e13e4f97502eb/FeatureEdgesRepresentationHTG.png)
![image](/uploads/8d04b61682426d9080a6478e32f597bd/image.png)
Related MRs : https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6538 https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6566
Related Issue : https://gitlab.kitware.com/paraview/paraview/-/issues/22353https://gitlab.kitware.com/paraview/paraview/-/issues/22353CI: macOS arm64 test failure - FeatureEdgesFilterHTG and FeatureEdgesRepresen...2023-11-06T04:03:54-05:00Thomas GallandCI: macOS arm64 test failure - FeatureEdgesFilterHTG and FeatureEdgesRepresentationHTGIssue seems related to the `Render Lines As Tube` display property, used in the test.
Similar test done without it passes (see `FeatureEdgesHTG` XML test).
Test image / Valid image / Diff image:
![image](/uploads/779ff87a1a23552c7f...Issue seems related to the `Render Lines As Tube` display property, used in the test.
Similar test done without it passes (see `FeatureEdgesHTG` XML test).
Test image / Valid image / Diff image:
![image](/uploads/779ff87a1a23552c7f0365841df182e2/image.png)
![FeatureEdgesRepresentationHTG](/uploads/9bf523bf1566139a7f8e13e4f97502eb/FeatureEdgesRepresentationHTG.png)
![image](/uploads/92ea30d95f6583afa8f53ec5978e1f19/image.png)
Related MR : https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6538
Related Issue: https://gitlab.kitware.com/paraview/paraview/-/issues/22352https://gitlab.kitware.com/paraview/paraview/-/issues/22351SPDX: vtkSMTransferFunctionPresetsBuiltin.h does not have SPDX information2023-10-31T11:05:58-04:00Cory Quammencory.quammen@kitware.comSPDX: vtkSMTransferFunctionPresetsBuiltin.h does not have SPDX information`vtkSMTransferFunctionPresetsBuiltin.h` is generated from `ColorMaps.json`. The `ParaView::ProcessXML` process should pull license information from the JSON file and add it to the generated file, but the JSON file currently has no copyri...`vtkSMTransferFunctionPresetsBuiltin.h` is generated from `ColorMaps.json`. The `ParaView::ProcessXML` process should pull license information from the JSON file and add it to the generated file, but the JSON file currently has no copyright information.https://gitlab.kitware.com/paraview/paraview/-/issues/22123Pick Center does not work after a Custom Filter2023-10-31T08:43:34-04:00Tiffany ChhimPick Center does not work after a Custom FilterThe "**Pick Center**" action does not seem to work on the **output of a Custom Filter**.
The center is **set to the origin instead of landing on the surface of the mesh**.
Steps to reproduce:
- Create a simple Custom Filter with a Wav...The "**Pick Center**" action does not seem to work on the **output of a Custom Filter**.
The center is **set to the origin instead of landing on the surface of the mesh**.
Steps to reproduce:
- Create a simple Custom Filter with a Wavelet
- Generate the newly created Custom Filter to create a Wavelet
- Apply
- Click on the Pick Center toolbar icon
- Click on the mesh
![BrokenPickCenterAfterCustomFilter](/uploads/4be092e2bd6a2886e5bb82fdc67b31f3/BrokenPickCenterAfterCustomFilter.gif)https://gitlab.kitware.com/paraview/paraview/-/issues/20966Multiblock inspector opacity needs initialization2023-10-30T17:41:47-04:00W. Alan ScottMultiblock inspector opacity needs initializationThe multiblock inspector needs to have opacity settings initialized. They work, they just are extremely misleading. Here is how to replicate:
* MacOS, nightly (5.9.1-1808-gdb1698b0d4), builtin server.
* can.exo. Apply.
* View/ Multib...The multiblock inspector needs to have opacity settings initialized. They work, they just are extremely misleading. Here is how to replicate:
* MacOS, nightly (5.9.1-1808-gdb1698b0d4), builtin server.
* can.exo. Apply.
* View/ Multiblock inspector. Click on block 1 opacity.
The opacity will show 0. This is incorrect, it should show 1. Note that the opacity actually works correctly, and once you touch it, it shows correctly.5.11 (Spring 2022)https://gitlab.kitware.com/paraview/paraview/-/issues/22349CI: SplitViewTrace is flaky2023-10-27T07:54:38-04:00Mathieu Westphal (Kitware)CI: SplitViewTrace is flakySplitViewTrace test seems flaky on all os, it was excluded here: https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6554
![a](/uploads/c7cf9b555cd49d964379646214102227/a.png)SplitViewTrace test seems flaky on all os, it was excluded here: https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6554
![a](/uploads/c7cf9b555cd49d964379646214102227/a.png)https://gitlab.kitware.com/paraview/paraview/-/issues/21270Skybox and Palette do not have expected behavior2023-10-27T05:31:05-04:00Mathieu Westphal (Kitware)Skybox and Palette do not have expected behaviorUsing a skybox then the palette do not have expected behavior.
Steps to reproduce:
1. Open ParaView
2. Uncheck "Use color palette for background"
3. Set background to skybox
4. Load a skybox
5. Check "Use color palette for background" ...Using a skybox then the palette do not have expected behavior.
Steps to reproduce:
1. Open ParaView
2. Uncheck "Use color palette for background"
3. Set background to skybox
4. Load a skybox
5. Check "Use color palette for background" -> **Skybox stays visible, unexpected**
Proably linked to https://gitlab.kitware.com/paraview/paraview/-/issues/20889 and https://discourse.paraview.org/t/background-vs-path-traced-environment/7402/9https://gitlab.kitware.com/paraview/paraview/-/issues/20889Improve ParaView UI coherence to follow recent PBR / OSPRay changes2023-10-27T05:30:50-04:00Timothee ChabatImprove ParaView UI coherence to follow recent PBR / OSPRay changesRight now the GUI for the view and display properties is very misleading and allows to change options that has no effect. Here's what I think would be worth changing :
- In `View` properties :
- `Ray Traced Rendering::Background Mo...Right now the GUI for the view and display properties is very misleading and allows to change options that has no effect. Here's what I think would be worth changing :
- In `View` properties :
- `Ray Traced Rendering::Background Mode` should be removed as we already have the `Background::Use Environment Lighting` option
- Remove the `Path Traced Envrionment::` section as we already have the `Background::` section
- In `Display` properties :
- When using a material in `Ray Tracing::Material`, every properties in section `Lighting::` but `Normal/Tangent/TexCoord Array` should be hidden
- When not using a path tracer `Ray Tracing::Material` should be hidden
- `Lighting::Interpolation` values should be renamed as PBR is not actually a lighting model as is. I propose :
- `PBR` -> `Principled` (this also represent the fact that when using OSPRay a princpipled material is automatically created to represent it)
- `Gouraud` -> `Solid` (as in Solid Mode in Blender). Maybe it shoudl be renamed `OBJ` when ray tracing is enabled ?
Maybe there's specific use case I'm not aware of that my proposition break.
WDYT @demarle ?https://gitlab.kitware.com/paraview/paraview/-/issues/22345Fluent CFF reader crash on Properties Restore application default setting values2023-10-26T16:28:41-04:00Louis GombertFluent CFF reader crash on Properties Restore application default setting valuesStep to reproduce :
- Open `room.cas.h5` from testing data using the FluentCFFReader.
- Apply
- In the properties panel, click on the circular arrows icon (Restore application default setting values) of the properties category
- (C...Step to reproduce :
- Open `room.cas.h5` from testing data using the FluentCFFReader.
- Apply
- In the properties panel, click on the circular arrows icon (Restore application default setting values) of the properties category
- (Crash)
Tested on ParaView master on Linux with my own build & nightly binaryhttps://gitlab.kitware.com/paraview/paraview/-/issues/22346Scatter Plot Filter will not work on a Partitioned Dataset Collection2023-10-25T09:51:47-04:00Phil SmithScatter Plot Filter will not work on a Partitioned Dataset CollectionTo repeat the issue perform the following steps:
1. With the IOSS reader, Open disk_out_ref.ex2, Apply
2. Select Filters->ScatterPlot, Apply
The Following error is displayed and the Scatter Plot is blank:
Warning: In vtkSMOutputPort.cx...To repeat the issue perform the following steps:
1. With the IOSS reader, Open disk_out_ref.ex2, Apply
2. Select Filters->ScatterPlot, Apply
The Following error is displayed and the Scatter Plot is blank:
Warning: In vtkSMOutputPort.cxx, line 141
vtkSMOutputPort (0x7ff688a44fe0): GetSelectorForCompositeId(compositeIndex) called for a non-multiblock dataset.
Warning: In vtkSMOutputPort.cxx, line 141
vtkSMOutputPort (0x7ff688a44fe0): GetSelectorForCompositeId(compositeIndex) called for a non-multiblock dataset.
ERROR: In vtkMultiBlockDataSet.cxx, line 67
vtkMultiBlockDataSet (0x600010a6fb10): vtkPartitionedDataSetCollection cannot be added as a block.
It appears this filter need to be updated to handle the Partitioned Data Set Collection. This is because if I apply the Convert To Multiblock filter first, the Scatter Plot Filter works fine.
This problem is affecting a user, but we do have a workaround.
With the Legacy Exodus Reader, the two steps above work fine.5.13 (Summer 2024)https://gitlab.kitware.com/paraview/paraview/-/issues/22344ReloadFile cached state behavior should be controllable2023-10-25T03:38:09-04:00Mathieu Westphal (Kitware)ReloadFile cached state behavior should be controllableWhen using the ReloadFiles feature, the user is prompter for looking for new files or reloading existing files, but is prompted once by reader. This behavior should be controllable with a `Dont ask again` logic.
Steps to repro:
- run ...When using the ReloadFiles feature, the user is prompter for looking for new files or reloading existing files, but is prompted once by reader. This behavior should be controllable with a `Dont ask again` logic.
Steps to repro:
- run ParaView
- Open any file, apply
- RightClick, ReloadFiles, pick one of the two option in the prompt
- RightClick, ReloadFiles, no prompthttps://gitlab.kitware.com/paraview/paraview/-/issues/22342GhostCellGenerator fails to generate correct ghost cells with certain options2023-10-24T10:37:36-04:00Mathieu Westphal (Kitware)GhostCellGenerator fails to generate correct ghost cells with certain optionsSteps to reproduce:
- `mpirun -np 4 ./bin/pvserver`
- run ParaView
- connect to server
- Sphere, resolution 80, Apply
- RedistributeDataSet, AssignToOneRegion, Apply
- GhostCellGenerator, GenerateGlobalIds, Apply
![image](/upload...Steps to reproduce:
- `mpirun -np 4 ./bin/pvserver`
- run ParaView
- connect to server
- Sphere, resolution 80, Apply
- RedistributeDataSet, AssignToOneRegion, Apply
- GhostCellGenerator, GenerateGlobalIds, Apply
![image](/uploads/c4ed9244964d781ef750b23158c79f9b/image.png)
Note: Not generating the global ids fixes the issue