visit-dav / visit

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

.config file associated with simulation test causes personal host profiles to be read #17403

Open biagas opened 2 years ago

biagas commented 2 years ago

Describe the bug

I ran across a problem running the interleave simulation test. I would see this error:

/usr/libexec/openssh/gnome-ssh-askpass: symbol lookup error: /lib64/libcairo.so.2: undefined symbol: glXGetProcAddress
Host key verification failed.

The sim test would hang, and eventually timeout.

When I ran with --vargs="-debug 5", I noticed in the viewer log:

ViewerEngineManagerImplementation::CreateEngineEx: Launching a local engine
RemoteProcess::Open: Called with (profile, numRead=1, numWrite=2, createAsThoughLocal=false) where profile is:
hostNickName=LLNL Pascal
host=localhost
username=notset
hostAliases=pascal#.llnl.gov pascal##.llnl.gov pascal###.llnl.gov pascal# pascal## pascal###

When I removed the interleave.config file and re-ran the test, the test ran to completion, and those same lines in the viewer log file show different entries:

ViewerEngineManagerImplementation::CreateEngineEx: Launching a local engine
RemoteProcess::Open: Called with (profile, numRead=1, numWrite=2, createAsThoughLocal=false) where profile is:
hostNickName=
host=localhost
username=kbonnell
hostAliases=

I then put the interleave.config file back, and removed my ~/.visit directory (which contained host profiles), and the test ran successfully.

It appears to me like the presence of the .config file associated with the simulation test caused the reading of personal host profiles. I know we have mechanisms in place with the regression suite to ignore settings in ~/.visit.

We have other tests in our regression suite that use .config files where this doesn't seem to be a problem.

I think the simulation test is unique in the way it relaunches and connects to VisIt.

Also, this may have been a unique scenario because IIRC, the host profiles in my ~/.visit directory were the result of an 'import' and I hadn't yet changed the username for the pascal host profile (as seen in the first log file where username was 'notset').

To Reproduce

Steps to reproduce the behavior. For example:

  1. Run VisIt and import host profiles for the machine where you are running, but don't make any changes to the profiles.
  2. Try to to run the interleave simulation test, run with --lessverbose to see the error message

Expected behavior

Host profiles stored in ~/.visit should not affect outcome or running of any regression test.

Desktop

markcmiller86 commented 2 years ago

Some of the testing logic related to -noconfig flag during running of tests is here...

https://github.com/visit-dav/visit/blob/4f4768f1058c95702f0447187178494c510b681e/src/test/visit_test_suite.py#L190-L195