ORA-00602 on VMS

From: JEFF CHAMBLEE <chamblej_at_author.gsfc.nasa.gov>
Date: 6 Dec 1993 15:49 -0500
Message-ID: <6DEC199315492102_at_author.gsfc.nasa.gov>


Hello group,

I'm getting an ORA-00602 when doing an insert into a field with a trigger on it. I'm reporting it to Oracle, but I thought I'd get good info from you guys.

Platform is VMS v5-5.2
ORACLE7 Server Release 7.0.12.0.0 - Production With the procedural, distributed, and Parallel Server options PL/SQL Release 2.0.14.0.0 - Production

  • The Error Below =================================

SQL> insert into memmap (start_address) select start_address from memory_map; insert into memmap (start_address) select start_address from memory_map

                                                                      *
ERROR at line 1:
ORA-00602: internal programming exception
%SYSTEM-F-ACCVIO, access violation, reason mask=!XB, virtual address=!XL,
PC=!XL, PSL=!XL By the way, a simple INSERT works.
======================= Full Details Below =================================

SQL> desc memmap;
 Name                            Null?    Type
 ------------------------------- -------- ----
 START_ADDRESS                            NUMBER(11)
 END_ADDRESS                              NUMBER(11)
 START_ADDRESS_8                          NUMBER(11)
 END_ADDRESS_8                            NUMBER(11)
 START_NATIVE                             NUMBER(11)
 END_NATIVE                               NUMBER(11)

SQL> desc memory_map;
 Name                            Null?    Type
 ------------------------------- -------- ----
 DBID                            NOT NULL NUMBER(2)
 BASELINE_ID                     NOT NULL NUMBER(8)
 VERSION_ID                      NOT NULL NUMBER(8)
 MEMORY_MAP_ID                   NOT NULL NUMBER(8)
 CONVERSION_USER_EXIT                     CHAR(255)
 SYMBOL                                   VARCHAR2(32)
 START_ADDRESS                            NUMBER(11)
 END_ADDRESS                              NUMBER(11)
 RANGE                                    NUMBER(11)
 TIME1                                    DATE
 TIME2                                    DATE
 DESCRIPTION                              VARCHAR2(70)

SQL> select trigger_body from all_triggers where trigger_name='OCT2DEC';

TRIGGER_BODY


declare                                                                         
	i number;                                                                      
	n_base10 number;                                                               
	n_char varchar2(20);                                                           
begin                                                                           
	if :new.start_address is null then                                             
		return;                                                                       
	end if;                                                                        
	n_char := :new.start_address;                                                  
	n_base10 := 0;                                                                 
--	dbms_output.put_line( 'n_char:' || n_char);                                  
--	dbms_output.put_line( 'length(n_char):' || to_char(length(n_char)));         
	for i in 1..length(n_char) loop                                                
		if (substr(n_char,i,1) not between 0 and 7) then                              
			raise value_error;                                                           
		end if;                                                                       
		n_base10 := n_base10 * 8;                                                     

TRIGGER_BODY                                                                    
--------------------------------------------------------------------------------
		n_base10 := n_base10 + substr(n_char,i,1);                                    
--		dbms_output.put_line( to_char(n_base10));                                   
	end loop;                                                                      
	:new.start_native := n_base10;                                                 
end oct2dec;                                                                    


SQL> 

SQL>
SQL> insert into memmap (start_address) select start_address from memory_map; insert into memmap (start_address) select start_address from memory_map
                                                                      *
ERROR at line 1:
ORA-00602: internal programming exception
%SYSTEM-F-ACCVIO, access violation, reason mask=!XB, virtual address=!XL,
PC=!XL, PSL=!XL SQL> spool off; Received on Mon Dec 06 1993 - 21:49:19 CET

Original text of this message