Dear Francois,
Thank you for the bug report.
I made some change so that IROFFZ and IZROW got initialized in case WANTZ
evaluates to .FALSE.
This was committed as rev92 in the ScaLAPACK SVN.
The ScaLAPACK errata file was also updated:
http://www.netlib.org/lapack/Errata/errata_scalapack.html
Back in the old time, the decision was not to initialize a variable that is not
used/referenced.
If you use gfortran -Wall ( or FTNCHEK as you suggested), the list of
uninitialized variables is rather very long.
If we could determine the cases that leads to problem, that might save us some
time.
Sincerely,
Julie Langou
On Jul 7, 2011, at 1:59 AM, Francois Thomas wrote:
Hello,
during some internal tests at IBM with the XL compilers on POWER6/7, we
believe we have found a bug in the following files :
pcheev.f
pcheevx.f
pdsyev.f
pdsyevx.f
pssyev.f
pssyevx.f
pzheev.f
pzheevx.f
IROFFZ and IZROW are not initialized in case WANTZ evaluates to .FALSE. With
aggressive compiler optimizations, these unitialized variables will not
necessarily be 0 and could (and do) take any value leading to errors further
down. A possible outcome would be, for the xdsep test for example :
....
{ 0, 0}: On entry to PDSYEV parameter number 10 had an illegal value
{ 0, 0}: On entry to PDSYEV parameter number 10 had an illegal value
PDSYEV returned INFO= -10
PDSYEV failed the |AQ -QE| test
PDSYEV failed the |QTQ -I| test
...
but we've had much worse failures : segfaults and even MPI hangs that we are
still investigating.
I wish there would be a tool to warn about the use of possibly unitialized
variables...
FTNCHEK Version 3.3 November 2004, finds a few "set but unused variables" but
that's all.
FTNCHEK Version 3.3 November 2004
File pdsyev.f:
Warning in module PDSYEV in file pdsyev.f: Variables set but never used:
FIVE set at line 245 file pdsyev.f
IERRCLS set at line 247 file pdsyev.f
IERREBZ set at line 248 file pdsyev.f
IERREIN set at line 247 file pdsyev.f
IERRSPC set at line 247 file pdsyev.f
MB_Z set at line 339 file pdsyev.f
NB_Z set at line 338 file pdsyev.f
TEN set at line 245 file pdsyev.f
......
Online Fortran checkers like http://www.lahey.com/check.htm or
ftp://spdg1.sci.shizuoka.ac.jp/pub/f77chk/ didn't do a better job.
Salutations/Regards.
============================================
Dr. Francois THOMAS, IBM Certified Professional, Deep Computing Europe, ATS
PSSC
Tel : (33)-4-67344061, GSM : (33)-6-83258855 Fax : (33)-4-67346477
ft@Domain.Removed, ICQ# 95392338, gpg --keyserver pgp.mit.edu --recv-keys
0x1700B256
============================================
Sauf indication contraire ci-dessus:/ Unless stated otherwise above:
Compagnie IBM France
Si?ge Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 639.291.962.10 ?
SIREN/SIRET : 552 118 465 03644 - Code NAF 6202A
_______________________________________________
Scalapack mailing list
Scalapack@Domain.Removed
http://lists.eecs.utk.edu/mailman/listinfo/scalapack
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.eecs.utk.edu/mailman/private/scalapack/attachments/20110707/99e9a47f/attachment.html
|