ScaLAPACK Archives

[Scalapack] scalapack-1.8.0 bug report

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
 

<Prev in Thread] Current Thread [Next in Thread>


For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or