How to debug "into" oci?

Tamás Gulácsi <[email protected]>
Newsgroups gmane.comp.python.db.cx-oracle
Message-ID <CAHVzvyS2GsEdjQWPx7C8uw328vs6kw-zURMCPsPTyv=nZ4xxPQ@mail.gmail.com>
Hi,

I've been able to port a small part of your library to Go, but now I
face with a SIGSEGV using cursor variable.
Of course the signal is thrown in OCIStmtExecute, but I think the
error is with the binds before.

~/p/g/s/g/t/goracle ❯❯❯ ./oracle.test -test.run=TestCursorOut
-dsn=tgulacsi/tgulacsi@xe
2013/05/25 19:32:38 set position 0(0) in dataBytes to cbdae9f801040000
2013/05/25 19:32:38 CTRACE OCIStmtPrepare2([
0x7f454407d498
0xc2000852a0 0x7f454407d578 DECLARE\n  v_cur SYS_REFCURSOR;\nBEGIN\n
OPEN v_cur FOR\n    SELECT * FROM all_objects;\n  :1 := v_cur;\nEND;
104 [7 162 123 111 183 232 2 162] 8 NTV_SYNTAX DEFAULT])
2013/05/25 19:32:38 CTRACE OCIAttrGet([0x7f4544096dd0 HTYPE_STMT
0xc2000001f0 0xc2000001f8 ATTR_STMT_TYPE 0x7f454407d578])
2013/05/25 19:32:38 CTRACE OCIBindByPos([0x7f4544096dd0 0xc200076120
0x7f454407d578 pos=1 dataArr: 0xc2000001a8 bufsize: 8 typ: 116 [0]
<nil> <nil> 0 <nil> DEFAULT])
2013/05/25 19:32:38 CTRACE OCIStmtExecute([0x7f454407d498
0x7f4544096dd0 0x7f454407d578 1 0 <nil> <nil> 0])
SIGSEGV: segmentation violation
PC=0x7f455d25724d
signal arrived during cgo execution

github.com/tgulacsi/goracle/oracle._Cfunc_OCIStmtExecute(0x7f454407d498,
0x7f4544096dd0, 0x7f454407d578, 0x1, 0x0, ...)
    github.com/tgulacsi/goracle/oracle/_test/_cgo_defun.c:518 +0x34
github.com/tgulacsi/goracle/oracle.(*Cursor).internalExecute(0xc2000852a0,
0x1, 0x0, 0x1)
    github.com/tgulacsi/goracle/oracle/_test/_cgo_gotypes.go:1089 +0x2f7
github.com/tgulacsi/goracle/oracle.(*Cursor).Execute(0xc2000852a0,
0x58f530, 0x68, 0x7f455dbf6de8, 0x1, ...)
    github.com/tgulacsi/goracle/oracle/_test/_cgo_gotypes.go:2070 +0x19d
github.com/tgulacsi/goracle/oracle.TestCursorOut(0xc200090000)
    /home/gthomas/projects/go/src/github.com/tgulacsi/goracle/oracle/datatypes_test.go:388
+0x2cd
testing.tRunner(0xc200090000, 0x63c770)
    /usr/local/go/src/pkg/testing/testing.go:353 +0x8a
created by testing.RunTests
    /usr/local/go/src/pkg/testing/testing.go:433 +0x86b

goroutine 1 [chan receive]:
testing.RunTests(0x58d348, 0x63c680, 0xb, 0xb, 0x1, ...)
    /usr/local/go/src/pkg/testing/testing.go:434 +0x88e
testing.Main(0x58d348, 0x63c680, 0xb, 0xb, 0x64b4e0, ...)
    /usr/local/go/src/pkg/testing/testing.go:365 +0x8a
main.main()
    github.com/tgulacsi/goracle/oracle/_test/_testmain.go:63 +0x9a


What do you suggest, how can I debug this? What shall I check?
I can't debug into oracle library...
Should I try to instrument a cx_Oracle module (stuff printf
everywhere) and make a small working test to have something to compare
to?
Seems to be a lot of work.

Better ideas?

Thanks in advance,
Tamás Gulácsi

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
cx-oracle-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cx-oracle-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.