SELECT statement using XMLType generates ORA-07445 LpxFSMSaxSE
(Doc ID 1939006.1)
Last updated on APRIL 12, 2022
Applies to:
Oracle Database - Standard Edition - Version 11.2.0.4 and laterOracle Database Cloud Schema Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Information in this document applies to any platform.
Symptoms
The following SELECT statement using XMLType generates ORA-07445 LpxFSMSaxSE
Sat Oct 04 12:26:18 2014
Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x27BF93C, LpxFSMSaxSE()+512] [flags: 0x0, count: 1]
Errors in file /jsarchives/diag/rdbms/jsdb/JSDB1/trace/JSDB1_ora_26599.trc (incident=65065):
ORA-07445: exception encountered: core dump [LpxFSMSaxSE()+512] [SIGSEGV] [ADDR:0x0] [PC:0x27BF93C] [SI_KERNEL(general_protection)] []
Incident details in: /jsarchives/diag/rdbms/jsdb/JSDB1/incident/incdir_65065/JSDB1_ora_26599_i65065.trc
The problem can be reproduced with the following:
SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(113)||CHR(119)||CHR(101)||CHR(101)||CHR(113)||(SELECT (CASE WHEN (8401=8401) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(117)||CHR(105)||CHR(99)||CHR(113)||CHR(62))) FROM DUAL;
Executing only the CHR without XMLTYPE
SELECT CHR(60)||CHR(58)||CHR(113)||CHR(119)||CHR(101)||CHR(101)||CHR(113)||(SELECT (CASE WHEN (8401=8401) THEN 1 ELSE 0 END)
FROM DUAL)||CHR(113)||CHR(117)||CHR(105)||CHR(99)||CHR(113)||CHR(62) FROM DUAL;
CHR(60)||CHR(58)||CHR(113)||CHR(119)||CHR(101)||CHR(1
-----------------------------------------------------
-- Removing chr(58)
SELECT CHR(60)||CHR(113)||CHR(119)||CHR(101)||CHR(101)||CHR(113)||(SELECT (CASE WHEN (8401=8401) THEN 1 ELSE 0 END)
FROM DUAL)||CHR(113)||CHR(117)||CHR(105)||CHR(99)||CHR(113)||CHR(62) FROM DUAL;
CHR(60)||CHR(113)||CHR(119)||CHR(101)||CHR(101)||CHR
----------------------------------------------------
-- Removing the chr(58) colon, we get error instead of the ORA-7445
SELECT UPPER(XMLType(CHR(60)||CHR(113)||CHR(119)||CHR(101)||CHR(101)||CHR(113)||(SELECT (CASE WHEN (8401=8401) THEN 1 ELSE 0 END) FROM DUAL)||CHR(113)||CHR(117)||CHR(105)||CHR(99)||CHR(113)||CHR(62))) FROM DUAL;
ERROR at line 1:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00007: unexpected end-of-file encountered
ORA-06512: at "SYS.XMLTYPE", line 310
ORA-06512: at line 1
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |