Click here to Skip to main content
15,790,267 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I am ignorant on WCF, and the guy who is smart, isn't.:~

2k8, 64 bit, standard, 16 GB, quad, hyperthreaded
A service with 3 processes, 2 at start up, each process has a single thread.
2 processes come up, using cpu and memory.
5 people running our client.
Process 3 comes up when requests start.

Processing a call takes 5-10 minutes.
All calls to the server lock the server object on the server side.

The three processes continue for a while.
Two of them stop processing, while one continues.
When the one finishes, another starts processing, and the one locks.

I believe that object.lock is local, not a mutex.
I believe that IIS processes do not share memory.

But it sure looks like the lock is operating across processes.
We are taking the lock out on Monday, to see what happens.

Is this an issue that rings a bell for anyone?
Thanks RM

Response to Ahmed.
You are right, it was a resource issue.
All server calls are synchronous/blocking.
The server was making calls back through to itself as a client.
When a process called the same SO, that process locked.
It took one of the processes out of the pool until it returned.
But it also called itself as a client, blocking another.
Pretty soon, all the processes are blocked.
Waiting for one to finish so they can process.
Classic deadlock. :rolleyes: :-O
Share this answer
I am familiar with WCF, but not under IIS.

However, I have run into similar situations which turned out to be either a db table being locked by a long-running process or a particular stored procedure returning 3 million rows and causing the .Net process to abort with an out-of-memory exception.

Also, if any thread in .Net process throws an unhandled exception that will cause the process to end. Look for strange-looking events in the system event log.

without more info, I'm guessing.
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900