ORA-7445(_intel_fast_memcpy.A)錯誤

yangtingkun發表於2012-09-12

10.2.0.4 RAC for X86-64環境上出現了ORA-7445[_intel_fast_memcpy.A]的錯誤。

 

 

以前碰到過幾次的memcpy有關的錯誤,但是這個錯誤函式是第一次碰到:

Sat Apr 7 17:27:11 2012
Errors in file /opt/app/oracle/admin/orcl/bdump/orcl1_j002_16579.trc:
ORA-07445: exception encountered: core dump [_intel_fast_memcpy.A()+10] [SIGSEGV] [Address not mapped to object] [0x2A9734C000] [] []

本以為這個錯誤不是太常見,結果查詢MOS採發現,原來類似的錯誤還是很常見的,於是進一步比對詳細的TRACE資訊:

*** 2012-04-07 17:27:11.099
*** ACTION NAME:() 2012-04-07 17:27:11.099
*** MODULE NAME:() 2012-04-07 17:27:11.099
*** SERVICE NAME:(SYS$USERS) 2012-04-07 17:27:11.099
*** CLIENT ID:() 2012-04-07 17:27:11.099
*** SESSION ID:(4124.53396) 2012-04-07 17:27:11.099
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x2a9734c000, PC: [0x2a95575608, _intel_fast_memcpy.A()+10]
*** 2012-04-07 17:27:11.129
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [_intel_fast_memcpy.A()+10] [SIGSEGV] [Address not mapped to object] [0x2A9734C000] [] []
Current SQL statement for this session:
UPDATE E_INVENTORY SET FREEZN_SIZE = FREEZN_SIZE + (:B2 ) WHERE ID = :B1
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x223a947d8        15  procedure ECOMMERCE.FREEZEN_UPDATE_JOB
0x3e6922098         1  anonymous block
----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?
                                                   2A97153D50 ? 2A97153DB0 ?
                                                   2A97153CF0 ? 000000000 ?
ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?
                                                   2A97153D50 ? 2A97153DB0 ?
                                                   2A97153CF0 ? 000000000 ?
ssexhd()+629         call     ksedmp()             000000003 ? 000000001 ?
                                                   2A97153D50 ? 2A97153DB0 ?
                                                   2A97153CF0 ? 000000000 ?
__funlockfile()+64   call     ssexhd()             00000000B ? 2A97154D70 ?
                                                   2A97154C40 ? 2A97153DB0 ?
                                                   2A97153CF0 ? 000000000 ?
_intel_fast_memcpy.  signal   __funlockfile()      2A9734C000 ? 2A9734C000 ?
A()+10                                             FFFFFFFFFFFFF82E ?
                                                   1FFFFFFFFFFFE12C ?
                                                   2A9733D130 ? 2A9733A430 ?
updgrh()+2927        call     _intel_fast_memcpy.  2A9733D138 ? 2A9734C000 ?
                              A()                  1FFFFFFFFFFFE12C ?
                                                   1FFFFFFFFFFFE12C ?
                                                   2A9733D130 ? 2A9733A430 ?
upduaw()+115         call     updgrh()             3AB891A30 ? 2A97339F10 ?
                                                   3AB891A30 ?
                                                   1FFFFFFFFFFFE12C ?
                                                   400000001 ? 401C1F878 ?
kdusru()+528         call     upduaw()             2A9733B1F8 ? 000000000 ?
                                                   2A9733A1E8 ? 24A9A9EF0 ?
                                                   400000001 ? 401C1F878 ?
kauupd()+450         call     kdusru()             2A9733CFA4 ? 000000000 ?
                                                   2A97339F10 ? 000000000 ?
                                                   E1E797900000000 ? 401C1F878 ?
updrow()+1658        call     kauupd()             2A9733CFA0 ? 000000000 ?
                                                   2A97339F10 ? 000000000 ?
                                                   3D5FAA0A0 ? 000000007 ?
qerupRowProcedure()  call     updrow()             3B3C43ED0 ? 000007FFF ?
+80                                                2A97339F10 ? 000000000 ?
                                                   3D5FAA0A0 ? 000000007 ?
qerupFetch()+667     call     qerupRowProcedure()  3B3C43ED0 ? 000007FFF ?
                                                   2A97339F10 ? 000000000 ?
                                                   3D5FAA0A0 ? 000000007 ?
