COM add-in causes Outlook 2007 to periodically crash where it did not in Outlook 2003

  • Thread starter Thread starter Anthony
  • Start date Start date
A

Anthony

I wrote a custom add-in that has been developed and successfully
deployed to customer sites for over five years. It is written using the
COM add-in designer within the Microsoft Visual Basic 6.0 IDE. It has
evolved through each iteration of Microsoft Office, each security patch
(uses Redemption) and functionality change that these have brought
about.

The add-in will work for a number of hours. After a period of inactivity
the user will click on Outlook to view a message and Outlook will crash.
Checking the Application Event viewer results in the error described
below
Faulting application OUTLOOK.EXE, version 12.0.6504.5000, time stamp
0x49e7f47e, faulting module ntdll.dll, version 6.0.6001.18000, time
stamp 0x4791a783, exception code 0xc0000374, fault offset 0x000aada3,
process id 0x27d4, application start time 0x01ca1ee27730eea6.


I have seen the article "Add-in threading issue causes Outlook to crash
or hang" but have not been able to re-create the issue in order to
uncategorically remove my add-in as the culprit. I have even removed all
but the Genuine Office Advantage add-in and my add-in and outlook still
crashes.

The add-in has worked for a long time (pre-Outlook 2007) and hasn't
changed much.

Is this the .NET add-in multi-threading issue? If so, how can I tell my
customers their Microsoft add-ins are causing Outlook to crash, not my
add-in?

What else can I try? There seems to be very little about this out there,
can anyone help?

Regards,
Anthony
 
An addin written using VB6 isn't going to be using background threads unless
you specially create them using Win32 API calls. If you are seeing this
without any other addins running then I think you can safely assume it's
your addin that's causing the problem.

Yes, a managed code or other addin that uses a background thread to access
the Outlook object model will cause Outlook to crash or hang, and in many
cases a VB6 addin will get blamed even when innocent, due to how the stack
is being read and handled by Watson. There's nothing you can do about that
other than warn your users. But with no other addins running that's not
what's happening.

Does your addin handle NewMail() or other events on Inbox? That can possibly
cause a problem, usually a hang when typing in an email. But Outlook won't
just blow up when accessing a message.

I think your best bet is to open a support case for your addin and get an MS
escalation engineer to look at the crash dumps you collect. They will be
able to pinpoint the problem most likely.
 
Thankyou for your reply.

No, I do not respond to the NewMail event. Here are the events I do
respond to:

olExplorers - NewExplorer

olExplorer - Activate, BeforeFolderSwitch, Close, Deactivate,
FolderSwitch and SelectionChange events.

olItems - ItemAdd.

olInspectors - NewInspector

olInspector - Activate, Close, Deactivate.

olApplication - Quit (not NewMail).

I have a timer class (MSharedTimer.bas by Karl E. Paterson) which
refreshes the UI (due to Outlook not keeping track of the current
inspector), is this likely to cause me issues?

I _think_ I have been able to raise an MS support case, it was not easy.

Regards,
Anthony
 
It's possible that Karl's timer class is running in a different thread, the
easiest way to see if it's causing a problem is to not use it and see if the
problem goes away.
 
Back
Top