[cx-oracle-users] Oracle crash with CLOB and threading
Brought to you by:
atuining
From: Torsten P. <Tor...@to...> - 2007-01-26 22:15:10
|
Hello, my collegue sent this mail today but has not subscribed to the mailing list probably. Mail from Rog...@to...: Hi, I am having some problems with cx_Oracle, threads and clob's and am looking for some guidance. For the record: The system is "SunOS tmxd01 5.9 Generic_112233-10 sun4u sparc" cx_Oracle version is cx_Oracle-4.2.1 Oracle version is: Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production Python 2.2.2 (#10, Mar 19 2003, 14:11:47) When manipulating clobs in the database I occasionally got an Oracle error: OCI-21500: internal error code, arguments: [nnnnn], [], [], [], [], [], [], [] I have a test program that can now reproduce the problem at will, by repeatedly inserting, selecting and deleting on a table containing a clob from several threads. The error output looks like this: OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], [] Errors in file : OCI-21500: internal error code, arguments: [17099], [], [], [], [], [], [], [] ----- Call Stack Trace ----- NOTE: <PLT>+offset is used to represent that the function being called is offset bytes from the _PROCEDURE_LINKAGE_TABLE_. calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- Segmentation Fault(coredump) Note that Oracle coredumps trying to print the stack trace. Change the data type from clob to varchar, and the problem disappears. I can also get rid of the problem by opening connections discreetly instead of using the cx_Oracle.SessionPool object, which surprised me rather. I am currently looking at the SessionPool, and clob object code in cx_Oracle (Sadly, I am no expert with Python extensions), maybe there is some issue with reference counts? Any advice would be gratefully accepted..... The test program and sql script is attached to this e-mail (thread_test_clob.py and tables_clob.sql) Thanks in advance... Roger |