Intermittent ORA-29532

User 1aff773a09

14-03-2012 14:20:11

Hi,

We have jchem cartridge 5.2.6 installed with our oracle database 10.2.0.5

Recently we have this problem:

This query runs fine.


SELECT CD_ID,

    blob_to_clob(CD_STRUCTURE) AS CD_STRUCTURE,

    CD_SMILES FROM chemdb.compound WHERE (etc_id IN (

    SELECT etc_id FROM vw_mnk_invivopk_chart WHERE project = 'MNK Kinase'

    UNION

    SELECT c.etc_id

    FROM chemdb.compound c,

      chemdb.batch b

    WHERE c.cd_id    = b.cd_id

    AND b.project_id = 20862363))

AND 

    jcf_contains(CD_SMILES, 'c1ccccc1')=1;



But this query will return error:


SELECT CD_ID,

    blob_to_clob(CD_STRUCTURE) AS CD_STRUCTURE,

    CD_SMILES FROM chemdb.compound WHERE (etc_id IN (

    SELECT etc_id FROM vw_mnk_invivopk_chart WHERE project = 'MNK Kinase'

    UNION

    SELECT c.etc_id

    FROM chemdb.compound c,

      chemdb.batch b

    WHERE c.cd_id    = b.cd_id

    AND b.project_id = 22175645))

AND 

    jcf_contains(CD_SMILES, 'c1ccccc1')=1;



ORA-29532: Java call terminated by uncaught Java exception:
java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is: 

 java.rmi.RemoteException: Molecule cannot be imported

ORA-06512: at "JCMV53.JCHEM_CORE_PKG", line 113

ORA-06512: at "JCMV53.JCF_CONTAINS", line 8

29532. 00000 -  "Java call terminated by uncaught Java exception: %s"

*Cause:    A Java exception or error was signaled and could not be

           resolved by the Java code.

*Action:   Modify Java code, if this behavior is not intended.

ChemAxon 9c0afc9aaf

14-03-2012 18:44:16

Hi,


Could you look for the corresponding full stack trace in the JChem Server log files and send it to us please ?


You may want to look for the string " Molecule cannot be imported".


The log files are located under jchem/cartridge/logs.


Kind regards,


Szilard

User 1aff773a09

15-03-2012 03:14:48

Hi,


I'm afraid there isn't any log on the error :(


Samantha

User 1aff773a09

15-03-2012 03:46:42

Hi,
I have another similar case here:
This query runs fine:
SELECT DS560.ETC_ID from ds3_userdata.WNT_COMPOUND DS560;
This query also runs fine:
SELECT ETC_ID from DS3_USERDATA.WNT_COMPOUND WHERE jcf_contains(CD_SMILES, 'c1ccccc1')=1;

But this query failed with the same error:
SELECT DS560.ETC_ID from ds3_userdata.WNT_COMPOUND DS560
INTERSECT
SELECT ETC_ID from DS3_USERDATA.WNT_COMPOUND WHERE jcf_contains(CD_SMILES, 'c1ccccc1')=1;
Error report:
SQL
Error: ORA-29532: Java call terminated by uncaught Java exception:
java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is:
java.rmi.RemoteException: Molecule cannot be imported
ORA-06512: at "JCMV53.JCHEM_CORE_PKG", line 113
ORA-06512: at "JCMV53.JCF_CONTAINS", line 8
29532. 00000 - "Java call terminated by uncaught Java exception: %s"
*Cause: A Java exception or error was signaled and could not be
resolved by the Java code.
*Action: Modify Java code, if this behavior is not intended.

ChemAxon aa7c50abf8

15-03-2012 16:22:28

Aren't there any log entries in any of the log files starting with 'SEVERE' (without the single quotes)?


Please, could you post the output of the following SQL query:


select jchem_core_pkg.getenvironment from dual;

?


Thanks


Peter

User 1aff773a09

20-03-2012 01:35:02

Hi,


We've figured out what was wrong. In the table we are selecting from, there's a compound that has empty structure. Once we took out the compound, the query works fine. I wish the error message can be more informative! :)


Anyway, thanks for your help.


Cheers,


Samantha

ChemAxon a3d59b832c

20-03-2012 08:41:28

Hi Samantha,


Empty structures are supported by JChem, so this functionality should work.


 


Could you please help us to identify the problem by answering the following?


- Which JChem version are you using?


- What was the representation of the empty structure? Was it NULL or empty string?


 


Thanks,


Szabolcs

User 1aff773a09

20-03-2012 08:48:34

Hi,


We are using jchem version 5.2.6 and the structure is of empty string


Samantha

ChemAxon a3d59b832c

20-03-2012 08:54:34

OK, thanks!

ChemAxon aa7c50abf8

20-03-2012 23:16:27

Hi Samantha,


I think empty strings are not valid structure representations.


Peter

ChemAxon aa7c50abf8

21-03-2012 09:11:19

Hi Samantha,


After some testing, I found that you will run into the same problem even if you have NULLs or an empty Molfiles in the table -- both of which should normally work as search targets. I also found that the problem is ultimately that the SQL query you use is applied to the cd_smiles column which, in this case, holds a value (a single space) which is not universally interpreted by all chemaxon tools. I would like therefore to encourage you to regard, in the context of JChem Cartridge, the cd_smiles columns (and in fact all columns in a JChem Base table other than the cd_structure column) as an internal artifact created to implement the functionality which the SQL API provides. Using the following SQL fragment should work as expected:


jcf.contains(cd_structure, utl_raw.cast_to_raw('c1ccccc1')) 

Let me know if this doesn't help,


Peter