IBM Support

IV03698: STATIC SCHEDULING CAN CAUSE HANG AT RUNTIME

Fixes are available

November 2011 PTF for XL C for AIX, V11.1
November 2011 PTF for XL C/C++ for AIX, V11.1
November 2011 IBM XL C++ Runtime for AIX, V11.1
December 2011 PTF for XL C Enterprise Edition for AIX, V9.0
December 2011 PTF for XL C/C++ Enterprise Edition for AIX, V9.0
December 2011 PTF for XL Fortran Enterprise Edition for AIX, V11.1
December 2011 PTF for XL Fortran Enterprise Edition for AIX, V11.1 Runtime
January 2012 PTF for XL C for AIX, V11.1
January 2012 PTF for XL C/C++ for AIX, V11.1
January 2012 PTF for XL Fortran for AIX, V13.1
February 2012 PTF for XL C for AIX, V10.1
February 2012 PTF for XL C/C++ for AIX, V10.1
February 2012 PTF for XL Fortran for AIX, V12.1
February 2012 PTF for XL Fortran Runtime for AIX, V12.1
March 2012 PTF for XL C Enterprise Edition for AIX, V9.0
March 2012 PTF for XL C/C++ Enterprise Edition for AIX, V9.0
April 2012 PTF for XL Fortran for AIX, V13.1
April 2012 PTF for XL C for AIX, V11.1
April 2012 PTF for XL C/C++ for AIX, V11.1
May 2012 PTF for XL C for AIX, V10.1
May 2012 PTF for XL C/C++ for AIX, V10.1
July 2012 PTF for XL C/C++ for AIX, V11.1
July 2012 PTF for XL C for AIX, V11.1
July 2012 PTF for XL Fortran for AIX, V13.1
July 2012 PTF for XL Fortran Runtime for AIX, V13.1
September 2012 PTF for XL Fortran for AIX, V12.1
September 2012 PTF for XL Fortran Runtime for AIX, V12.1
September 2012 PTF for XL C for AIX, V10.1
September 2012 PTF for XL C/C++ for AIX, V10.1
October 2012 PTF for XL C/C++ for AIX, V11.1
October 2012 PTF for XL C for AIX, V11.1
October 2012 PTF for XL Fortran for AIX, V13.1
January 2013 PTF for XL C for AIX, V10.1
January 2013 PTF for XL C/C++ for AIX, V10.1
February 2013 PTF for XL C for AIX, V11.1
February 2013 PTF for XL C/C++ for AIX, V11.1
February 2013 PTF for XL Fortran for AIX, V13.1
May 2013 PTF for XL Fortran for AIX, V13.1
XL C/C++ for AIX Fix Pack 14 (May 2013 PTF) for 11.1
XL C for AIX Fix Pack 14 (May 2013 PTF) for 11.1
XL C for AIX Fix Pack 18 (July 2013 PTF) for 10.1
XL C/C++ for AIX Fix Pack 18 (July 2013 PTF) for 10.1
XL Fortran for AIX Fix Pack 18 (July 2013) for 12.1
XL C/C++ for AIX Fix Pack 15 (August 2013 PTF) for 11.1
XL C for AIX Fix Pack 15 (August 2013 PTF) for 11.1
XL Fortran for AIX Fix Pack 15 (August 2013 PTF) for 13.1
XL Fortran Runtime for AIX Fix Pack 15 (August 2013 PTF) for 13.1
XL C/C++ for AIX Fix Pack 19 (October 2013 PTF) for 10.1
XL C for AIX Fix Pack 19 (October 2013 PTF) for 10.1
XL C for AIX Fix Pack 16 (November 2013 PTF) for 11.1
XL C/C++ for AIX Fix Pack 16 (November 2013 PTF) for 11.1
XL Fortran for AIX Fix Pack 16 (November 2013 PTF) for 13.1
XL Fortran Runtime for AIX Fix Pack 16 (November 2013 PTF) for 13.1
XL C for AIX Fix Pack 17 (February 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 17 (February 2014 PTF) for 11.1
XL Fortran for AIX Fix Pack 17 (February 2014 PTF) for 13.1
XL C for AIX Fix Pack 18 (May 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 18 (May 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 19 (August 2014 PTF) for 11.1
XL C for AIX Fix Pack 19 (August 2014 PTF) for 11.1
XL C for AIX Fix Pack 20 (October 2014 PTF) for 10.1
XL C/C++ for AIX Fix Pack 20 (October 2014 PTF) for 10.1
XL Fortran for AIX Fix Pack 20 (October 2014 PTF) for 12.1
XL Fortran Runtime for AIX Fix Pack 20 (October 2014 PTF) for 12.1
XL C for AIX Fix Pack 20 (November 2014 PTF) for 11.1
XL C/C++ for AIX Fix Pack 20 (November 2014 PTF) for 11.1
XL Fortran Runtime for AIX Fix Pack 20 (November 2014 PTF) for 13.1
XL Fortran for AIX Fix Pack 21 (April 2015 PTF) for 13.1
XL C for AIX Fix Pack 21 (April 2015 PTF) for 11.1
XL C/C++ for AIX Fix Pack 21 (April 2015 PTF) for 11.1
XL C for AIX Fix Pack 22 (September 2015 PTF) for 11.1
XL C/C++ for AIX Fix Pack 22 (September 2015 PTF) for 11.1
XL Fortran for AIX Fix Pack 22 (September 2015 PTF) for 13.1
XL Fortran Runtime for AIX Fix Pack 22 (September 2015 PTF) for 13.1
XL C/C++ for AIX Fix Pack 21 (October 2015 PTF) for 10.1
XL C for AIX Fix Pack 21 (October 2015 PTF) for 10.1
XL C for AIX Fix Pack 23 (March 2016 PTF) for 11.1
XL C/C++ for AIX Fix Pack 23 (March 2016 PTF) for 11.1
XL Fortran for AIX Fix Pack 23 (March 2016 PTF) for 13.1
XL Fortran Runtime for AIX Fix Pack 23 (March 2016 PTF) for 13.1
XL C for AIX Fix Pack 24 (September 2016 PTF) for 11.1
XL C/C++ for AIX Fix Pack 24 (September 2016 PTF) for 11.1
XL Fortran for AIX Fix Pack 24 (September 2016 PTF) for 13.1
XL Fortran Runtime for AIX Fix Pack 24 (September 2016 PTF) for 13.1

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The test case alternates acquiring and releasing locks before
    and after a worksharing construct.
    
    The deadlock is happening when one thread is waiting for the
    lock while the other thread is waiting for the worksharing
    construct to complete.
    

Local fix

  • If Fortran application features the following code, comment out
    OMP directives:
    
    ...
    ...
    !$OMP DO SCHEDULE(STATIC)
      <some Fortran code>
      ...
      ...
      </some Fortran code>
    !$OMP END DO NOWAIT
    

Problem summary

  • The workshare queue used by the SMP runtime to manage work
    items is filling up and causing a deadlock.
    

Problem conclusion

  • The compiler is no longer using workshare queue in specific
    situations. Specifically, in the presence of static scheduling
    and nowait clause, each thread knows in advance the work it
    must do and does not need to share any information among the
    other threads. In this situation, the workshare item can be
    allocated on the stack (private to each thread), without using
    the shared queue.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV03698

  • Reported component name

    XL FORTRAN FOR

  • Reported component ID

    5724X1500

  • Reported release

    210

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-07-26

  • Closed date

    2011-11-02

  • Last modified date

    2011-11-03

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

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

    LI76468 LI76474

Fix information

  • Fixed component name

    XL SMP AIX

  • Fixed component ID

    5724X1501

Applicable component levels

  • R210 PSY U846901

       UP A

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH4D","label":"XL Fortran for AIX"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"210","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
03 November 2011