MaterialDesignInXAML / MaterialDesignInXAML/MaterialDesignInXamlToolkit

System.Runtime.InteropServices.SEHException in MainDemo.Wpf when running for a long time

未关闭
#895 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

up-for-grabs
主要语言
C#
星标
16.3k
派生
3.5k
平均合并
1 天 22 小时
30 天内合并 PR
8

描述

This is the second time I observed this with **MainDemo.Wpf**. The first time I noticed this error I didn't think much of it.
There might not be much to find here, but if enough people observe this, then we might be able to find a correlation between them.

When running **MainDemo.Wpf** I observed System.Runtime.InteropServices.SEHException
```
ved System.IO.UnmanagedMemoryStream.ReadByte()
ved System.IO.BinaryReader.ReadByte()
ved System.IO.BinaryReader.Read7BitEncodedInt()
ved System.Resources.ResourceReader._LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
ved System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
ved System.Resources.ResourceReader.LoadObject(Int32 pos, ResourceTypeCode& typeCode)
ved System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase, Boolean isString)
ved System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase)
ved System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
ved System.Resources.ResourceManager.GetStream(String name, CultureInfo culture)
ved MS.Internal.Resources.ResourceManagerWrapper.GetStream(String name)
ved MS.Internal.AppModel.ResourcePart.GetStreamCore(FileMode mode, FileAccess access)
ved System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access)
ved System.IO.Packaging.PackWebResponse.CachedResponse.GetResponseStream()
ved System.IO.Packaging.PackWebResponse.GetResponseStream()
ved MS.Internal.FontCache.FontSource.GetUnmanagedStream()
ved MS.Internal.Text.TextInterface.FontFileStream..ctor(IFontSource fontSource)
ved MS.Internal.Text.TextInterface.FontFileLoader.CreateStreamFromKey(Void* fontFileReferenceKey, UInt32 fontFileReferenceKeySize, IntPtr* fontFileStream)
ved MS.Internal.Text.TextInterface.TextAnalyzer.GetGlyphs(UInt16* textString, UInt32 textLength, Font font, UInt16 blankGlyphIndex, Boolean isSideways, Boolean isRightToLeft, CultureInfo cultureInfo, DWriteFontFeature[][] features, UInt32[] featureRangeLengths, UInt32 maxGlyphCount, TextFormattingMode textFormattingMode, ItemProps itemProps, UInt16* clusterMap, UInt16* textProps, UInt16* glyphIndices, UInt32* glyphProps, Int32* pfCanGlyphAlone, UInt32& actualGlyphCount)
ved MS.Internal.TextFormatting.LineServicesCallbacks.GetGlyphsRedefined(IntPtr pols, IntPtr* plsplsruns, Int32* pcchPlsrun, Int32 plsrunCount, Char* pwchText, Int32 cchText, LsTFlow textFlow, UInt16* puGlyphsBuffer, UInt32* piGlyphPropsBuffer, Int32 cgiGlyphBuffers, Int32& fIsGlyphBuffersUsed, UInt16* puClusterMap, UInt16* puCharProperties, Int32* pfCanGlyphAlone, Int32& glyphCount)
ved MS.Internal.TextFormatting.UnsafeNativeMethods.LoCreateLine(IntPtr ploc, Int32 cp, Int32 ccpLim, Int32 durColumn, UInt32 dwLineFlags, IntPtr pInputBreakRec, LsLInfo& plslinfo, IntPtr& pploline, Int32& maxDepth, LsLineWidths& lineWidths)
ved MS.Internal.TextFormatting.TextMetrics.FullTextLine.FormatLine(FullTextState fullText, Int32 cpFirst, Int32 lineLength, Int32 formatWidth, Int32 finiteFormatWidth, Int32 paragraphWidth, LineFlags lineFlags, FormattedTextSymbols collapsingSymbol)
ved MS.Internal.TextFormatting.TextMetrics.FullTextLine..ctor(FormatSettings settings, Int32 cpFirst, Int32 lineLength, Int32 paragraphWidth, LineFlags lineFlags)
ved MS.Internal.TextFormatting.TextFormatterImp.FormatLineInternal(TextSource textSource, Int32 firstCharIndex, Int32 lineLength, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak, TextRunCache textRunCache)
ved MS.Internal.TextFormatting.TextFormatterImp.FormatLine(TextSource textSource, Int32 firstCharIndex, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak, TextRunCache textRunCache)
ved System.Windows.Controls.TextBoxLine.Format(Int32 dcp, Double formatWidth, Double paragraphWidth, LineProperties lineProperties, TextRunCache textRunCache, TextFormatter formatter)
ved System.Windows.Controls.TextBoxView.GetFormattedLine(Int32 lineIndex, LineProperties& lineProperties)
ved System.Windows.Controls.TextBoxView.GetTextPositionFromDistance(Int32 lineIndex, Double x)
ved System.Windows.Controls.TextBoxView.System.Windows.Documents.ITextView.GetTextPositionFromPoint(Point point, Boolean snapToText)
ved System.Windows.Documents.TextEditorMouse.IsPointWithinInteractiveArea(TextEditor textEditor, Point point)
ved System.Windows.Documents.TextEditorMouse.OnQueryCursor(Object sender, QueryCursorEventArgs e)
ved System.Windows.Controls.Primitives.TextBoxBase.OnQueryCursor(QueryCursorEventArgs e)
ved System.Windows.UIElement.OnQueryCursorThunk(Object sender, QueryCursorEventArgs e)
ved System.Windows.Input.QueryCursorEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
ved System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
ved System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
ved System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
ved System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
ved System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
ved System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
ved System.Windows.Input.InputManager.ProcessStagingArea()
ved System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
ved System.Windows.Input.MouseDevice.UpdateCursorPrivate()
ved System.Windows.Input.MouseDevice.PostProcessInput(Object sender, ProcessInputEventArgs e)
ved System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)
ved System.Windows.Input.InputManager.ProcessStagingArea()
ved System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
ved System.Windows.Input.MouseDevice.Synchronize()
ved System.Windows.Input.MouseDevice.PostProcessInput(Object sender, ProcessInputEventArgs e)
ved System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)
ved System.Windows.Input.InputManager.ProcessStagingArea()
ved System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
ved System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
ved System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
ved System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
ved System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
ved MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
ved MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
ved System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
ved System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
ved System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
ved MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
ved MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
ved System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
ved System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
ved System.Windows.Application.RunDispatcher(Object ignore)
ved System.Windows.Application.RunInternal(Window window)
ved System.Windows.Application.Run(Window window)
ved MaterialDesignColors.WpfExample.App.Main()
```

From: 12 February 2018, 14:51:03
To: ~13 February 2018, 09:16:47
Application open time before exception: ~18 hours, 25 minutes and 44 seconds (just over 2^16 seconds).
Additional: Computer in standby from 16:30 to 7:50
Revision: https://github.com/ButchersBoy/MaterialDesignInXamlToolkit/tree/019c5d64836ca550f0ca780a4e33778f62be8bcb (current master at time of writing)
Running: Release
Page open: Fields
Right before crash: hovered over application in background which possibly triggered the crash
Path: \\file01\home\jsh\visual studio\Samples\MaterialDesignInXamlToolkit-master\MainDemo.Wpf\bin\Release

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 MainDemo.Wpf 的复现上下文和提供的堆栈跟踪开始,重点关注长时间运行的会话、待机期间和悬停操作。未指定源文件或测试;要视为完成,需要确定 SEHException 的可复现原因,并通过适当的验证对其进行记录或处理。

由索引模型根据 Issue 内容生成。

评估

技术栈
csharp
领域
desktop
Issue 类型
缺陷
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
20/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。