On 12 Jan 2011, at 09:02, Duncan Garland wrote:
It appears to be preparing an SQL statement but it doesn't give us much idea about which one.

Have you (or anyone else) got any idea what all this means?

<snip>

0x0000003bbe20d8e0 in __read_nocancel () from /lib64/libpthread.so.0
(gdb) (gdb) #0 0x0000003bbe20d8e0 in __read_nocancel () from /lib64/ libpthread.so.0
No symbol table info available.
#1 0x00002ac7089512a2 in snttread () from /oracle/product/10.2.0/ db_1/lib/libclntsh.so.10.1
No symbol table info available.
#2 0x00002ac70894e42a in ?? () from /oracle/product/10.2.0/db_1/lib/ libclntsh.so.10.1
No symbol table info available.
#3 0x00002ac708818d42 in nsprecv () from /oracle/product/10.2.0/ db_1/lib/libclntsh.so.10.1
No symbol table info available.
#4 0x00002ac70881c8e3 in nsrdr () from /oracle/product/10.2.0/db_1/ lib/libclntsh.so.10.1
No symbol table info available.
#5 0x00002ac7087f6cc8 in nsdo () from /oracle/product/10.2.0/db_1/ lib/libclntsh.so.10.1
No symbol table info available.
#6 0x00002ac7087f662a in nsbrecv () from /oracle/product/10.2.0/ db_1/lib/libclntsh.so.10.1
No symbol table info available.
#7 0x00002ac708831c0d in nioqrc () from /oracle/product/10.2.0/db_1/ lib/libclntsh.so.10.1
No symbol table info available.
#8 0x00002ac708992985 in ttcdrv () from /oracle/product/10.2.0/db_1/ lib/libclntsh.so.10.1
No symbol table info available.
#9 0x00002ac70883a4fc in nioqwa () from /oracle/product/10.2.0/db_1/ lib/libclntsh.so.10.1
No symbol table info available.
#10 0x00002ac708657c4f in upirtrc () from /oracle/product/10.2.0/ db_1/lib/libclntsh.so.10.1
No symbol table info available.
#11 0x00002ac7085c1193 in kpurcsc () from /oracle/product/10.2.0/ db_1/lib/libclntsh.so.10.1
No symbol table info available.
#12 0x00002ac70856fbcf in kpuexecv8 () from /oracle/product/10.2.0/ db_1/lib/libclntsh.so.10.1
No symbol table info available.
#13 0x00002ac70856d7b3 in kpuexec () from /oracle/product/10.2.0/ db_1/lib/libclntsh.so.10.1
No symbol table info available.
#14 0x00002ac70861bb27 in OCIStmtExecute () from /oracle/product/ 10.2.0/db_1/lib/libclntsh.so.10.1
No symbol table info available.
#15 0x00002ac70803adc9 in ora_describe (h=0x108af110, imp_sth=0x15fdfa10) at oci8.c:1997
       my_perl = <value optimized out>
       imp_dbh = 0x15594520
       long_readlen = 6553500
       num_fields = <value optimized out>
       num_errors = <value optimized out>
       has_longs = <value optimized out>
       est_width = <value optimized out>
       nested_cursors = <value optimized out>
       i = <value optimized out>
       status = <value optimized out>
#16 0x00002ac70803e274 in ora_st_prepare (sth=0x108af110, imp_sth=0x15fdfa10, statement=<value optimized out>, attribs=<value optimized out>) at oci8.c:337

<snip>

Well, as you correctly surmise, it's getting stuck in the database driver. So it's clearly not a Catalyst/FastCGI problem as first thought. (Also, my getting a perl backtrace stuff is less likely to do anything useful as your stuck in C, not in perl).

However, interestingly, it seems to get all the way out of the database driver into libpthread - which could just imply that the oracle driver is using threads, or it could imply a thread join or something else - I don't know libpthread enough to make a good call on that. The results of an strace would be interesting (it'd probably just confirm what we know, but I'm guessing it's stuck blocking on reading some data that's never going to arrive).

I'd recommend taking your stack trace to the DBI list and seeing if anyone with deeper Orrible foo than me has seen it before or can suggest anything..

Exact DBI, DBD::Oracle and Oracle release / platform info would be a good thing to take with you :)

Good luck!

Cheers
t0m




_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to