ORA 29902 when searching

User 4140faeba5

01-09-2009 08:06:40

Hi.


Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

INFO: Using chemaxon.jchem.cartridge.util.cpool.Oracle10gDataSource
INFO: JDBC driver version: 11.1.0.7.0-Production

JCHEM_CORE_PKG.GETENVIRONMENT()
--------------------------------------------------------------------------------
Oracle environment:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production

JChem Server environment:
Java VM vendor: Sun Microsystems Inc.
Java version: 1.5.0_12
Java VM version: 1.5.0_12-b04

JCHEM_CORE_PKG.GETENVIRONMENT()
--------------------------------------------------------------------------------
JChem version: 5.2.3_1
JChem Index version: 5020100
JDBC driver version: 11.1.0.7.0-Production


Every time I change which jchem table to search against, I get the ORA-29902 error.


Example


select pkey from schema1.table_one where jc_containsb(cd_structure etc etc) works fine,


If I then from the same session do
select pkey from schema2.table_two where jc_containsb(cd_structure etc etc) it breaks with ORA-29902.


It is the same the other way around ie


select pkey from schema2.table_two where jc_containsb(cd_structure etc etc) works fine,


If I then from the same session do
select pkey from schema1.table_one where jc_containsb(cd_structure etc etc) it breaks with ORA-29902.


There are no error messages in the log.


Restarting the server does not help.


This is the error I get from sql


ORA-29902: error in executing ODCIIndexStart() routine
ORA-29532: Java call terminated by uncaught Java exception: java.lang.NullPointerException
ORA-06512: at "JCHEM.JCHEM_CORE_PKG", line 49
ORA-06512: at "JCHEM.JC_IDXTYPE_IM", line 249


Found the following in the trace file from Oracle


Exception in thread "Root Thread" java.lang.NullPointerException
at chemaxon.jchem.cartridge.structs.JCartIndexDescriptor.init0(JCartIndexDescriptor.java)
at chemaxon.jchem.cartridge.structs.JCartIndexDescriptor.<init>(JCartIndexDescriptor.java)
at chemaxon.jchem.cartridge.structs.JCartIndexDescriptor.get(JCartIndexDescriptor.java)
at chemaxon.jchem.cartridge.JFunctions.checkTableVersion(JFunctions.java)


What am I missing ?


 

ChemAxon aa7c50abf8

01-09-2009 18:43:52

Hi,


What is the full error message you get?


Peter

User 4140faeba5

02-09-2009 06:30:25

The full error I get from sqlplus is



ORA-29902: error in executing ODCIIndexStart() routine
ORA-29532: Java call terminated by uncaught Java exception: java.lang.NullPointerException
ORA-06512: at "JCHEM.JCHEM_CORE_PKG", line 49
ORA-06512: at "JCHEM.JC_IDXTYPE_IM", line 249


 


The error I see in Oracle trace file is



Exception in thread "Root Thread" java.lang.NullPointerException
at chemaxon.jchem.cartridge.structs.JCartIndexDescriptor.init0(JCartIndexDescriptor.java)
at chemaxon.jchem.cartridge.structs.JCartIndexDescriptor.<init>(JCartIndexDescriptor.java)
at chemaxon.jchem.cartridge.structs.JCartIndexDescriptor.get(JCartIndexDescriptor.java)
at chemaxon.jchem.cartridge.JFunctions.checkTableVersion(JFunctions.java)


 


There is no error in the jchem logfile.


 



ChemAxon aa7c50abf8

02-09-2009 16:09:09

The problem is reproducible with 10.2.0.4 as well [FS#9026].


The underlying problem appears to be what I'd call a bug in Oracle's
switching between different impersonations (code executed in a
cartridge operator on a domain index is temporarily transferred the
privileges of the owner of the index being operated on).


A workaround within JChem Cartridge will be included in the next JChem version (scheduled for release later this month).


Peter

User 4140faeba5

03-09-2009 06:59:47

Ok, great.


I'll look forward to it.


For your info: It works in 10.1.0.5 so something happened after that release.

ChemAxon aa7c50abf8

17-09-2009 12:06:14

JChem 5.2.5 has been released with the workaround.


Peter