question

kevinoid avatar image
0 Votes"
kevinoid asked kevinoid commented

Resolve SSMS Crash when opening Database Diagram?

Microsoft SQL Server Management Studio v18.10 (15.0.18390.0) crashed while editing a database diagram. Since the crash, attempting to open the diagram also causes SSMS to crash. When running with ssms.exe -log SsmsLog.xml, the last entry in SsmsLog.xml is:

<entry>
  <record>1082</record>
  <time>2021/11/03 16:10:33.131</time>
  <type>Information</type>
  <source>VisualStudio</source>
  <description>Begin package load [Scc Display Information]</description>
  <guid>{D7BB9305-5804-4F92-9CFE-119F4CB0563B}</guid>
</entry>

It also logs Event ID 1026 to the Event Log with the data:

 Application: Ssms.exe
 Framework Version: v4.0.30319
 Description: The process was terminated due to an unhandled exception.
 Exception Info: System.ArgumentException
    at Microsoft.SqlServer.Management.UI.Grid.ScrollManager.SetHorizontalScrollUnitForArrows(Int32)
    at Microsoft.SqlServer.Management.UI.Grid.GridControl.OnFontChanged(System.EventArgs)
    at Microsoft.SqlServer.Management.UI.Grid.GridControl.InitDefaultEmbeddedControls()
    
 Exception Info: System.Reflection.TargetInvocationException
    at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
    at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
    at System.Delegate.DynamicInvokeImpl(System.Object[])
    at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry)
    at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(System.Object)
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
    at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry)
    at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
    at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
    at Microsoft.SqlServer.Management.UI.Grid.GridControl.WndProc(System.Windows.Forms.Message ByRef)
    at Microsoft.SqlServer.Management.DataTools.UI.Grid.GridControl.WndProc(System.Windows.Forms.Message ByRef)
    at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
    at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
    at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr, Int32, IntPtr, IntPtr)

Followed by Event ID 1000 with the data:

 Faulting application name: Ssms.exe, version: 2019.150.18390.0, time stamp: 0x615720fe
 Faulting module name: KERNELBASE.dll, version: 10.0.19041.1288, time stamp: 0x3e55bd0b
 Exception code: 0xe0434352
 Fault offset: 0x0012b5b2
 Faulting process id: 0x15c8
 Faulting application start time: 0x01d7d0cd40c55427
 Faulting application path: C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe
 Faulting module path: C:\Windows\System32\KERNELBASE.dll
 Report Id: c0db3f3e-fcfc-47b6-8f7c-7c69895fca8c
 Faulting package full name: 
 Faulting package-relative application ID: 

Any suggestions for how to further investigate or work around the issue? Or to avoid it in the future? Or a better place to report such issues?

Thanks,
Kevin

sql-server-general
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

ErlandSommarskog avatar image
1 Vote"
ErlandSommarskog answered kevinoid commented

I suspect that that particular diagram is lost. But you can report the issue on https://feedback.azure.com/d365community/forum/04fe6ee0-3b25-ec11-b6e6-000d3a4f0da0. If the database is small, try to attach a backup to the bug report so that Microsoft has something to work from. (The feedback site is a new one, and I have not explored it myself yet, so I don't know what you can attach.)

There were plenty of reports about diagrams causing crashes with earlier versions of SSMS 18, but I have not seen them for a while, so I guess that the general problems have been sorted out. I don't use diagrams myself.

· 5
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Thanks @ErlandSommarskog. Looks like there are several such bug reports already with no responses. I'll plan to up-vote those (and keep a copy of the broken sysdatabases table around in case it may be useful to anyone investigating in the future).

0 Votes 0 ·

But these bug reports may be old. While the site is new, many bug reports are older, as they were migrated from preceding feedback sites.

0 Votes 0 ·

The Diagram is broken again in SSMS v18.9.1 is 6 months old and Bug report: SSMS crashes when change of relationship between tables is made in Diagram is 3 months old. If you have good reason to think adding another is likely to be useful, I'm happy to do so.

0 Votes 0 ·
Show more comments