visit-dav / visit

VisIt - Visualization and Data Analysis for Mesh-based Scientific Data
https://visit.llnl.gov
BSD 3-Clause "New" or "Revised" License
440 stars 116 forks source link

Fix the timelock.py test in scalable rendering mode. #20034

Closed brugger1 closed 1 week ago

brugger1 commented 1 week ago

Description

The hybrid/timelock.py test was hanging when running in scalable,parallel,icet mode. I looked at the test and there were some tests that were not run when in that mode with the comment that those tests caused a crash in scalable,parallel,icet mode. I added an SetTimeSliderState call to the conditional code and the tests were successfully skipped and the test ran to completion.

Here is the output without the change.

Saving window 2...
VisIt: Message - Saving window 2...
Saved /usr/WS1/visit/test_trunk/build/test/output2/current/hybrid/timelock/timelock_16.png
VisIt: Message - Saved /usr/WS1/visit/test_trunk/build/test/output2/current/hybrid/timelock/timelock_16.png
    Test case 'timelock_16' PASSED
Executing pipeline.
0% done: Starting execution (0% of stage 1/17)
0% done: Reading from Flash File Format (0% of stage 1/17)
5% done: Reading from Flash File Format (0% of stage 2/17)
5% done: Waiting for all processors to finish I/O (0% of stage 2/17)
11% done: Waiting for all processors to finish I/O (100% of stage 2/17)
11% done: Waiting for all processors to finish I/O (0% of stage 3/17)
11% done: Handling missing data values (0% of stage 3/17)
17% done: Handling missing data values (100% of stage 3/17)
17% done: Handling missing data values (0% of stage 4/17)
17% done: Creating expressions (0% of stage 4/17)
23% done: Creating expressions (100% of stage 4/17)
23% done: Creating expressions (0% of stage 5/17)
23% done: Handling missing data values (0% of stage 5/17)
29% done: Handling missing data values (100% of stage 5/17)
29% done: Handling missing data values (0% of stage 6/17)
29% done: Preparing pipeline (0% of stage 6/17)
35% done: Preparing pipeline (100% of stage 6/17)
35% done: Preparing pipeline (0% of stage 7/17)
35% done: Preparing pipeline (0% of stage 7/17)
41% done: Preparing pipeline (0% of stage 8/17)
41% done: Cleans up duplicate points from a poly line (0% of stage 8/17)
47% done: Cleans up duplicate points from a poly line (0% of stage 9/17)
47% done: Finding visible triangles (0% of stage 9/17)
47% done: Calculating external faces (0% of stage 9/17)
52% done: Calculating external faces (100% of stage 9/17)
52% done: Calculating external faces (0% of stage 10/17)
52% done: Removing ghost cells (0% of stage 10/17)
58% done: Removing ghost cells (0% of stage 11/17)
64% done: Finding visible triangles (0% of stage 12/17)
64% done: Removing unneeded points (0% of stage 12/17)
70% done: Removing unneeded points (100% of stage 12/17)
70% done: Removing unneeded points (0% of stage 13/17)
70% done: Calculating normals (0% of stage 13/17)
76% done: Calculating normals (0% of stage 14/17)
76% done: Compacting data tree (0% of stage 14/17)
82% done: Compacting data tree (100% of stage 14/17)
82% done: Compacting data tree (0% of stage 15/17)
82% done: Calculating Actual Extents. (0% of stage 15/17)
88% done: Calculating Actual Extents. (100% of stage 15/17)
88% done: Calculating Actual Extents. (0% of stage 16/17)
88% done: Synchronizing (0% of stage 16/17)
94% done: Synchronizing (100% of stage 16/17)
94% done: Synchronizing (100% of stage 16/17)
Reading engine output.
free(): corrupted unsorted chunks

Loguru caught a signal: SIGABRT

Here is the output with the SetTimeSliderState added to the conditional logic.

Saving window 2...
VisIt: Message - Saving window 2...
Saved /usr/WS1/visit/test_trunk/build/test/output2/current/hybrid/timelock/timelock_16.png
VisIt: Message - Saved /usr/WS1/visit/test_trunk/build/test/output2/current/hybrid/timelock/timelock_16.png
    Test case 'timelock_16' PASSED
