The Case of the Sluggish Email Message (Outlook HTML Gone Crazy)
Posted by William Diaz on August 5, 2010
Upon trying to move an email into our document management system in Outlook, the user reported the following error: “The item could not be deleted, it was either moved or already deleted, or access was denied.” This was odd, because normally this error is seen when items are deleted from shared mailboxes, as this this Microsoft KB article explains. The folder she was trying to move it into was her own document store, which she had full access. Upon trying to move other items, the error was not encountered.
I asked the user to send me the message and at first glance there was nothing special about the email. It was composed of a few short paragraphs with no special formatting beside some text bolding. The user composed these messages on a weekly basis, sent them to herself and then would re-file them into the DMS.
I asked the user to open the message on her system, noticed it was very slow to open, and eventually caused Outlook to become unresponsive. After restarting Outlook and looking at the message in the message pane of the user I noticed it was 1MB in size. This was odd because there was no attachment.
A normal message of this type should be no more than 5KB. Also, when I opened the message on my workstation, there was some minor sluggishness as well, although I did not experience the hang in Outlook like the user did.
But with the case of the sluggish email here, though, the html had gone crazy. It was filled with repeating </SPAN> tags. Just to see how many pages of these tags were embedded in the message I pasted it into Word. After a couple minutes Word reported an amazing 402 pages! Word also was never able to fully recover after pasting. Here is a sample of the repetitive html tags that went on for hundreds of pages:
This explained why the message was causing performance issues. When opening the message, Outlook was getting hung up trying to process through all of the html formatting to render the email. In the user’s case, she had a single core processor and her Outlook client took a severe performance hit. On my workstation, the second physical core handled all the processing so the sluggishness was minimal*.
To resolve this, we simply needed to strip the html formatting. To do this, the message was opened, switched to editing from the Edit > Edit Message menu option, and then stripped of the html formatting by going to Format > Plain Text. Since the user wanted to be able to format the message text, I simply reversed this process by changing the message back to html. To verify all was normal, I opened the message with View Source again and it was only a couple pages and the message size was now a normal 3KB:
I sent the “cleaned” message to the user. The last test was to now move it to the DMS, which, of course, went without a hiccup.
Why or how this happens remains a mystery to me but this is something I often look for when someone complains about Outlook performance or hang issues when opening, copying, and moving certain messages. You will also see the same performance-Outlook hangs when trying to forward these messages or replying to them.
*Although multiple cores are a good thing, one of the drawbacks is that issues that would otherwise create noticeable performance problems, will get overlooked more and more.