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
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
Document Information
Modified date:
03 November 2011