updaul()+1065        call     qerupFetch()         000000007 ? 000000000 ?
                                                   226024078 ? 000007FFF ?
                                                   3D5FAA0A0 ? 2260242A8 ?
updThreePhaseExe()+  call     updaul()             3B3C43ED0 ? 7FBFFF7290 ?
379                                                000000000 ? 2A9733AF40 ?
                                                   3D5FAA0A0 ? 2260242A8 ?
updexe()+600         call     updThreePhaseExe()   3B3C43ED0 ? 000000000 ?
                                                   2A97339F10 ? 7FBFFF73B0 ?
                                                   3D5FAA0A0 ? 2260242A8 ?
opiexe()+4577        call     updexe()             3B3C43ED0 ? 000000000 ?
                                                   2A97339F10 ? 7FBFFF73B0 ?
                                                   000000000 ? 2260242A8 ?
opipls()+2025        call     opiexe()             000000004 ? 000000005 ?
                                                   7FBFFF89BC ? 00000000D ?
                                                   000000000 ? 2260242A8 ?
opiodr()+984         call     opipls()             000000066 ? 000000006 ?
                                                   7FBFFFA0B0 ? 000000000 ?
                                                   2A9769E410 ? 400000000 ?
rpidrus()+198        call     opiodr()             000000066 ? 000000006 ?
                                                   7FBFFFA0B0 ? 00000000D ?
                                                   0059DF890 ? 400000000 ?
skgmstack()+158      call     rpidrus()            7FBFFF96F8 ? 000000006 ?
                                                   7FBFFFA0B0 ? 00000000D ?
                                                   0059DF890 ? 400000000 ?
rpidru()+116         call     skgmstack()          7FBFFF96D0 ? 0067B42E0 ?
                                                   00000F618 ? 0022F61B8 ?
                                                   7FBFFF96F8 ? 400000000 ?
rpiswu2()+420        call     rpidru()             7FBFFF9D90 ? 0067B42E0 ?
                                                   00000F618 ? 0022F61B8 ?
                                                   7FBFFF96F8 ? 400000000 ?
rpidrv()+1519        call     rpiswu2()            42167D498 ? 000000044 ?
                                                   7FBFFF9D70 ? 000000002 ?
                                                   7FBFFF9DD8 ? 000000044 ?
psddr0()+438         call     rpidrv()             00000000D ? 000000066 ?
                                                   7FBFFFA0B0 ? 000000038 ?
                                                   7FBFFF9DD8 ? 000000044 ?
psdnal()+386         call     psddr0()             00000000D ? 000000066 ?
                                                   7FBFFFA0B0 ? 000000030 ?
                                                   7FBFFF9DD8 ? 000000044 ?
pevm_EXECC()+376     call     psdnal()             7FBFFFABF0 ? 7FBFFFADE0 ?
                                                   7FBFFFA0B0 ? 2A97332EE8 ?
                                                   00000000F ? 000000044 ?
pfrinstr_EXECC()+80  call     pevm_EXECC()         2A97335640 ? 7FBFFFADE0 ?
                                                   000000020 ? 2A97332EE8 ?
                                                   00000000F ? 000000044 ?
pfrrun_no_tool()+65  call     pfrinstr_EXECC()     2A97335640 ? 18DD12140 ?
                                                   2A973356A8 ? 2A97332EE8 ?
                                                   00000000F ? 7F00000020 ?
pfrrun()+906         call     pfrrun_no_tool()     2A97335640 ? 18DD12140 ?
                                                   2A973356A8 ? 2A97332EE8 ?
                                                   00000000F ? 7F00000020 ?
plsql_run()+841      call     pfrrun()             2A97335640 ? 000000000 ?
                                                   2A973356A8 ? 7FBFFFABF0 ?
                                                   00000000F ? 3CA6A9264 ?
peicnt()+298         call     plsql_run()          2A97335640 ? 000000001 ?
                                                   000000000 ? 7FBFFFABF0 ?
                                                   00000000F ? 900000000 ?
kkxexe()+503         call     peicnt()             7FBFFFABF0 ? 2A97335640 ?
                                                   2A97308830 ? 7FBFFFABF0 ?
                                                   2A973067D8 ? 900000000 ?
opiexe()+4691        call     kkxexe()             2A97336890 ? 2A97335640 ?
                                                   2A97308830 ? 4095E69F0 ?
                                                   0040F066F ? 900000000 ?
