Unpredictable behavior of paraview-lite

Hi Paraview,
I would like to share my weird experience since I have no clue about it.

I have some volume data that stored the signed distance value and would be visualized by the contour filter. Some of the arrays have opening surfaces in paraview, and I thought it is because somehow my data is broken.

One day, I launched paraview-lite and opened the show annotation parameter in rendering view settings to track the fps. I loaded the data and contoured them, then I found it takes a lot of time to set a proxy invisible (before I show the annotation, it takes no time to set a proxy invisible). I reload the browser while it is still progressing (the blue progress bar on top is running). And I got these error messages:

ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-64' coro=<WslinkHandler.sendWrappedMessage() done, defined at C:\Program Files\ParaView 5.11.2\bin\Lib\site-packages\wslink\backends\aiohttp\__init__.py:584> exception=AssertionError()>
Traceback (most recent call last):
  File "C:\Program Files\ParaView 5.11.2\bin\Lib\site-packages\wslink\backends\aiohttp\__init__.py", line 638, in sendWrappedMessage
    await ws.send_bytes(attachments[key])
  File "C:\Program Files\ParaView 5.11.2\bin\Lib\site-packages\aiohttp\web_ws.py", line 307, in send_bytes
    await self._writer.send(data, binary=True, compress=compress)
  File "C:\Program Files\ParaView 5.11.2\bin\Lib\site-packages\aiohttp\http_websocket.py", line 685, in send
    await self._send_frame(message, WSMsgType.BINARY, compress)
  File "C:\Program Files\ParaView 5.11.2\bin\Lib\site-packages\aiohttp\http_websocket.py", line 656, in _send_frame
    await self.protocol._drain_helper()
  File "C:\Program Files\ParaView 5.11.2\bin\Lib\site-packages\aiohttp\base_protocol.py", line 84, in _drain_helper
    assert waiter is None or waiter.cancelled()

And the strange thing happened here. When the browser is reconnected, the opening surface of the counter got close and became the correct image I expect. Setting a proxy to invisible also becomes costing no time.

I think there are two mysteries here:

  1. Showing annotation make modification on proxy become time costly.
  2. Unexpectedly reloading (while processing) somehow “fix” the image.

Anyone having any clue about it would be very helpful to me. Thank you!

please share precise stesp to reproduce.

Hi Mathieu,
Sorry that I cannot provide the file I used. However, I found something today and the issue is clearer now.

The root cause is that the contour result sometimes differs in ParaView and ParaView-Lite. e.g., the Bounds of contour in Paraview is (a, b, c, d, e, f) and (a, b, c, d+1, e, f) in ParaView-Lite.

I am now looking into how contour is called in ParaView-Lite. If you have any insight about how this happens, I’ll be happy to hear so!

Hi @mwestphal,
I found the root cause today.
I have a Partitioned Dataset Collection whose Bounds are (0, 200, 0, 200, 0, 600).
And one of the Partitioned Dataset has Bounds (0, 200, 0, 199, 200, 400), and its contour has Bounds (0, 200, 0, 199, 200, 400).
The unexpected shrink of the Partitioned Dataset on y-axis leads to the open surface of the contour filter.

If I check on Merge Image Volumes, the Bounds of the contour becomes (0, 200, 0, 200, 200, 400) and hence the open surface closes. I accidentally check the merge volume option in ParaView-Lite, that’s why the contour only closes there.

Do you have any idea about the unexpected shrink on Partitioned Dataset? Thank you!