open-mpi / mtt

MPI Testing Tool
https://open-mpi.github.io/mtt
Other
61 stars 47 forks source link

`$MTT::Test::runs` gets corrupted on a multiple-INI file run #220

Open ompiteam opened 10 years ago

ompiteam commented 10 years ago

It looks like $MTT::Test::runs is getting corrupted somehow when multiple INI files are used. Dumper($MTT::Test::runs) in Trim (see [source:/trunk/lib/MTT/Trim.pm Trim.pm]) shows the following:

{{{ $MTT::Test::runs = $VAR1 = { 'workspace' => { '1.2.1r14096-ct7b030r1838' => { 'workspace' => { 'trivial' => { 'trivial' => { '' => 1, 'f77_hello' => { '2' => { 'mpirun ... }}}

Where did this NULL key=value pair come from? {{{ '' => 1, }}}

It results in this fatal error from Trim.pm: {{{ Can't use string ("1") as a HASH ref while "strict refs" in use at .../trunk/lib/MTT/Trim.pm line 113. }}}

I've only seen this when using two INI files in a single MTT run. {{{ $ client/mtt -f file1.ini -f file1.ini }}}

Which begs the question: is accepting multiple INI files a ''needed'' feature? One could get the same effect using e.g., xargs, wrapper scripts, etc.

{{{ $ cat ini_file_list.txt | xargs -i -t client/mtt -f {} }}}

(Workaround: --no-trim)

ompiteam commented 10 years ago

Imported from trac issue 219. Created by emallove on 2007-04-05T12:12:10, last modified: 2007-09-11T15:02:40

ompiteam commented 10 years ago

Trac comment by jsquyres on 2007-04-05 12:21:25:

Bill saw exactly this error message yesterday, I think -- I don't know if he was using multiple INI files or not.

I see two solutions:

ompiteam commented 10 years ago

Trac comment by jsquyres on 2007-04-05 12:40:23:

(In [664]) Refs #219.

This fixes the Trim problem (the code currently in Trim is meaningless anyway -- it's to-be-replaced someday anyway, so we might as well whack it). But this commit does not address the larger #219 issue of potentially corrupting meta data due to multiple INI files.