C
C
cdrag2018-08-14 06:38:24
Microsoft
cdrag, 2018-08-14 06:38:24

Crashes in DNSCrypt 2.0.15, packet drop by filtering platform. Why do they arise?

I am using Simple DNSCrypt. 'Packet discarded by filtering platform' keeps popping up in the syslog. The dnscrypt-proxy service terminates periodically, in the logs it writes this:

spoiler
2018-08-14 06:22:35.3808 QueryLogViewModel System.Reflection.TargetInvocationException: An error occurred while dispatching a call to the UI Thread ---> System.InvalidOperationException: Объект ItemsControl не соответствует своему источнику элементов.
Дополнительные сведения см. во внутреннем исключении. ---> System.Exception: Информация для разработчиков (для чтения используйте средство визуализации текста):
Данное исключение было создано потому, что генератор для элемента управления "SimpleDnsCrypt.Controls.LoggingListView Items.Count:991" с именем "(без имени)" получил последовательность событий CollectionChanged, которая не согласуется с текущим состоянием коллекции Items. Обнаружены следующие отличия:
Накопленное количество 990 отличается от фактического количества 991. [Накопленное количество вычисляется по формуле (число при последнем сбросе + кол-во добавлений - кол-во удалений после последнего сброса).]
Один или несколько следующих источников могли создать неверные события:
System.Windows.Controls.ItemContainerGenerator
System.Windows.Controls.ItemCollection
System.Windows.Data.ListCollectionView
System.Collections.ObjectModel.ObservableCollection`1
(Источники, которые считаются наиболее вероятной причиной проблемы, помечены звездочкой.)
Наиболее распространенные причины: (а) изменение коллекции или ее свойства Count без создания соответствующего события и (б) создание события с неверным параметром индекса или элемента.
В трассировке стека исключения описан процесс обнаружения несоответствий, а не процесс их возникновения. Для своевременного получения исключения задайте значение"High" для присоединенного свойства "PresentationTraceSources.TraceLevel" генератора и перезапустите сценарий. Один из способов решения этой задачи состоит в выполнении команды, аналогичной следующей:
System.Diagnostics.PresentationTraceSources.SetTraceLevel(myItemsControl.ItemContainerGenerator, System.Diagnostics.PresentationTraceLevel.High)
из окна интерпретации. Это приведет к запуску логики обнаружения после каждого события CollectionChanged, что замедлит работу приложения.
--- Конец трассировки внутреннего стека исключений ---
в System.Windows.Controls.ItemContainerGenerator.Verify()
в System.Windows.Controls.VirtualizingStackPanel.MeasureChild(IItemContainerGenerator& generator, IContainItemStorage& itemStorageProvider, IContainItemStorage& parentItemStorageProvider, Object& parentItem, Boolean& hasUniformOrAverageContainerSizeBeenSet, Double& computedUniformOrAverageContainerSize, Double& computedUniformOrAverageContainerPixelSize, Boolean& computedAreContainersUniformlySized, IList& items, Object& item, IList& children, Int32& childIndex, Boolean& visualOrderChanged, Boolean& isHorizontal, Size& childConstraint, Rect& viewport, VirtualizationCacheLength& cacheSize, VirtualizationCacheLengthUnit& cacheUnit, Boolean& foundFirstItemInViewport, Double& firstItemInViewportOffset, Size& stackPixelSize, Size& stackPixelSizeInViewport, Size& stackPixelSizeInCacheBeforeViewport, Size& stackPixelSizeInCacheAfterViewport, Size& stackLogicalSize, Size& stackLogicalSizeInViewport, Size& stackLogicalSizeInCacheBeforeViewport, Size& stackLogicalSizeInCacheAfterViewport, Boolean& mustDisableVirtualization, Boolean isBeforeFirstItem, Boolean isAfterFirstItem, Boolean isAfterLastItem, Boolean skipActualMeasure, Boolean skipGeneration, Boolean& hasBringIntoViewContainerBeenMeasured, Boolean& hasVirtualizingChildren)
в System.Windows.Controls.VirtualizingStackPanel.MeasureOverrideImpl(Size constraint, Nullable`1& lastPageSafeOffset, List`1& previouslyMeasuredOffsets, Nullable`1& lastPagePixelSize, Boolean remeasure)
в System.Windows.Controls.VirtualizingStackPanel.MeasureOverride(Size constraint)
в System.Windows.FrameworkElement.MeasureCore(Size availableSize)
в System.Windows.UIElement.Measure(Size availableSize)
в System.Windows.ContextLayoutManager.UpdateLayout()
в System.Windows.Controls.ItemsControl.OnBringItemIntoView(ItemInfo info)
в SimpleDnsCrypt.Controls.LoggingListView.AutoScroll_ItemsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
в System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
в System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
в System.Windows.WeakEventManager.ListenerList`1.DeliverEvent(Object sender, EventArgs e, Type managerType)
в System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args)
в System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
в System.Windows.Data.ListCollectionView.ProcessCollectionChangedWithAdjustedIndex(NotifyCollectionChangedEventArgs args, Int32 adjustedOldIndex, Int32 adjustedNewIndex)
в System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
в System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
в SimpleDnsCrypt.ViewModels.QueryLogViewModel.<>c__DisplayClass8_0.b__0()
в Caliburn.Micro.XamlPlatformProvider.<>c__DisplayClass8_1.b__0()
--- Конец трассировки внутреннего стека исключений ---
в Caliburn.Micro.XamlPlatformProvider.OnUIThread(Action action)
в SimpleDnsCrypt.ViewModels.QueryLogViewModel.AddLogLine(QueryLogLine queryLogLine)
в SimpleDnsCrypt.ViewModels.QueryLogViewModel.b__24_2()
в System.Threading.Tasks.Task.Execute()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
в SimpleDnsCrypt.ViewModels.QueryLogViewModel.d__24.MoveNext()

Tried to terminate the basic filtering service, failures still occur.

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question