Print Thread
TOracleSession leak with Oracle 10.0.2.2 ?
#8231 03/12/06 08:36 PM
Joined: Mar 2006
Posts: 3
Norway
M
Member
OP Offline
Member
M
Joined: Mar 2006
Posts: 3
Norway
Hi

Win2003 Serv. Sp1, Oracle 10g.0.2, D2006, DOA406

We're experiencing a rather strange thread "leak"..of some kind.
We are running a cgi script (works with isapi dll's), the only line we run (for testing this) is :

if not dbQb.Connected then
dbQB.connected := true;

Where dbQB is a TOracleSession component. This is run in the onCreate event of the WebModule in Delphi.

What happens is that the number of threads on the DB server increases. For every time the script is run, the number of threads increases, and they are not being freed.

The result is a that the server will crash, after a while with good traffic.

"
MS Event id: 2019
Error message:
The server was unable to allocate from the system nonpaged pool because the
pool was empty.
"

After this error the whole system gets unavailable, and the server must be
powered cycled to get it running again.

The leak applies to Oracle 10.0.2.2, but not to 10.0.2.1. In the latter version threads are being freed after usage.

Has anybody else experienced similar things?


Morten
Re: TOracleSession leak with Oracle 10.0.2.2 ?
#8232 03/16/06 12:23 PM
Joined: Mar 2006
Posts: 3
Norway
M
Member
OP Offline
Member
M
Joined: Mar 2006
Posts: 3
Norway
I typed the wrong DOA version, we are running on DOA 4.0.7.1.


Morten
Re: TOracleSession leak with Oracle 10.0.2.2 ?
#8233 04/04/06 02:06 PM
Joined: Mar 2006
Posts: 3
Norway
M
Member
OP Offline
Member
M
Joined: Mar 2006
Posts: 3
Norway
FYI :
This was caused by a bug in Oracle.
Oracle replyed :

They managed to consistently reproduce the error and then monitored the handles for the oracle.exe.....for each connection we see a leak in the threads for the oracle.exe.

This issue causing this is bug 4877068....this bug was filed as on 10.2 the parameter SQLNET.INBOUND_CONNECT_TIMEOUT is ON by default, & hence every connection to DB will result in spawning 2 threads (1 is the shadow server thread & the 2nd being the timer thread ) in the server. So, per TCP connection there's quite an amount of memory overhead. Bug 4877068 attempted to reduce this overhead in 10.2.0.2 but in fixing this it cause a regression which caused the handle / threads leak via TCP connections. This is addressed in Bug 5077897.

Bug 5077897 is fixed in 10.2.0.3, so until this time you can use the workaround of setting SQLNET.INBOUND_CONNECT_TIMEOUT=0 to disable SQLNET.INBOUND_CONNECT_TIMEOUT


Morten

Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.026s Queries: 13 (0.007s) Memory: 2.5058 MB (Peak: 3.0421 MB) Data Comp: Off Server Time: 2024-05-15 01:40:56 UTC
Valid HTML 5 and Valid CSS