IBM Support

IC90671: MULTI-THREADED APPLICATIONS USING BOTH ESQL/C AND CLI INTERFACES MAY EXPERIENCE HANGS OR CRASHES WHEN NOT USING EXPLICIT CONTEXT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Multi-threaded applications that make use of ESQL/C in some
    threads
    and CLI in others and do not explicitly manage their own
    contexts
    may experience hangs or crashes.
    
    Hangs will typically have no other threads in active CLI or
    ESQL/C
    code, with one ESQL/C thread having the stack:
    
    NOTE: On Windows, stacks need to be determined from user mode
    crash dump files with the correct debugging symbols. Stacks
    logged in the Windows event logs will not be accurate.
    
    ntdll!KiFastSystemCallRet
    ntdll!ZwWaitForSingleObject
    kernel32!WaitForSingleObjectEx
    kernel32!WaitForSingleObject
    db2sys!sqloxconflict_LONG
    db2sys!sqloxltc_app
    db2app!sqlastrt
    db2app!sqlastrt
    ...
    
    Crashes will be in a CLI thread with a typical stack:
    
    sqlak_callbComplete
    sqljrParseRdbCmmReply
    sqljrParse
    sqljrDrdaArCommit
    CLI_sqlCommit
    SQLTransact2
    SQLDisconnect2
    SQLDisconnect
    ...
    
    (Notably here we see CLI functions calling an ESQL/C call back
    function.)
    
    This APAR fix will address the conditions resulting in these two
    described events.
    

Local fix

  • Explicitly manage thread contexts in the application code.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Multi-threaded applications using both ESQL/C and CLI        *
    * interfaces                                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 V9.7 FP 9 or higher                           *
    ****************************************************************
    

Problem conclusion

  • First fixed in DB2 V9.7 FP 9
    

Temporary fix

  • Explicitly manage thread contexts in the application code
    

Comments

APAR Information

  • APAR number

    IC90671

  • Reported component name

    DB2 CONNECT

  • Reported component ID

    DB2CONNCT

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-03-06

  • Closed date

    2013-06-17

  • Last modified date

    2013-06-17

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

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

    IC91953 IC95320 IC96267

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • R970 PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEPGG","label":"DB2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.7","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
17 June 2013