I am running a home grown package that uses utl_dbws to read a remote database, generate an XML response, then insert the XML into a local database. The package completes successfully using Oracle 10.2.0.5 on HPUX (our old database). We moved the database to Oracle 11.2.0.3 on Linux, it completes when processing a relatively small amount of XML data, but it core dumps when it processes a large amount of XML data. The core dumps happen when SYS.XMLTYPE procedure is invoked. Has anyone experienced this kind of error?
I am showing the portion of the code that core dumps:
v_service_qname := utl_dbws.to_qname(NULL, v_wservice);
v_service := utl_dbws.create_service(v_service_qname);
v_call := utl_dbws.create_call(v_service);
utl_dbws.set_target_endpoint_address(v_call, v_endpoint);
utl_dbws.set_property( v_call, 'SOAPACTION_USE', 'TRUE');
utl_dbws.set_property( v_call, 'SOAPACTION_URI', v_operation);
utl_dbws.set_property( v_call, 'OPERATION_STYLE', 'document');
utl_dbws.set_property( v_call, 'USERNAME', v_username);
utl_dbws.set_property( v_call, 'PASSWORD', v_password);
v_request := REPLACE(v_request, '???TYPE???', pi_prod_fam_type);
-- create request doc here
l_request := sys.XMLTYPE(v_request);
l_response := utl_dbws.invoke(v_call, l_request);
l_cnt := 0;
l_ix := 1;
WHILE l_response.EXISTSNODE('/ns1:QueryProductFamilyResponse/ns1:ProductFamily['||TO_CHAR(l_ix)||']', l_ns1) = 1
LOOP
-- INSERT PF record
END LOOP;
utl_dbws.release_call(v_call);
utl_dbws.release_service(v_service);
Again, the procedure completes when the XML document that is created is relatively small, but core dumps when it's relatively large. I ran the package on 2 different Linux servers, using Oracle 11.2.0.3, just to eliminate hardware build issue, but still generated the core dumps. The error is as follows:
Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x9363115, kghfnd()+3245] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/vargus/VARGUS/trace/VARGUS_ora_19532.trc (incident=51920):
ORA-07445: exception encountered: core dump [kghfnd()+3245] [SIGSEGV] [ADDR:0x0] [PC:0x9363115] [SI_KERNEL(general_protection)] []
Incident details in: /u01/app/oracle/diag/rdbms/vargus/VARGUS/incident/incdir_51920/VARGUS_ora_19532_i51920.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Dump continued from file: /u01/app/oracle/diag/rdbms/dargus/DARGUS/trace/DARGUS_ora_968.trc
ORA-07445: exception encountered: core dump [kghfnd()+2862] [SIGSEGV] [ADDR:0xFFFFFFFFFFFFFFF0] [PC:0x93294DA] [Address not mapped to object] []
========= Dump for incident 228261 (ORA 7445 [kghfnd()+2862]) ========
----- Beginning of Customized Incident Dump(s) -----
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0xFFFFFFFFFFFFFFF0] [PC:0x93294DA, kghfnd()+2862] [flags: 0x0, count: 1]
Registers:
%rax: 0x00007f3fc86f5288 %rbx: 0xfffffffffffffff0 %rcx: 0x0000000000000000
%rdx: 0x0000000000000000 %rdi: 0x0000000000000000 %rsi: 0x00007f3fc86f5290
%rsp: 0x00007ffcb0b40bc0 %rbp: 0x00007ffcb0b40c70 %r8: 0x0000000000001098
%r9: 0x0000000000000000 %r10: 0x0000000000000000 %r11: 0x0000000000000000
%r12: 0x0000000000001070 %r13: 0x000000000baf3fa0 %r14: 0x00007f3fc86f5288
%r15: 0x00007f3fc86f4bf8 %rip: 0x00000000093294da %efl: 0x0000000000010283
kghfnd()+2842 (0x93294c6) jmp 0x9328ad2
kghfnd()+2847 (0x93294cb) mov %rbx,-0x90(%rbp)
kghfnd()+2854 (0x93294d2) mov %r8d,-0x60(%rbp)
kghfnd()+2858 (0x93294d6) lea -0x10(%r10),%rbx
> kghfnd()+2862 (0x93294da) mov (%rbx),%r8
kghfnd()+2865 (0x93294dd) and $0x7ffffffc,%r8
kghfnd()+2872 (0x93294e4) cmp %r12d,%r8d
kghfnd()+2875 (0x93294e7) jge 0x9329502
kghfnd()+2877 (0x93294e9) mov 0x8(%r10),%r10
*** 2017-05-11 23:29:27.893
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=5k2j2watxwupz) -----
BEGIN pkg_rapid_load2.sp_main(); END;
----- PL/SQL Stack -----
----- PL/SQL Call Stack -----
object line object
handle number name
0xa56e4e70 124 SYS.XMLTYPE
0x8fa18c10 1196 package body ARGUS_AGN.PKG_RAPID_LOAD2
0x8fa18c10 812 package body ARGUS_AGN.PKG_RAPID_LOAD2
0x8f9264c0 1 anonymous block