next up previous contents index
Next: Computational Failures and INFO Up: Failures Detected by ScaLAPACK Previous: Failures Detected by ScaLAPACK

Invalid Arguments and PXERBLA

    If an illegal value is supplied for one of the input arguments to a ScaLAPACK routine, it will call the error handler PXERBLA to write a message to the standard output unit of the form:

 ** On entry to PSGESV  parameter number  4 had an illegal value
This particular message could be caused by passing to PSGESV  a value of NRHS that was less than zero, for example. The arguments are checked in order, beginning with the first. As mentioned in Chapter 4, if an error is detected in the tex2html_wrap_inline19432 entry of a descriptor array, which is the tex2html_wrap_inline19434 argument in the parameter list, the number passed to PXERBLA has been arbitrarily chosen to be 100*i+j. This allows the user to distinguish an error on a descriptor entry from an error on a scalar argument. Invalid arguments are often caused by the kind of error listed in section 7.3.

In the model implementation of PXERBLA  that is supplied with ScaLAPACK, the only action that is performed is the printing of an error message to standard output. Program execution is not terminated. For the ScaLAPACK driver and computational routines, a RETURN statement is issued following the call to PXERBLA. Control returns to the higher-level calling routine, and it is left to the user to determine how the program should proceed. However, in the specialized low-level ScaLAPACK routines (auxiliary routines that are Level 2 equivalents of computational routines), the call to PXERBLA() is immediately followed by a call to BLACS_ABORT()  to terminate program execution since recovery from an error at this level in the computation is not possible.

It is always good practice to check for a nonzero value of INFO on return from a ScaLAPACK routine.  

Susan Blackford
Tue May 13 09:21:01 EDT 1997