VisIt: Message - Window 2 was deleted.
VisIt: Message - VisIt closed "localhost:/usr/WS1/visit/test_trunk/build/testdata/pdb_test_data/dbA00.pdb".
    BEGIN SECTION: Make sure replacing into a time-locked window updates the database correlation.
Executing pipeline.
0% done: Starting execution (0% of stage 1/17)
0% done: Reading from Silo File Format (0% of stage 1/17)
0% done: Reading from Silo File Format (0% of stage 1/17)
5% done: Reading from Silo File Format (0% of stage 2/17)
5% done: Waiting for all processors to finish I/O (0% of stage 2/17)
11% done: Waiting for all processors to finish I/O (100% of stage 2/17)
11% done: Waiting for all processors to finish I/O (0% of stage 3/17)
11% done: Handling missing data values (0% of stage 3/17)
17% done: Handling missing data values (100% of stage 3/17)
17% done: Handling missing data values (0% of stage 4/17)
17% done: Creating expressions (0% of stage 4/17)
23% done: Creating expressions (0% of stage 5/17)
23% done: Handling missing data values (0% of stage 5/17)
29% done: Handling missing data values (100% of stage 5/17)
29% done: Handling missing data values (0% of stage 6/17)
29% done: Preparing pipeline (0% of stage 6/17)
35% done: Preparing pipeline (100% of stage 6/17)
35% done: Preparing pipeline (0% of stage 7/17)
35% done: Preparing pipeline (0% of stage 7/17)
41% done: Preparing pipeline (0% of stage 8/17)
41% done: Cleans up duplicate points from a poly line (0% of stage 8/17)
47% done: Cleans up duplicate points from a poly line (0% of stage 9/17)
47% done: Finding visible triangles (0% of stage 9/17)
47% done: Calculating external faces (0% of stage 9/17)
52% done: Calculating external faces (100% of stage 9/17)
52% done: Calculating external faces (0% of stage 10/17)
52% done: Removing ghost cells (0% of stage 10/17)
58% done: Removing ghost cells (100% of stage 10/17)
58% done: Removing ghost cells (0% of stage 11/17)
64% done: Finding visible triangles (0% of stage 12/17)
64% done: Removing unneeded points (0% of stage 12/17)
70% done: Removing unneeded points (100% of stage 12/17)
70% done: Removing unneeded points (0% of stage 13/17)
70% done: Calculating normals (0% of stage 13/17)
76% done: Calculating normals (100% of stage 13/17)
76% done: Calculating normals (0% of stage 14/17)
76% done: Compacting data tree (0% of stage 14/17)
82% done: Compacting data tree (100% of stage 14/17)
82% done: Compacting data tree (0% of stage 15/17)
82% done: Calculating Actual Extents. (0% of stage 15/17)
88% done: Calculating Actual Extents. (100% of stage 15/17)
88% done: Calculating Actual Extents. (0% of stage 16/17)
88% done: Synchronizing (0% of stage 16/17)
94% done: Synchronizing (100% of stage 16/17)
94% done: Synchronizing (100% of stage 16/17)
Reading engine output.
Rendering window 1...
VisIt: Message - Rendering window 1...
Scalable Rendering.
0% done: Starting execution (0% of stage 1/4)
0% done: Synchronizing (0% of stage 1/4)
25% done: Synchronizing (100% of stage 1/4)
Reading engine output.
Saving window 1...
VisIt: Message - Saving window 1...
Saved /usr/WS1/visit/test_trunk/build/test/output2/current/hybrid/timelock/timelock_21.png
VisIt: Message - Saved /usr/WS1/visit/test_trunk/build/test/output2/current/hybrid/timelock/timelock_21.png
    Test case 'timelock_21' PASSED

Type of change

How Has This Been Tested?

I ran the test in scalable,parallel,icet mode without the change and verified that it hung and then ran it again with the change and it ran to completion.

Reminders:

Checklist:

biagas commented 1 week ago

Since this test and its crash are mentioned in #19037, do you think it should be elevated to its own ticket? Just wondering if it would get the attention I believe it needs that way.