IBM Support

IT33728: SEGV ASSERTION FAILURE IN UDR_EXECUTE, RESULTING IN -9791 ERROR ON EXECUTE PROCEDURE CALL

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • This is the stack of the failing thread at the time of the
    assertion:
    
    afsig_handler
    <signal frame>
    udr_execute
    udr_spl_curnext
    ip_curnext
    ip_evalcurnext
    runproc
    udrlm_spl_execute
    udrlm_exec_routine
    udr_execute
    udr_spl_curnext
    ip_curnext
    ip_fetch
    getrow
    fetchrow
    exfetch
    sql_nfetch
    sq_nfetch
    sqmain
    spawn_thread
    th_init_initgls
    startup
    
    The current SQL from the failing session:
    
    Stored procedure stack :
    
       context            proc-counter       opcode name
    
    ----------------------------------------------------------------
    --
       0x0000000046f22058 0x46e68d38+0x0008 RETURN     db1:qryt3
       0x0000000046f1d890 0x46e59998+0x0008 RETURN     db1:qryt2
       0x0000000046f15058 0x46e39e08+0x0008 RETURN     db1:qryt1
       0x0000000046f0e058 0x46e399f0-0x0010 CURNEXT    db1:proc3
    
    Current SQL statement (21) in procedure db1:qryt3
       proc-counter 0x0x46e68cd0 opcode CURSOR
    
    "0$c_t3" is select c1
      from t2
      where (= c1, i1)
    
    To encounter this problem, the session would have to have 2
    cursors declared for the same statement, as illustrated by the
    following onstat -g stm output for the session:
    session 34
    ---------------------------------------------------------------
    sdblock          heapsz     flags statement ('*' = Open cursor)
    468c4028         14040      ----- *execute procedure proc3(?)
    468c42e0         4960       -----  <SPL(db1:656), stmt(7):SET
    LOCK MODE >
    468c4598         11328      -----  <SPL(db1:656),
    stmt(8):EXECUTE PROCEDURE >
    468c4850         11232      -----  <SPL(db1:657), stmt(2):SELECT
    >
    468c4b08         12352      -----  <SPL(db1:656),
    stmt(9):EXECUTE PROCEDURE >
    468c4dc0         12256      -----  <SPL(db1:658), stmt(0):SELECT
    >
    468c5078         12352      -----  <SPL(db1:656),
    stmt(10):EXECUTE PROCEDURE >
    468c5330         12256      ----- *<SPL(db1:659), stmt(3):SELECT
    >
    468c55e8         14040      ----- *execute procedure proc3(?)
    468c58a0         11328      -----  <SPL(:0), stmt(0):Type
    Unkown>
    468c5b58         11232      ----- *<SPL(:0), stmt(0):Type
    Unkown>
    468c5e10         12376      -----  <SPL(:0), stmt(0):Type
    Unkown>
    468c60c8         12256      ----- *<SPL(:0), stmt(0):Type
    Unkown>
    
    
    So you can see the "execute procedure proc3()" shows up twice in
    the list.  This is because there are 2 cursors for that same
    statement.  Additionally i believe that the SPL code in the
    procedure has to have foreach execute procedure statements as
    part of the code.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users of Informix Server prior to 12.10.xC15 and 14.10.xC5.  *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to Informix Server 12.10.xC15 (when available) or    *
    * 14.10.xC5.                                                   *
    ****************************************************************
    

Problem conclusion

  • Fixed in Informix Server 12.10.xC15 and 14.10.xC5.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT33728

  • Reported component name

    INFORMIX SERVER

  • Reported component ID

    5725A3900

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-07-29

  • Closed date

    2021-01-22

  • Last modified date

    2021-01-22

  • 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

    INFORMIX SERVER

  • Fixed component ID

    5725A3900

Applicable component levels

[{"Line of Business":{"code":null,"label":null},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"C10"}]

Document Information

Modified date:
23 January 2021