Originally posted by Scott Nyen:
...deadlocks ...
Hi Scott,
nobody can guess where the deadlock (or even deadlocks) comes from without debugging or tracing your code.
A deadlock just means two objects waiting for each other releasing an object or resource the other one needs. Therefore behaviour may very well differ when running in a
test server having another (slower...) timing. But NOT running into a deadlock with the test server just might mean that you had been "lucky". It does not guarantee that there are no deadlock conditions.
Even debugging (if possible at all) often does not detect the deadlock.
You might need to add short tracing output like "entering xyz ..." and "leaving xyz" to find the pair that entered but never left that method.
Then read in the code what ressources both need. These are candidates for deadlocks.
Hope that helps a little bit. I know how deadlocks can drive one creasy...
But be aware that even just adding trace output can "fix" the problem - or defer it to another spot of code ...
Thomas.