ORA-600 [QKSRCBUILDRWO] WITH RESULT_CACHE_MODE=AUTO AND PATCH 8340928 (DB_BLOCKS_SIZE=16k) (Doc ID 1290297.1)

Last updated on JUNE 13, 2013

Applies to:

Oracle Server - Enterprise Edition - Version: 11.1.0.7 to 11.2.0.1 - Release: 11.1 to 11.2
Information in this document applies to any platform.

Symptoms


ORA-00600 [qksrcBuildRwo] errors are reported in a 11.1.0.7 instance with RESULT_CACHE_MODE=AUTO and <> applied. The DB_BLOCKS_SIZE size is 16k. The call stack is:

... kgeasnmierr <- qksrcBuildRwo <- qknrcAllocate <- qkadrv <- opitca
<- kksFullTypeCheck <- rpiswu2 <- kksSetBindType <- kksfbc <-
opiexe <- opipls <- opiodr ...

The steps to reproduce the error are:

grant dba to tc identified by tc;
alter user tc default tablespace system;

connect tc/tc

create or replace TYPE base_t IS OBJECT (a VARCHAR2(30))
NOT FINAL
NOT INSTANTIABLE
/

create or replace TYPE elem_t under base_t (
b NUMBER
,CONSTRUCTOR FUNCTION elem_t RETURN SELF AS RESULT
)
/

create or replace TYPE BODY elem_t IS
CONSTRUCTOR FUNCTION elem_t RETURN SELF AS RESULT IS
BEGIN
SELF.a := 'X';
SELF.b := 42;
RETURN;
END;
END;
/

create or replace TYPE list_t IS TABLE OF elem_t
/

create or replace FUNCTION foo RETURN elem_t IS
v_list list_t;
v_elem elem_t := elem_t();
.
BEGIN
SELECT VALUE(PART) INTO v_elem
FROM TABLE(v_list) PART
WHERE PART.a = (SELECT MIN(SUBPART.a) FROM TABLE(v_list) SUBPART);
.
RETURN v_elem;
END foo;
/

alter session set result_cache_mode = auto;

DECLARE
v_partition elem_t;
BEGIN
v_partition := foo;
END;
/

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