#1276: Intel 2013.1.117 mis-compiles NewRad
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: NewRad |
-----------------------------------+----------------------------------------
Intels compiler fails (with -O2) to push values for bmin onto the stack in
lines 316 of newrad.cc and line 126 of extrap.cc. Adding printf's for bmin
perturbs the bug out of existence, but adding a printf of the address of
bmax and reveals that at the time extrap_kernel is call the integer just
before this address is still the initialization value of bmin[2] and not
the correct value.
The attached patch disables optimization for the two driver functions
affected (but not the actual kernel).
The patch is specific (via an #if) for this particular compiler and
version. What is the best way of handling this? Target any intel version
starting from the known failing one until we know of known good one? Or
starting from an older known good one (that would be intel 11 in my case).
Hopefully no similar bug is triggered by Carpet's use of the same idiom.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1276>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1439: SSL certificate check failing
--------------------+-------------------------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: Other | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
The check for SSL certificates in line 535:
{{{#perl
# check for svn SSL problems
if ( $rec{"TYPE"} eq "svn" && defined $rec{"AUTH_URL"} ) {
my $base = $rec{"AUTH_URL"};
$base =~ s/(https\:\/\/[\w\.]+)\/(.*)$/$1/i;
unless ( defined $svn_servers{$base} ) {
my $ret = `$svn --non-interactive info $rec{AUTH_URL} 2>&1`;
if ( $ret =~ /Server certificate verification failed/ ) {
$svn_servers{$base} = 0;
}
else {
$svn_servers{$base} = 1;
}
}
}
}}}
is incorrect since eg for the ET manifest where
{{{
AUTH_URL=https://svn.einsteintoolkit.org/$1/trunk
}}}
the executed svn command is:
{{{
svn --non-interactive info https://svn.einsteintoolkit.org/$1/trunk 2>&1
}}}
which actually returns and error:
{{{
svn: E175002: Unable to connect to a repository at URL
'https://svn.einsteintoolkit.org/trunk'
svn: E175002: The OPTIONS request returned invalid XML in the response:
XML parse error at line 1: Extra content at the end of the document
(https://svn.einsteintoolkit.org/trunk)
}}}
but the code does not test for svn failures at all at this point.
The simplest fix would be to move the check further down where {{{$1}}}
has been replaced by an actual value, eg into the loop:
{{{
# we are splitting each group of components into individuals
# to check for existence. they will now be passed individually to
# the checkout/update subroutines. this will take up more memory,
# but it should make it easier if the user decides to add another
# component from the same repository later
my @checkouts = split( /\s+/m, $rec{"CHECKOUT"} );
foreach my $checkout (@checkouts) {
}}}
in line 565 which however causes the test to run for every single CHECKOUT
item.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1439>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#394: Testsuite log file should contain more information
-------------------------+--------------------------------------------------
Reporter: hinder | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Cactus | Version:
Keywords: testsuites |
-------------------------+--------------------------------------------------
It is useful to look at the testsuite log file for information about how
the tests were run. For example, which compiler was used, and with what
compiler options. We need to balance this against providing information
which will always change, making diffs hard to read.
The most extreme case would be to output all make variables. Maybe better
would be to output CC, CFLAGS, CXX, etc. Another option would be to parse
these and say "intel compiler", "gcc", "pgi" etc.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/394>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#382: SimFactory home directory on Kraken is too specific
------------------------+---------------------------------------------------
Reporter: hinder | Owner: mthomas
Type: defect | Status: new
Priority: major | Milestone: ET_2011_05
Component: SimFactory | Version:
Keywords: |
------------------------+---------------------------------------------------
The mdb entry for Kraken in SimFactory has
'sourcebasedir' => '/nics/b/home/@USER@',
My home directory is
'/nics/d/home/@USER@'
Either we could leave the source base dir as unset to force the user to
set it, or we could automatically detect the location of the user's home
directory (better).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/382>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#960: Dissipation thorn schedules LOCAL routines after GLOBAL ones
----------------------------------------------+-----------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: Dissipation and SphericalSurface |
----------------------------------------------+-----------------------------
Dissipation currently contains a schedule item {{{
SCHEDULE setup_epsdis AT cctk_poststep after SphericalSurface_HasBeenSet
{
LANG: C
SYNC: epsdisA_group
} "Setup spatially varying dissipation"
}}}
However SphericalSurface_HasBeenSet is AFTER SphericalSurface_Set which is
a GLOBAL routine. Since GLOBAL routines run last in POSTSTEP (which is in
EVOL) the AFTER modifier is ignored for all but the last (finest)
refinement level. This can lead to the wrong surface shape to be used by
the local routines.
It might actually make sense to teach the flesh about GLOBAL/LOCAL etc and
refuse AFTER/BEFORE statements that span different modes. This of course
depends on how much work this is and if we expect the dependency and task
based scheduler to be finished soon and if there are legitimate uses for
AFTER/BEFORE to span modes.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/960>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#912: Use CACTUS_CONFIGS_DIR in Formaline
-----------------------------------+----------------------------------------
Reporter: eschnett | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
Formaline assumes that configurations are stored in a "configs"
subdirectory of $CCTK_HOME. Use $CACTUS_CONFIGS_DIR instead.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/912>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#584: Use of uninitialized value in concatenation
------------------------+---------------------------------------------------
Reporter: hinder | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone:
Component: SimFactory | Version:
Keywords: |
------------------------+---------------------------------------------------
After failing to check out a thornlist (the current einsteintoolkit.th)
the automated build and test system re-runs GetComponents with --update.
On 27-Sep-2011, this gave the error:
{{{
Use of uninitialized value in concatenation (.) or string at
./GetComponents line 2514.
}}}
This line seems to be
{{{
$url = "(".$component{"URL"}.")|(".$component{"AUTH_URL"}.")";
}}}
Is the problem that SimFactory doesn't have an AUTH_URL?
I'm attaching the log of the testsuite script. I don't know if the error
is serious or not, since the checkout has already failed.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/584>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#702: Tests should use IO::out_fileinfo = "none"
-------------------------+--------------------------------------------------
Reporter: hinder | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Other | Version:
Keywords: |
-------------------------+--------------------------------------------------
The Cactus User Guide
(http://einsteintoolkit.org/documentation/UsersGuide/UsersGuidech9.html#x13-…)
recommends that test output files should always be the same, and hence use
IO::out_fileinfo = "none". I would like to implement this for the tests
in the ET, as it makes comparing test output using standard (non-Cactus
testsuite mechanism) diff tools possible.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/702>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1419: Cactus should produce no errors in Valgrind
-------------------------+--------------------------------------------------
Reporter: sbrandt | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone: Cactus_4.3.0
Component: Cactus | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
Valgrind is a useful tool for identifying a large number of coding
problems. Currently, running Cactus under valgrind produces a large number
of spurious errors due to the implementation of the string library.
Attempts to use the valgrind suppression mechanism to eliminate them have
proven difficult.
However, these errors all go away if we simply replace all calls to
strdup() with calls to util_Strdup(), a function which is already part of
Cactus. Making this replacement shouldn't have any negative impacts, and
it would make valgrind more usable.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1419>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#706: External Library Support
-------------------------+--------------------------------------------------
Reporter: sbrandt | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone: Cactus_4.1.0
Component: Cactus | Version:
Keywords: |
-------------------------+--------------------------------------------------
We should remove support for all external library support that's wired
into the flesh (except maybe MPI) in favor of the newer more generic
mechanism.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/706>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit