Good Day,
I was hoping you might have an idea about what would cause an issue we are having. When our plugin is installed and performing a large task, it seems the Outlook Express closes unexpectedly. There is no error message or other signs of a typical crash, and our plugin code continues to run after msimn.exe is completely shutdown (this of course makes it hard to debug since there is no definite break in the plugin code). The task usually includes several hundred emails, cloned from inbox to modify the header and subject, saved to another folder, then the original message is deleted.
I have found a possible related KB article (http://support.microsoft.com/kb/898122), however I attempted the fix they suggest and was still able to produce this erroneous behavior. As well I have noticed similar issues posted on the forums of Zone Alarm.
Since you deal with Outlook Express a fair bit, I was hoping you might have seen this before and might know what could cause it and if there is a workaround or solution. The plugin seems to be doing what it is intended to do, and doesn’t crash. It is OE that is closing unexpectedly.
Thank You,
Ryan Smith
Software Developer
** This email message contains privileged and confidential information
and is intended solely for the use of the individual(s) or entity to
which it is addressed. Any dissemination, distribution or duplication of
this communication without the prior consent of ParetoLogic Inc. is
strictly prohibited. If you have received this message in error, please
notify the sender immediately and permanently destroy the message and
any copies that you may have.
For future reference to those interested in the solution to my last post (our project is done in C++\COM\ATL),
I have a possible resolution for this problem. It is a threading issue. The tasks we were performing were a result of clicking a button in OE. Clicking the button fired an event which our plugin caught; within the handler of the event an extensive task was performed. Because the task was done within the event handler it might have been locking up the COM thread that could potentially process a number of other possible events. The task was causing other events to fire but they were unable to process until the current task was complete. With enough workload on the one task, this backlog of events may have caused the erroneous behavior we saw in Outlook Express.
A theory of course, but the evidence points to this conclusion. And moving the handling of the task to a separate thread and returning immediately from the button event seems to have cleared up the test case that caused OE to shutdown unexpectedly.