Consultor Eletrônico



Kbase P130365: Multi-Threaded .NET application has threads left hanging around waiting for Progress.Common.Util.Wat
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   03/12/2008
Status: Unverified

SYMPTOM(s):

.NET application has many threads left running when they should have just one

Each thread establishes a connection to the AppServer, runs a program then disconnects from the AppServer using a local proxy variable

Debugging the code shows each thread is sleeping while waiting for Progress.Common.Util.WatchDog.Run()

FACT(s) (Environment):

AppServer is running in State-Reset operating mode
OpenEdge 10.x
Windows

CAUSE:

Application code sets the Progress.Open4GL.RunTimeProperties.IdleConnectionTimeout property to 1200. The IdleConnectionTimeout property only applies when connecting to the AppServer is session-free mode. Setting the IdleConnectionTimeout property causes a WatchDog object to run which will terminate a session-free connection after a certain amount of time but because the application was not actually using the session-free mode the WatchDog would just sit there forever.

FIX:

Modify the application and remove the line of code which sets the IdleConnectionTimeout property