ORA-7445 [kgiPinObject], ORA-600 [pfri.c: pfri8: plio mismatch], or ORA-7445 [kglpnp] When Using Mutually Dependent PL/SQL packages (Doc ID 2045602.1)

Last updated on DECEMBER 16, 2016

Applies to:

Oracle Database - Enterprise Edition - Version 12.1.0.2 to 12.1.0.2 [Release 12.1]
Information in this document applies to any platform.

Symptoms

  1. The following error is raised when trying to call a PL/SQL procedure which depends on another set of procedures which have mutual dependencies:
    [TOC00001]
    ORA-07445: exception encountered: core dump [kgiPinObject()+45] [SIGSEGV] [ADDR:0x24] [PC:0xCE03F7D] [Address not mapped to object] []

    [TOC00001-END]
    [TOC00002]
    ========= Dump for incident 297048 (ORA 7445 [kgiPinObject]) ========
    [TOC00003]
    ----- Beginning of Customized Incident Dump(s) -----
    Dumping swap information
    Memory (Avail / Total) = 1753.55M / 36046.97M
    Swap (Avail / Total) = 16383.18M / 16383.99M
    Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x24] [PC:0xCE03F7D, kgiPinObject()+45] [flags: 0x0, count: 1]
    Registers:
    %rax: 0x0000000000000000 %rbx: 0x0000000000000018 %rcx: 0x0000000000000000
    %rdx: 0x0000000000000018 %rdi: 0x00002b294953f840 %rsi: 0x00002b294a0405a8
    %rsp: 0x00007ffff4b448e0 %rbp: 0x00007ffff4b44910 %r8: 0x000000000000002c
    %r9: 0x00000000dfbc6310 %r10: 0x0000000000000000 %r11: 0x00000000000003d8
    %r12: 0x0000000000000005 %r13: 0x00002b294953f840 %r14: 0x00002b294a0405a8
    %r15: 0x0000000000000000 %rip: 0x000000000ce03f7d %efl: 0x0000000000010202
    kgiPinObject()+30 (0xce03f6e) mov %r13,-0x10(%rbp)
    kgiPinObject()+34 (0xce03f72) mov %rdi,%r13
    kgiPinObject()+37 (0xce03f75) mov 0x68(%r14),%rax
    kgiPinObject()+41 (0xce03f79) mov %r12,-0x8(%rbp)
    > kgiPinObject()+45 (0xce03f7d) testl $0x400,0x24(%rax)
    kgiPinObject()+52 (0xce03f84) jnz 0xce040db
    kgiPinObject()+58 (0xce03f8a) movzwl %bx,%edx
    kgiPinObject()+61 (0xce03f8d) mov %r13,%rdi
    kgiPinObject()+64 (0xce03f90) or $64,%edx

    *** 2015-06-05 18:51:22.335
    dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
    [TOC00004]
    ----- Current SQL Statement for this session (sql_id=a6u1166jmqfa2) -----
    DECLARE
      v_result_code   VARCHAR2 (1);
      v_error_text    VARCHAR2 (240);
    BEGIN

      -- Add parameter types here
      parm$api.add_type (pi_prm_typ_na          => 'NETLINE_REPUBLISH_MAX_RANGE_HOURS'
                        ,pi_prm_fmt_te          => 'NUMBER'
                        ,pi_prm_alw_vlu_te      => NULL
                        );
    ...
      parm$api.add_application ('AIR-CMOSYNC', 'AIR Common Data Synchronization');
      parm$api.add_application ('AIR-DISPATCHER', 'AIR Dispatcher Process');
      parm$api.add_application ('AIR-REPORTING-ACARS', 'AIR Reporting ACARS Repository');
      parm$api.add_application ('AIR-REPORTING-MSGS', 'AIR Reporting Message Handler');
      parm$api.add_application ('SMS', 'Surface Management System');
      parm$api.add_application ('SMS-SDF', 'Surface Management System - SDF');
      parm$api.add_application ('HMMS', 'Hazardous Materials Management System');
      parm$api.add_application ('MFB', 'Mainframe Broker System');
      parm$api.add_application ('AOC-B-CONFIG', 'AOC-B Configuration');
      parm$api.add_application ('REPORTING-CONFIG', 'Reporting Configuration');
      COMMIT;
    -- NOTE:  Do NOT add set_values here!  Instead add them at the following location:
    --     com.ups.aid.air.management/sql/set1_application_parameters.sql
    END;
    [TOC00005]
    ----- PL/SQL Stack -----
    ----- PL/SQL Call Stack -----
     object      line  object
     handle    number  name
    0xe2465050       130  package body A134AR_DV_14.UTY$ERROR
    0xe2465050       205  package body A134AR_DV_14.UTY$ERROR
    0xe2497390       494  package body A134AR_DV_14.PARM$API
    0xe1b65ee0        11  package body A134AR_DV_14.MSG$API
    0xe1b65ee0      1475  package body A134AR_DV_14.MSG$API
    0xe2467f00       132  package body A134AR_DV_14.TAPI$UTIL
    0xe2467f00       191  package body A134AR_DV_14.TAPI$UTIL
    0xe1b85b10        23  package body A134AR_DV_14.TAPI$TAR_PRMTYP
    0xe1b85b10       650  package body A134AR_DV_14.TAPI$TAR_PRMTYP
    0xe2497390       222  package body A134AR_DV_14.PARM$API
    0xe2497390       246  package body A134AR_DV_14.PARM$API
    0xe249bc00        33  anonymous block
    [TOC00005-END]
    [TOC00004-END]


  2. Also ORA-600 [pfri.c: pfri8: plio mismatch], ORA-600 [kglobpn-bad-dacnt] or ORA-7445 [kglpnp] errors can be raised

  3. Review of the generated tracefiles reveals a call stack similar to:
    ... <- sslsshandler <- sighandler <- kgiPinObject <- pevm_CHK_INST <- pfrinstr_XCAL <- pfrrun_no_tool <- pfrrun <- plsql_run <- peicnt <- kkxexe <- opiexe <- ...

Changes

The instance has been upgraded to 12.1.0.2.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms