Monday, September 15, 2014

A few days back i got a mail from a customer in France about Live Inbox crashing every hour. We were pretty surprised but we offered to help resolve the issue

TLDR; It was the graphic driver!

The customer got on a Skype voice call with us and explained the issue. He was running on a Outlook 2013 32 bit installation. A quick report from the Live Inbox Tools shipped with the 2.4 series of Live Inbox showed that he had a lot of plugins running.

A quick run into the Live Inbox logs showed that for some reason, Live Inbox was going down. Outlook has the ability to load multiple plugins, and it takes one plugin to bring the entire house down. But since it was a proper crash, we had access to the Windows Error Reporting (WER) files. The Live Inbox Tools do not extract the WER files. So we used the excellent tool called AppCrashView from Nir Sofer.

Outlook was indeed going down, It turned out that the Fault Module Name was igd10iumd32.dll which matched the driver of Intel(R) HD Graphics 4000 - as reported by dxdiag.exe

Live Inbox uses WPF to display its user interface. WPF uses DirectX to direct the GPU. Intel also provides a generic driver to fix this issue. A long term solution would be to update to this driver (Please consult with your maintenance team)

To detect if your crash is due to the driver, run Live Inbox Tools (Live Inbox and above), uncheck the "Use Hardware Acceleration" box, restart Live Inbox and see if the crashes go away. Note this setting is global to all WPF applications! So be sure to check it back again. You can find more information here

No more crashes, The customer had his problem sorted out.

Wednesday, August 6, 2014

I have been gearing up for a production release of Live Inbox for Outlook in the past days. In one of my test machines - which is is set up with Outlook 2013 Professional - 64 bit, Windows 8.1, and configured with 3 GMail IMAP4 account, 2 Exchange Active Sync account (Hotmail), 1 POP3 and some archived PST's

I was pretty surprised to find that the Outlook user interface was not responding. It was not that the application had hung up - windows even did not offer me to terminate outlook. I looked up the Live Inbox Logs and found out that the "heartbeat" (a kind of watchdog timer Live Inbox uses) was still alive and was processing stuff.

I had my doubts on
  1. Is some other plugin that is causing a hang ?
  2. There were threads going on some time back on WPF performance, due to lack of UI Automation clients, Windows Font cache, graphic drivers etc etc
#2 During some tests, we do run Live Inbox as a separate app (outside outlook i mean), these tests runs for days - and we never had an issue. We didn't have processor intensive code that ran on the UI thread that would warrant a hang that runs for hours. Even our watchdog timer was alive and kicking. the processor use was low.

Removed All Outlook Plugins
#1 - We removed all plugins including Live Inbox - and outlook still hanged on synchronization.

So there was a sync problem. I turned on the folder list view (ctrl-6) in Outlook and saw a lot of sync issues:

10:41:18 Synchronizer Version 15.0.4609.1000
10:41:18 Synchronizing Mailbox 'support@****-*****.com'
10:41:35 Synchronizing server changes in folder 'Inbox'
10:41:40 Error synchronizing folder
10:41:40          [8004DF03-0-0-560]
10:41:40 Canceled

12:58:33 Synchronizer Version 15.0.4609.1000
12:58:33 Synchronizing Mailbox 'adarsh@**********.com'
12:58:33 Terminated in error
12:58:33          [8004DF0B-0-0-940]

PST File Integrity
So I ran the scanpst tool to see if there were errors in the file. Yes there were - and I fixed it. Now when i check the PST again, i see the errors persisted. A look into the scanpst generated logs showed me countless entries like

Failed to add row to the FLT, RowID = xxx
??Couldn't find BBT entry in the RBT (3C38)
??BBT entry (61FC) has different refcount in RBT (22 vs 2)

PST Info from Control Panel/Mail
Control Panel/Mail Setup/Data Files/Settings spew out errors for all the OST's
An unknown error occurred, error code 0x80040605
Your Outlook data file cannot be configured. C:\mail\xxx.ost

PST Info from Outlook/All Folders/Data file properties
Stopped synchronization with IMAP in outlook, enabled work offline.I went into the data file properties/Advanced and i got "The Information Service cannot be configured. Either the information service does not posses properties required for configuration, or the MAPI configuration file entry point could not be determined."

Outlook 2013 has no issues in displaying mails though and Live Inbox can access them through MAPI. While synchronizing mails, the hanging continued with absolutely no plugins. Outlook could be closed by the close window but it continued running in the background.

Final Solution
Since scanpst reported Block BTree's missing, and the Block Btree's are part of the higher Node Database Layer, which is accessible from the PST headers, I was kind of questioning myself - has it been broken beyond repair?  I tried a tool from Stellar (Phoenix Outlook PST Repair), which only works on PST(like the name says). In my case, (which I believe was terminal case) it could not fix the errors scanpst presented.

So I created a new profile, brand new accounts. I was happy to have all my sent mail from the server (kudos to IMAP4). I however did not try importing these mails to a new outlook store.

Now Live Inbox and Outlook both do not freeze.

Have a problem, write to support and I'll respond. Thanks!