We have an application that uses Twisted Web to listen for an API call and when it receives it, the app then connects over SMTP to the specified mail server IP and validates whether the indicated user exists. The app has been running without issue or modification for close to 2 years (uses Twisted 10.2.0). Then suddenly last night it started being unable to find the starttls() method on the Connection object when negotiating with any mail server:

https://gist.github.com/4391179

We were able to replicate the problem consistently, and determine it was not a network issue. The weird part is that simply restarting the application cleared the issue and TLS SMTP connections were able to be made again. Since the Twisted modules were loaded at startup, I'm a little confused on how it suddenly decided  the TLS methods were missing until we restarted.

Any ideas are greatly appreciated.

-J