My experience with the Oracle libraries is that they SUCK. Mostly they suck if you try to use them with threads. You might want to try different version of the oracle client libraries, because I had different problems with different versions when I originally implemented the oracle module. (8.0.5.something worked really well for me.. :)
Apparenly Pike is the only application in existance which uses the dynamic callbacks in the oracle library, and that particular API doesn't seem to be tested before Oracle releases their software... :(
/ Fredrik (Naranek) Hubinette (pappa)
Previous text:
2004-09-27 18:25: Subject: memory leak in oracle module
I now made a simple test case with a select query from an rxml page. Still doesn't leak, but if I push many concurrent requests it dumps core on me in OCIHandleFree called from oracle.c:497 (testing on Solaris 8 sparc). That's not good either, but it seems to be unrelated to the issue at hand. Still, what are your experiences with Oracle and concurrent queries?
As for test case, I'd naturally prefer one that is as minimized as possible. What sort of operation causes the leak (connecting, selecting, insert, updates, transactions, etc)? Are concurrent threads involved? Any sort of closer characterstics are useful.
Maybe you can make a replica of your server and use ab to find out which specific page causes the leak and thereby the queries involved?
/ Martin Stjernholm, Roxen IS