IBM Support

IC75139: QUERY INVOLVING JOIN BETWEEN DERIVED TABLES WITH ONCONFIG PARAME TER IFX_FOLDVIEW SET TO 1 CAN CAUSE ASSERTION FAILURE AND CRASH

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as fixed if next.

Error description

  • The stack trace for the sqlexe thread that is generating the
    assertion failure is as follows:
    
    rdatavalChar()
    valload()
    geval()
    loadkey()
    loadidxkey()
    readidx_old()
    gettupl()
    scan_next()
    join_next()
    join_next()
    join_next()
    getrow()
    fetchrow()
    exfetch()
    sql_nfetch()
    sqmain()
    listen_verify()
    spawn_thread()
    startup()
    
    The query that is generating the crash looks like this:
    
    SELECT MAIN.*, CUSTOMER.*
    FROM
    ( SELECT BIDS.doc_no doc_no,
        CHANNEL.channel_code channel_code, BIDS.order_date
    order_date,
        BIDS.sls_psn_code sls_psn_code, BIDS.create_id create_id,
           (select sales_person.src_desc from stxinfor sales_person
    where
            sales_person.src_key=BIDS.sls_psn_code and
    sales_person.src_type='L') sls_psn_name,
           (select account_mgr.src_desc from stxinfor account_mgr
    where
            account_mgr.src_key=CUSTOMER.sls_psn_code
    andaccount_mgr.src_type='L') account_mgr,
        BIDS.cust_code cust_code, CUSTOMER.cust_code c_cust_code,
     CUSTOMER.bus_name c_bus_name,
        CUSTOMER.address1 c_address, CUSTOMER.city     c_city,
    CUSTOMER.state
        c_state, CUSTOMER.zip c_zip, CUSTOMER.country     c_country,
        sum(BIDS.item_amount) bid_amount, sum(ORDERS.item_amount)
     order_amount
    FROM stoordre BIDS JOIN bhoordrs CHANNEL ON
    CHANNEL.doc_no=BIDS.doc_no
        LEFT JOIN (stoordre ORDERS JOIN stoshipd     SHIPPED ON
        SHIPPED.doc_no=ORDERS.doc_no) ON
    ORDERS.orig_doc_no=BIDS.doc_no     AND
        ORDERS.order_type IN ('WEB','PHO','STO','MO') AND
    SHIPPED.stage =
        'PST' JOIN strcustr CUSTOMER ON
    CUSTOMER.cust_code=BIDS.cust_code WHERE
         BIDS.order_date >= '01/01/2010' AND BIDS.order_type = 'BID'
    AND
        CHANNEL.channel_code IN ('B2BD','B2BW')
    GROUP BY BIDS.doc_no, CHANNEL.channel_code, BIDS.order_date,
    BIDS.sls_psn_code, BIDS.create_id,
           6, 7, BIDS.cust_code, CUSTOMER.cust_code,
    CUSTOMER.bus_name,
           CUSTOMER.address1, CUSTOMER.city, CUSTOMER.state,
    CUSTOMER.zip,
           CUSTOMER.country )
    MAIN  LEFT JOIN
    (SELECT bhroapsd.cust_code cust_code1,
          bhrcustc.cust_code cust_code2, parent.cust_code
    p_cust_code,
          parent.bus_name p_bus_name, parent.address1 p_address,
    parent.city p_city,
          parent.state p_state, parent.zip p_zip, parent.country
    p_country,
          bhrcustc.cust_industry_code industry_code,
    stxinfor.src_desc industry
    FROM
            bhroapse, bhroapsd, strcustr parent, bhrcustc, stxinfor
    WHERE
        bhroapsd.p_code=bhroapse.p_code AND
    bhroapse.cust_code=parent.cust_code
         AND bhrcustc.cust_industry_code=stxinfor.src_key AND
        stxinfor.src_type='U'     ) CUSTOMER
    on CUSTOMER.cust_code1=MAIN.cust_code and
        MAIN.cust_code=CUSTOMER.cust_code2
    
    So the query is using derived tables.  This query runs fine if
    IFX_FOLDVIEW is set to 0 in the ONCONFIG file.  As soon as
    IFX_FOLDVIEW is set to 1, the server will crash.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users who have set IFX_FOLDVIEW to 1 and there are more than *
    * 3 tables in the view definition and this view is joined with *
    * other tables.                                                *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * The stack trace for the sqlexec thread that is generating    *
    * the                                                          *
    * assertion failure is as follows:                             *
    *                                                              *
    *                                                              *
    *                                                              *
    * rdatavalChar()                                               *
    *                                                              *
    * valload()                                                    *
    *                                                              *
    * geval()                                                      *
    *                                                              *
    * loadkey()                                                    *
    *                                                              *
    * loadidxkey()                                                 *
    *                                                              *
    * readidx_old()                                                *
    *                                                              *
    * gettupl()                                                    *
    *                                                              *
    * scan_next()                                                  *
    *                                                              *
    * join_next()                                                  *
    *                                                              *
    * join_next()                                                  *
    *                                                              *
    * join_next()                                                  *
    *                                                              *
    * getrow()                                                     *
    *                                                              *
    * fetchrow()                                                   *
    *                                                              *
    * exfetch()                                                    *
    *                                                              *
    * sql_nfetch()                                                 *
    *                                                              *
    * sqmain()                                                     *
    *                                                              *
    * listen_verify()                                              *
    *                                                              *
    * spawn_thread()                                               *
    *                                                              *
    * startup()                                                    *
    *                                                              *
    *                                                              *
    *                                                              *
    * The query that is generating the crash looks like this:      *
    *                                                              *
    *                                                              *
    *                                                              *
    * SELECT MAIN.*, CUSTOMER.*                                    *
    *                                                              *
    * FROM                                                         *
    *                                                              *
    * ( SELECT BIDS.doc_no doc_no,                                 *
    *                                                              *
    *     CHANNEL.channel_code channel_code, BIDS.order_date       *
    *                                                              *
    * order_date,                                                  *
    *                                                              *
    *     BIDS.sls_psn_code sls_psn_code, BIDS.create_id           *
    * create_id,                                                   *
    *       (select sales_person.src_desc from stxinfor            *
    * sales_person                                                 *
    * where                                                        *
    *                                                              *
    *         sales_person.src_key=BIDS.sls_psn_code and           *
    *                                                              *
    * sales_person.src_type='L') sls_psn_name,                     *
    *                                                              *
    *       (select account_mgr.src_desc from stxinfor account_mgr *
    *                                                              *
    * where                                                        *
    *                                                              *
    *         account_mgr.src_key=CUSTOMER.sls_psn_code            *
    *                                                              *
    * andaccount_mgr.src_type='L') account_mgr,                    *
    *                                                              *
    *     BIDS.cust_code cust_code, CUSTOMER.cust_code             *
    * c_cust_code,                                                 *
    * CUSTOMER.bus_name c_bus_name,                                *
    *                                                              *
    *     CUSTOMER.address1 c_address, CUSTOMER.city    c_city,    *
    *                                                              *
    * CUSTOMER.state                                               *
    *                                                              *
    *     c_state, CUSTOMER.zip c_zip, CUSTOMER.country            *
    * c_country,                                                   *
    *     sum(BIDS.item_amount) bid_amount,                        *
    * sum(ORDERS.item_amount)                                      *
    * order_amount                                                 *
    *                                                              *
    * FROM stoordre BIDS JOIN bhoordrs CHANNEL ON                  *
    *                                                              *
    * CHANNEL.doc_no=BIDS.doc_no                                   *
    *                                                              *
    *     LEFT JOIN (stoordre ORDERS JOIN stoshipd    SHIPPED ON   *
    *                                                              *
    *     SHIPPED.doc_no=ORDERS.doc_no) ON                         *
    *                                                              *
    * ORDERS.orig_doc_no=BIDS.doc_no    AND                        *
    *                                                              *
    *     ORDERS.order_type IN ('WEB','PHO','STO','MO') AND        *
    *                                                              *
    * SHIPPED.stage =                                              *
    *                                                              *
    *     'PST' JOIN strcustr CUSTOMER ON                          *
    *                                                              *
    * CUSTOMER.cust_code=BIDS.cust_code WHERE                      *
    *                                                              *
    *     BIDS.order_date >= '01/01/2010' AND BIDS.order_type =    *
    * 'BID'                                                        *
    * AND                                                          *
    *                                                              *
    *     CHANNEL.channel_code IN ('B2BD','B2BW')                  *
    *                                                              *
    * GROUP BY BIDS.doc_no, CHANNEL.channel_code, BIDS.order_date, *
    *                                                              *
    * BIDS.sls_psn_code, BIDS.create_id,                           *
    *                                                              *
    *       6, 7, BIDS.cust_code, CUSTOMER.cust_code,              *
    *                                                              *
    * CUSTOMER.bus_name,                                           *
    *                                                              *
    *       CUSTOMER.address1, CUSTOMER.city, CUSTOMER.state,      *
    *                                                              *
    * CUSTOMER.zip,                                                *
    *                                                              *
    *       CUSTOMER.country )                                     *
    *                                                              *
    * MAIN  LEFT JOIN                                              *
    *                                                              *
    * (SELECT bhroapsd.cust_code cust_code1,                       *
    *                                                              *
    *       bhrcustc.cust_code cust_code2, parent.cust_code        *
    *                                                              *
    * p_cust_code,                                                 *
    *                                                              *
    *       parent.bus_name p_bus_name, parent.address1 p_address, *
    *                                                              *
    * parent.city p_city,                                          *
    *                                                              *
    *       parent.state p_state, parent.zip p_zip, parent.country *
    *                                                              *
    * p_country,                                                   *
    *                                                              *
    *       bhrcustc.cust_industry_code industry_code,             *
    *                                                              *
    * stxinfor.src_desc industry                                   *
    *                                                              *
    * FROM                                                         *
    *                                                              *
    *         bhroapse, bhroapsd, strcustr parent, bhrcustc,       *
    * stxinfor                                                     *
    * WHERE                                                        *
    *                                                              *
    *     bhroapsd.p_code=bhroapse.p_code AND                      *
    *                                                              *
    * bhroapse.cust_code=parent.cust_code                          *
    *                                                              *
    *     AND bhrcustc.cust_industry_code=stxinfor.src_key AND     *
    *                                                              *
    *     stxinfor.src_type='U'    ) CUSTOMER                      *
    *                                                              *
    * on CUSTOMER.cust_code1=MAIN.cust_code and                    *
    *                                                              *
    *     MAIN.cust_code=CUSTOMER.cust_code2                       *
    *                                                              *
    *                                                              *
    *                                                              *
    * So the query is using derived tables.  This query runs fine  *
    * if                                                           *
    * IFX_FOLDVIEW is set to 0 in the ONCONFIG file.  As soon as   *
    *                                                              *
    * IFX_FOLDVIEW is set to 1, the server will crash.             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to IDS version 11.50.xC9 when available.             *
    ****************************************************************
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    IC75139

  • Reported component name

    IBM IDS ENTRP E

  • Reported component ID

    5724L2304

  • Reported release

    B15

  • Status

    CLOSED FIN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-03-21

  • Closed date

    2011-09-27

  • Last modified date

    2011-09-27

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

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

Fix information

Applicable component levels

  • RB15 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B15","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
27 September 2011