@cdrag

Сбои в работе DNSCrypt 2.0.15, отбрасывание пакета платформой фильтрации. Почему возникают?

Использую Simple DNSCrypt. В системном журнале постоянно возникают записи "отбрасывание пакета платформой фильтрации". Служба dnscrypt-proxy переодически завершается, в логах пишет это:

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[[SimpleDnsCrypt.Models.QueryLogLine, SimpleDnsCrypt, Version=0.5.6.0, Culture=neutral, PublicKeyToken=null]]
(Источники, которые считаются наиболее вероятной причиной проблемы, помечены звездочкой.)

Наиболее распространенные причины: (а) изменение коллекции или ее свойства 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()


Пробовал завершать службу базовой фильтрации, отказы все равно возникают.
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы