IBM Support

IT27567: ASSERT FAILED OCCURS WHEN INSERTING DATA INTO THE TABLE USING THE VALUES RETURNED FROM STORED PROCEDURE AND VIEWS

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

  • Assert Failed occurs when inserting data into the table using
    the values returned from stored procedure and views
    
    Assert Failure from online.log
    ==================
    00:44:47  Assert Failed: No Exception Handler
    00:44:47  IBM Informix Dynamic Server Version 12.10.FC11
    00:44:47   Who: Session(45, root@server, 5949, 0x44c8d178)
                    Thread(59, sqlexec, 44c4ddb8, 1)
                    File: mtex.c Line: 508
    00:44:47   Results: Exception Caught. Type: MT_EX_OS, Context:
    mem
    00:44:47   Action: Please notify IBM Informix Technical Support.
    00:44:47   See Also:
    /usr2/support/products/12.10.FC11/tmp/af.423b7cf
    00:44:49  Assert Failed: Condition Failed (Bad pool pointer
    0x4620a190), In (mt_shm_free_pool)
    00:44:49  IBM Informix Dynamic Server Version 12.10.FC11
    00:44:49   Who: Session(45, root@server, 5949, 0x44c8d178)
                    Thread(59, sqlexec, 44c4ddb8, 1)
                    File: mtshpool.c Line: 4741
    00:44:49   Action: Please notify IBM Informix Technical Support.
    ==========================================
    
    
    Steps to reproduce:
    -- Create the database(s)
    
    create database k1sys;
    create database k2sys;
    
    -- Preparation of object (k2sys)
    
    database k2sys;
    
    create table _a1 (id char(20));
    
    create table _a2 (id char(20));
    
    insert into _a1 values ("A001");
    
    create view _ax as select * from _a1 union all select * from
    _a2;
    
    create procedure _getidname (_id char(20)) returning char(40);
    return "dummy";
    end procedure;
    
    -- Preparation of object (k1sys)
    
    database k1sys;
    
    create table _a1 (id char(20));
    
    create table _a2 (id char(20));
    
    create view _ax as select * from _a1 union all select * from
    _a2;
    
    create view _allax as select * from k1sys:_ax union all select *
    from k2sys:_ax;
    
    -- Reproduce the problem
    
    database k1sys;
    
    create table _dummy(_id char(20),_name char(40));
    
    insert into _dummy select *,k2sys:_getidname(id) from
    k1sys:_allax;
    
    *** Error occurred ***
       959: The current transaction has been rolled back due to an
    internal error.
       172: ISAM error:  Unexpected internal error
    
    
    Scenario 1:
    $echo "select k2sys:_getidname(id) from k1sys:_allax"|dbaccess
    -e k1sys
    
    Database selected.
    
    select k2sys:_getidname(id) from k1sys:_allax
    
      674: Routine (_getidname) can not be resolved.
    Error in line 1
    Near character position 45
    
    Database closed.
    
    scenario 2:
      echo "select k2sys:_getidname(id) from k1sys:_allax"|dbaccess
    -e k2sys
    
    Database selected.
    
    select k2sys:_getidname(id) from k1sys:_allax
    
    (expression)
    
    dummy
    
    1 row(s) retrieved.
    
    scenario 3:
    $echo "select k2sys:_getidname(id) from k1sys:_a1"|dbaccess -e
    k1sys
    
    Database selected.
    
    select k2sys:_getidname(id) from k1sys:_a1
    
    (expression)
    No rows found.
    Database closed.
    
    scenario 4:
    $ echo "select k2sys:_getidname(id) from k2sys:_a1"|dbaccess -e
    k1sys
    Database selected.
    
    select k2sys:_getidname(id) from k2sys:_a1
    
    (expression)
    dummy
    1 row(s) retrieved.
    
    Database closed.
    
    Issue occurs only when the stored procedure is included in the
    select statement and retrieved from the view and accessed from
    different database where procedure is not available (scenario
    1).
    _allax                 View         k1sys
    _getidname          Procedure      k2sys
    Access from                    k1sys
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users of IDS versions earlier than 12.10.xC12.               *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Assert Failed occurs when inserting data into the table      *
    * using the values returned from stored procedure and views.   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Fixed in IDS 12.10.xC12.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT27567

  • 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

    2018-12-26

  • Closed date

    2019-10-04

  • Last modified date

    2019-10-04

  • 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

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

Document Information

Modified date:
04 October 2019