Fixes are available
January 2010 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
May 2010 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
August 2010 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
December 2010 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
April 2011 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
August 2011 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
December 2011 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
April 2012 Update for XL Fortran Advanced Edition for Blue Gene/P, V11.1
XL Fortran Advanced Edition for Blue Gene/P Fix Pack 17 (October 2013 Update) for 11.1
APAR status
Closed as program error.
Error description
There appears to be a race condition that prevents the compiler from being interrupted with ctrl+C under some conditions. When this happens, it seems to be waiting on the ipa subprocess. With a sample Fortran program that has some modules, the following will reproduce the problem: 1. Type the compile commands 2. As soon as it outputs "End of Compilation XX", hit ctrl+C Normally, you would see this: Calling signal handler... and it would exit immediately. However, when the race condition is hit, it hangs right after printing the first message: Calling signal handler... and will remain there until you kill the ipa subprocess w/SIGTERM from another shell. Additional ^Cs will not have any effect. This hang does not happen always, depending on the timing you hit CTRL+C. But it always hangs in ipa process (add -V compiler option to view what process it is in). This causes inconvenience to users.
Local fix
To kill the hanging process, launch another shell, and use ps -u to show the process you own. For example: awcheng@xlpfen15:~> ps -u awcheng PID TTY TIME CMD 2635 ? 00:00:00 sshd 2636 pts/0 00:00:00 bash 6342 pts/0 00:00:00 mpixlf77_r 6357 pts/0 00:00:00 bgxlf_r 6360 pts/0 00:00:00 ipa 7413 ? 00:00:00 sshd 7414 pts/2 00:00:00 bash 7871 pts/2 00:00:00 ps awcheng@xlpfen15:~> kill 6360 This way, the hang process in the original window will exit immediately.
Problem summary
USER AFFECTED: Users who use ctrl+C to interrupt the IPA process during compilation. PROBLEM DESCRIPTION: The signal handler cannot call malloc/free on Linux because it may deadlock due to a lock held by malloc.
Problem conclusion
The problem is fixed. The compiler now does not use malloc/free on the signal handler. It prints the interrupt message and call _exit().
Temporary fix
Comments
APAR Information
APAR number
LI74716
Reported component name
XL FORTRAN AE B
Reported component ID
5799HJF00
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-07-15
Closed date
2010-01-12
Last modified date
2010-01-12
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
XL FORTRAN AE B
Fixed component ID
5799HJF00
Applicable component levels
RB10 PSY
UP
Document Information
Modified date:
16 October 2021