LLNL / Silo

Mesh and Field I/O Library and Scientific Database
https://silo.llnl.gov
Other
30 stars 23 forks source link

tests/rocket fails #236

Open ghost opened 2 years ago

ghost commented 2 years ago

As title said, rocket tests fails with following log:

...
## ---------------------- ##
## Detailed failed tests. ##
## ---------------------- ##

#                             -*- compilation -*-
35. testsuite.at:191: testing rocket ...
./testsuite.at:192: $VALGRIND rocket $STARGS
--- /dev/null   2022-01-11 09:53:10.872620301 +0100
+++ /var/tmp/portage/sci-libs/silo-4.11-r1/work/silo-4.11-bsd/tests/testsuite.dir/at-groups/35/stderr   2022-01-11 11:27:53.858565935 +0100
@@ -0,0 +1 @@
+/var/tmp/portage/sci-libs/silo-4.11-r1/work/silo-4.11-bsd/tests/testsuite.dir/at-groups/35/test-source: line 12: 172809 Segmentation fault      (core dumped) $VALGRIND rocket $STARGS
stdout:
Using "../../.libs" as plugin dir.
Found 1 format writers.
Processing format "silo"...
./testsuite.at:192: exit code was 139, expected 0
35. testsuite.at:191: 35. rocket (testsuite.at:191): FAILED (testsuite.at:192)
...

If you have any ideas please let me know

markcmiller86 commented 2 years ago

Hmmm...I suspect its having trouble dlopen()'ing the plugin. Is this still on Gentoo linux or some other type of system? Can you confirm there is a file named rocket_silo.so in tests/.libs dir?

ghost commented 2 years ago

Yes, I'm on gentoo and yes, tests/.libs/rocket_silo.so exists

markcmiller86 commented 2 years ago

Are you able to run the rocket executable successfully by manually invoking it at the shell?

ghost commented 2 years ago

If you mean after installing it system-wide no, I'm not able to run it. Only silock and silex

markcmiller86 commented 2 years ago

Well, rocket is a test. So, it won't install that anywhere. My question was to try to run that test outside of Autotest's harness to see if we can get a bit more info about what is happening. Another option...can you attach here a .tar.gz file of the test dir's contents in tests/testsuite.dir/35 (35 being the Autotest test id for the rocket test)?

ghost commented 2 years ago

Here you are. In order to be as clear as possible I have to say I have used mold as linker but I don't think this will make any difference. 35.tar.gz

markcmiller86 commented 2 years ago

Ok, so I am wrong. It is finding the plugin fine. It is failing at some point producing the rocket.silo file. So, there is some issue in the actual code I think. Can you skip this test for you needs?

ghost commented 2 years ago

@markcmiller86 I can skip it, is it possible to use something like make check -rocket or have I to choose them one by one?

markcmiller86 commented 2 years ago

Sheesh...it took me a while to remind myself how to do this. Yes, this is possible with GNU Autotest, which is what Silo is using as the test harness here. You can specify specific tests to run by using the Silo-defined make variable ATARGS which are the arguments to pass to GNU Autotest.

You would use

make ATARGS="1-34 36-82" check

There is no exclude option. So, you wind up listing all the tests to run except 35