-
Notifications
You must be signed in to change notification settings - Fork 11.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: 偶现崩溃 #5169
Comments
把日志关闭,同时把信息栏的自动刷新关闭 |
windows错误日志发出来看看 |
第一次Application: v2rayN.exe CoreCLR Version: 8.0.23.53103 .NET Version: 8.0.0 Description: The application requested process termination through System.Environment.FailFast. Message: 不可恢复的系统错误。 Stack: at System.Environment.FailFast(System.String) at System.Windows.Controls.TextBoxView.ArrangeVisuals(System.Windows.Size) at System.Windows.Controls.TextBoxView.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.ScrollContentPresenter.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Grid.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.ScrollViewer.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Grid.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Grid.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Grid.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Border.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Documents.AdornerDecorator.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Grid.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Control.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.DockPanel.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at MS.Internal.Helper.ArrangeElementWithSingleChild(System.Windows.UIElement, System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Border.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Control.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Grid.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.DockPanel.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Grid.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at MS.Internal.Helper.ArrangeElementWithSingleChild(System.Windows.UIElement, System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Grid.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Control.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at MS.Internal.Helper.ArrangeElementWithSingleChild(System.Windows.UIElement, System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Documents.AdornerDecorator.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Controls.Border.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.Window.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.ContextLayoutManager.UpdateLayout() at v2rayN.Views.MsgView.AppendText(System.String) at DynamicClass.InvokeStub_Action 第二次Application: v2rayN.exe CoreCLR Version: 8.0.23.53103 .NET Version: 8.0.0 Description: The application requested process termination through System.Environment.FailFast. Message: 不可恢复的系统错误。 Stack: at System.Environment.FailFast(System.String) at System.Windows.Controls.TextBoxView.ArrangeVisuals(System.Windows.Size) at System.Windows.Controls.TextBoxView.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.ContextLayoutManager.UpdateLayout() at v2rayN.Views.MsgView.AppendText(System.String) at DynamicClass.InvokeStub_Action |
事件查看器中看到的同样都是.net先崩溃,然后应用程序崩溃,.net崩溃信息如下: |
问题应该在刷新信息太多太快了。 |
试一下这个版本 |
问题描述换了新的版本,同样的.net 环境崩溃。 参考内容CSDN: GPT-4o: 易于复现的环境该软件和雪藏HsFreezer一起使用时(只要开启雪藏HsFreezer), 实测新版本在虚拟机内测试,基本没多少收发,时间一长,但依旧崩溃。 |
无法复现,估计难了 |
还是崩了,这个版本并没有解决。
emm,观察了一下堆栈, 我这边所有的异常都是在v2rayN.Views.MsgView.AppendText(System.String) 同时,更新了一波VS,把.net 升到了8.0.7, Commit: 2aade6beb0,观察下是否有用 |
.net8.0.7下出现崩溃,发生时与utorrent、clash verge一起挂在后台使用。事件查看器中看到的同样都是.net先崩溃,然后应用程序崩溃,.net崩溃信息如下: |
去瞅了WPF的源码。 (以下开始瞎猜) ArrangePendingFromHighlightLayer只有在HandleTextSelectionHighlightChange中才设为true, 这个函数和选中的高亮有关。
_dirtyList 也和选中的高亮有关。但在OnTextContainerChange有嫌疑比较大的用法。
这里只要进去了,可能不论有无merge内容,都会造成_dirtyList 不是null,然后这时如果调用ArrangeVisuals,就可能会导致断言失败。 这很可能不是V2rayN的问题,而是WPF内部的错误。但苦于无复现方式。但我们的复现思路或许可以往这里靠。 |
开过几个测试环境,都无法复现 |
发现当连不上服务器时尝试更新core,更新进度一直卡住就会触发崩溃,成功复现了一次,但后来服务器连上了就无法复现了() |
https://github.com/2dust/v2rayN/releases/tag/6.57 已经重构了日志信息显示界面,可以试一试,反馈下 |
此问题先关闭了,如果还有后续再提交 |
预期情况
正常运行
实际情况
无提示地崩溃了
复现方法
并无稳定复现方式, 凭感觉通常发生于打开qbittorrent之后。
日志信息
日志一直不正常工作, 每个log都记录差不多记录这么点内容
2024-05-30 00:33:38.3534-INFO Current_SessionEnding
2024-05-30 00:33:38.4110-INFO MyAppExit Begin
2024-05-30 00:33:38.5002-INFO MyAppExit End
2024-05-30 22:04:22.9966-INFO v2rayN start up | v2rayN - V6.45 - 2024/05/18 | C:\Users\Aobanana\Desktop\v2rayN-With-Core\v2rayN.exe
2024-05-30 22:05:23.8229-INFO UpdateTaskRunSubscription
2024-05-30 22:06:23.8198-INFO UpdateTaskRunGeo
2024-05-30 22:12:58.0874-INFO v2rayN start up | v2rayN - V6.45 - 2024/05/18 | C:\Users\Aobanana\Desktop\v2rayN-With-Core\v2rayN.exe
2024-05-30 22:13:58.4607-INFO UpdateTaskRunSubscription
2024-05-30 22:14:58.4602-INFO UpdateTaskRunGeo
以下是来自系统日志的堆栈:
Application: v2rayN.exe CoreCLR Version: 8.0.23.53103 .NET Version: 8.0.0 Description: The application requested process termination through System.Environment.FailFast. Message: 不可恢复的系统错误。 Stack: at System.Environment.FailFast(System.String) at System.Windows.Controls.TextBoxView.ArrangeVisuals(System.Windows.Size) at System.Windows.Controls.TextBoxView.ArrangeOverride(System.Windows.Size) at System.Windows.FrameworkElement.ArrangeCore(System.Windows.Rect) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.ContextLayoutManager.UpdateLayout() at v2rayN.Views.MsgView.AppendText(System.String) at DynamicClass.InvokeStub_Action
1.Invoke(System.Object, System.Span
1<System.Object>) at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo) at System.Delegate.DynamicInvokeImpl(System.Object[]) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) at System.Windows.Application.RunDispatcher(System.Object) at System.Windows.Application.RunInternal(System.Windows.Window) at v2rayN.App.Main()额外信息
No response
我确认已更新至最新版本
我确认已查询历史issues
The text was updated successfully, but these errors were encountered: