ORA-7445 [kgghash()+428] When Performing UPDATE Statement (Doc ID 732550.1)

Last updated on NOVEMBER 28, 2016

Applies to:

Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.2.0.1 [Release 11.1 to 11.2]
Information in this document applies to any platform.

***Checked for relevance on 22-Jan-2014***

Symptoms

When executing UPDATE statements the following error is raised:

ORA-7445: exception encountered: core dump [kgghash()+261] [SIGSEGV][ADDR:0x2B0BDA834000][PC:0x770C04D] [Address not mapped to object] []


The actual number reported in the error message might differ depending on the Oracle release and patches installed.

In the trace file the following information is shown for the UPDATE statement:

  1. In the bind variable section of cursor dump one can see that the bind variable causing the error has the avl value reported for the bind variable is greater than the bln value, like in the following examples:

    Example 1:

    Bind#1
    oacdty=23 mxl=4001(2147483647) mxlc=00 mal=00 scl=00 pre=00
    oacflg=03 fl2=1000000 frm=01 csi=178 siz=4000 off=0
    kxsbbbfp=2b054825d060 bln=4000 avl=4001 flg=25
    value=

    Example 2:

    Bind#2
    oacdty=01 mxl=4001(4672) mxlc=00 mal=00 scl=00 pre=00
    oacflg=13 fl2=206001 frm=01 csi=31 siz=4000 off=0
    kxsbbbfp=0e17ed10 bln=4000 avl=8000 flg=09
    value="660PRO gt;052P_0108/11/2008
    09:02A000006779E66EC91DC43EBB06DC2F6FA17AA75<
    ;/User>Ce"...
  2. Review of the generated tracefiles reveals a call stack containing a call to function kkocsCreateBindSet. Possible examples of stack traces show:

    ... <- kgghash <- kkocsCreateBindSet <- kkocsInitAdaptiveCtx ...

    and:

    ... <- kgghash <- kkocsCreateBindSet <- kkocsStoreBindAwareStats <- kkocsCheckBindAware <- ...


    Note: these are possible stack traces, and the crash is not limited to match only these stack traces. When you encounter the ORA-7445 [kgghash] error and kkocsCreateBindSet routine is on stack, then you likely encounter the issue described in this article.

    Note: when examining the stack trace in a trace file, the routine names may be wrapped across multiple lines. So a routine name like kkocsInitAdaptiveCtx might appear as "kkocsInitAdaptiveCt" on one line, and "x" on the next line.

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