It’s really intriguing how very minute configurations can have the potential of bringing the entire project development to a grinding halt. In this article, I would like to walk you through one such strange behaviour I noticed on one the Enterprise Customer’s Development Environment.
When trying to create a New SSIS package using Business Intelligence Studio 2008 on a Windows 2003 Server Enterprise Edition (x86) machine , there was error thrown by the Package designer :
Microsoft Visual Studio is unable to load this document. Exception has been thrown by the target of the invocation
When I checked the Event viewer logs, I could not find any error/ warning messages being recorded for this behaviour.
Following there, here’s how I would list my approach to troubleshoot the issue:
Once the Debugging tools for Windows were installed, I opened a command prompt and traversed to the location where the debugging tools were installed.
Started the Business Intelligence Studio 2008 and opened the task manager to get the Process ID for the DEVENV.exe. In this scenario , the PID was 456
In the Command Prompt , typed in the following to capture the crash dumps for the error that will be seen on the BIDS 2008 Designer Screen :
adplus -crash -p 456 - fullonfirst
As soon I hit enter, the debugger was attached to the DEVENV.exe process and started monitoring it for any first chance exceptions that might be raised.
Now going back to the BIDS 2008, Tried to create a New SQL Server Integration Services Project.
Within a few seconds, the error message was shown on the Visual Studio Screen.
Closed the BIDS 2008 and looked into the Debugging tools for Windows folder. aaah ! there were dump files captured in there.
Now that I had the dump files, I opened Windbg and loaded the PSSCOR2 Extension after loading the dump file. Here's what happened next:
First task was to print the exception using the
Exception object: 0481e76c
Exception type: System.Reflection.TargetInvocationException
Exception has been thrown by the target of an invocation
InnerException: System.ArgumentException, use !PrintException 048141e4 to see more
I was interested to see what would the Dump Object on
reveal , hence
Next, Dump Object
to view the exception message
Size: 130(0x82) bytes
String: Font 'Verdana' does not support style 'Regular'.
MT Field Offset Type VT Attr Value Name
6deb2d34 4000096 4 System.Int32 1 instance 57 m_arrayLength
6deb2d34 4000097 8 System.Int32 1 instance 48 m_stringLength
6deb17c8 4000098 c System.Char 1 instance 46 m_firstChar
6deb0ae8 4000099 10 System.String 0 shared static Empty
>> Domain:Value 03b32dc0:04641198 <<
6deb1718 400009a 14 System.Char 0 shared static WhitespaceChars
>> Domain:Value 03b32dc0:046417a8 <<
This error message gave me a hint that it was an issue related to probably a corrupted font on the customer’s machine. Hence I went directly into the "
" folder and started looking for the Verdana fonts. I could notice that there were 3 types of fonts for Verdana.
I compared the same location on my virtual Windows 2003 OS and found the following fonts for Verdana:
The Missing font was
Verdana ( True Type)
. I copied this font from my machine and pasted into the fonts folder onto customer’s faulty server machine. The next few clicks of my mouse tried to launch BIDS 2008 again and created a New SQL Server Integration Service Project.
The SSIS designer was now loaded successfully.
The only question that still remained unanswered was: How did the particular Verdana font go missing on Customer’s machine? What would have caused such a mischief?
Well J I’ll leave it you to think about it, until next time.
Author : Ajay(MSFT), SQL Developer Engineer, Microsoft
Reviewed by : SMAT(MSFT), SQL Escalation Services, Microsoft