-1

i got a problem over here...

i have this application, that creates various custom AppDomains, each app domain executes a assembly and its dependencies, like a plugin, a separated assembly, that manipulates database, own resources, etc..

the application runs fine for a while, but suddenly, it locks up... the process does NOT die, it just freezes, i ran a remote debugger on top of it, on the thread window i can see EVERY thread, they are with the status "running" (not "thaw") but, in the same place, not executing... i can pause and run the debug, and it remains in the same place.

there are NO locks, synlocks, monitors, on the code and the code for loading the appdomains is very simple, no big deal on it.

like i said, its working, but after a while, it locks up..

Any ideas on this environment? its already driving me crazy!

If needed any piece of code, i will provide. Thanks.

Brizio
  • 31
  • 1
  • 7
  • Too little information here. What are the threads doing when the application locks? Stack traces and some code snippets around those might help. – Lasse V. Karlsen Jan 10 '12 at 18:11
  • When you say that it Manipulates database.. do the databases share the same connection string ..?? if so then perhaps you are creating a lot of new Connection strings and after a while the connection pool is getting full.. I would check places where you are implementing the new Instances of something and not freeing them properly.. perhaps wrapping things around a using(){} if necessary.. just a suggestion without seeing the actual code. – MethodMan Jan 10 '12 at 18:13
  • The threads are doing absolutely nothing, they are with the status "running" but not actually running. Its frozen. And not every processes manipulate databases. – Brizio Jan 10 '12 at 18:30
  • i have a recent clue, maybe it will help, tracing the application i got this message : "Unable to evaluate expression. Function: MyProcess.ExecuteDll(), Thread: 0x2438 Unable to evaluate expression. " this happens just before the application stops in time. – Brizio Jan 10 '12 at 18:37
  • What's the "same place" the threads are in? – Jon Hanna Jan 11 '12 at 17:02

1 Answers1

0

If there's a database involved, you most certainly have locks. Take a look at the SQL statements the threads are executing, you might find you have a deadlock on your hands.

I'm not sure SQL Server can detect all deadlocks, or if it can be configured not to resolve deadlocks on its own.

zmbq
  • 38,013
  • 14
  • 101
  • 171
  • But its possible? In a separated domain a assembly that uses a oracle database be able to lock up ALL other threads? – Brizio Jan 10 '12 at 18:33