View Single Post
Old 09-19-2011, 04:06 PM  
Too much time...
Join Date: May 2005
Posts: 1,194

pion: Interesting... Especially to see a whole bunch grouped together and then nothing for a month.

I do have one idea based upon Dahlia's info. See if the 'Log_Exiting_Workers_Threads' under [Threads] is enabled in the .ini file and then see if you can find any lines like 'Worker exit: total=5, free=5, blocking=0, initial=5.' in logs/Debug.log.

A long time ago I fixed a number of side effects of worker threads exiting. This included things like timers and async events being canceled. I'm not aware of any remaining issues like this, BUT whenever a thread is created/destroyed all the dll's are offered a chance to run. Most don't do anything, but the important point here is the lock that protects the dll's while they do this is what is getting stuck.

In my opinion removing the Microsoft encryption library really helped stability because it would acquire/release that lock every time an SSL connection was made. The MS encryption library dynamically reference counted the underlying encryption modules it was using. This greatly increased the odds of something going wrong it looks like!

My guess is during those times when you saw a problem the server was really busy and perhaps worker threads were being created / destroyed. Either this causes the problem because ioFTPD is doing something wrong (an uncaught side effect) or because some other weird thing is happening and the odds go up...

Anyway, it's a thought and perhaps looking at the logs we might be able to tell one way or the other.
Yil is offline   Reply With Quote