opiodr()+984         call     opiexe()             000000004 ? 000000004 ?
                                                   7FBFFFCFB0 ? 000000005 ?
                                                   0040F066F ? 900000000 ?
rpidrus()+198        call     opiodr()             000000004 ? 000000004 ?
                                                   7FBFFFCFB0 ? 000000005 ?
                                                   0059DE940 ? 900000000 ?
skgmstack()+158      call     rpidrus()            7FBFFFC808 ? 000000004 ?
                                                   7FBFFFCFB0 ? 000000005 ?
                                                   0059DE940 ? 900000000 ?
rpidru()+116         call     skgmstack()          7FBFFFC7E0 ? 0067B42E0 ?
                                                   00000F618 ? 0022F61B8 ?
                                                   7FBFFFC808 ? 900000000 ?
rpiswu2()+420        call     rpidru()             7FBFFFCEA0 ? 0067B42E0 ?
                                                   00000F618 ? 0022F61B8 ?
                                                   7FBFFFC808 ? 900000000 ?
rpidrv()+1519        call     rpiswu2()            42167D498 ? 000000044 ?
                                                   7FBFFFCE80 ? 000000002 ?
                                                   7FBFFFCEE8 ? 100000044 ?
rpiexe()+65          call     rpidrv()             000000005 ? 000000004 ?
                                                   7FBFFFCFB0 ? 00000000A ?
                                                   7FBFFFCEE8 ? 100000044 ?
kkjex1e()+7155       call     rpiexe()             000000005 ? 000000004 ?
                                                   7FBFFFCFB0 ? 00000000A ?
                                                   7FBFFFCEE8 ? 100000044 ?
kkjsexe()+339        call     kkjex1e()            7FBFFFDD4C ? 0000001B9 ?
                                                   000000000 ? 7FBFFFDD30 ?
                                                   4285C8110 ?
                                                   BFFF000700000001 ?
kkjrdp()+892         call     kkjsexe()            7FBFFFDD4C ? 0000001B9 ?
                                                   000000000 ? 000000001 ?
                                                   4285C8110 ?
                                                   BFFF000700000001 ?
opirip()+1140        call     kkjrdp()             7FBFFFDD4C ? 0000001B9 ?
                                                   000000000 ? 000000001 ?
                                                   4285C8110 ?
                                                   BFFF000700000001 ?
opidrv()+582         call     opirip()             000000032 ? 000000004 ?
                                                   7FBFFFF438 ? 000000001 ?
                                                   4285C8110 ?
                                                   BFFF000700000001 ?
sou2o()+114          call     opidrv()             000000032 ? 000000004 ?
                                                   7FBFFFF438 ? 000000001 ?
                                                   4285C8110 ?
                                                   BFFF000700000001 ?
opimai_real()+317    call     sou2o()              7FBFFFF410 ? 000000032 ?
                                                   000000004 ? 7FBFFFF438 ?
                                                   4285C8110 ?
                                                   BFFF000700000001 ?
main()+116           call     opimai_real()        000000003 ? 7FBFFFF4A0 ?
                                                   000000004 ? 7FBFFFF438 ?
                                                   4285C8110 ?
                                                   BFFF000700000001 ?
__libc_start_main()  call     main()               000000003 ? 7FBFFFF4A0 ?
+219                                               000000004 ? 7FBFFFF438 ?
                                                   4285C8110 ?
                                                   BFFF000700000001 ?
_start()+42          call     __libc_start_main()  0007139F8 ? 000000001 ?
                                                   7FBFFFF5E8 ? 0052B4BD0 ?
                                                   000000000 ? 000000003 ?

--------------------- Binary Stack Dump ---------------------

根據錯誤堆疊對比,確認屬於ORA-07445 [_memcpy] And/Or [_memmove] And/Or ORA-07445 [kgidum] And/Or [kgscDump]during updates in 9.2.0.8 or 10.2.0.4 [ID 729206.1]描述的未釋出BUG 5868257

這個錯誤是在進行UPDATE操作時導致了記憶體結構損壞,這個錯誤發生在9.2.0.810.2.0.4環境下,是由於解決了Bug 4549673而引入的。

解決方法包括升級到10.2.0.511.1.0.6,或者針對特定的平臺打Patch 5868257。除了這些方法外,由於問題和行遷移有關,對出現錯誤的表進行MOVE來消除行遷移,也可以避免錯誤的產生。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-747510/,如需轉載,請註明出處,否則將追究法律責任。

相關文章