IBM Support

LI73256: XLF_R CORE DUMPS WITH RANDOM_NUMBER() AND -Q64

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Following test case core dumps with random_number() compiled
    with *_r and -q64
    
    $xlf_r foo.f -q64
          program foo
          implicit none
          real*8, allocatable, dimension(:,:) :: a
          integer, parameter :: n = 50000
          integer :: istat
    
          allocate(a(n,n),stat=istat)
          if (istat.ne.0) stop 1
          call random_number(a)
          print *, a(1,1)
          deallocate(a)
          end
    
    $./a.out
    Memory fault(coredump)
    
    if n<45000, the problem will go away.
    

Local fix

  • n/a
    

Problem summary

  • When invocations with the _r suffix are used to link, the
    run-time treats the resulting executable as threaded.
    
    With threaded applications, the random_number() intrisic
    partitions the array and creates "processors online*2"
    number of threads to perform the function in parallel.
    
    The problem is a variable used to keep the number of
    elements for each thread is defined as a 32-bit type
    and it overflows when the array is very large.
    
    Users who call random_number() with a very large
    array (in case of this APAR, 2.5G elements) and use
    the *_r invocation to link or have -lpthreads on the link
    command line are affected.  This defect affects 64-bit
    applications only.
    

Problem conclusion

  • Compiler has changed the type of the offending variable from
    32-bit to 64-bit.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI73256

  • Reported component name

    XL FORTRAN RHEL

  • Reported component ID

    5724S7410

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-03-27

  • Closed date

    2008-03-27

  • Last modified date

    2008-03-27

  • APAR is sysrouted FROM one or more of the following:

    IZ10203

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XL FORTRAN RHEL

  • Fixed component ID

    5724S7410

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSB259","label":"XL Fortran Advanced Edition for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B.1","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
24 February 2022