Баги
Atom Ответить
26.05.2014


Версия 4.2.3.6, коннектор для p2fortsgate - реал.
1)Не работает уровень логирования - флудит даже не уровне Warning:
...
21:40:56.266| |Plaza |Для GD1860BR4@FORTS загружено 4 SecurityChange.
21:40:56.267| |Plaza |Для GD1870BF4@FORTS загружено 2 SecurityChange.
21:40:56.268| |Plaza |Для GD1870BR4@FORTS загружено 4 SecurityChange.
21:40:56.268| |Plaza |Для GD1880BF4@FORTS загружено 2 SecurityChange.
...
2)Крашится программа, логи
Exceptions log
3)Перестал работать выбор поток/таблиц - при открытии все галки сняты и показывает 11 таблиц по умолчанию.

ps не баг - на виртуальной машине с одним ядром крашится - system out of memory exception, не успевает обрабатывать данные.

Теги:


Спасибо:




15 Ответов
skuvv

Фотография
Дата: 27.05.2014
Ответить


Вот такая ошибка появляется очень часто, 1000+ за час:
11:10:20.494|Error |Plaza |System.ArgumentOutOfRangeException: Version's parameters must be greater than or equal to zero.
Parameter name: major
at System.Version..ctor(Int32 major, Int32 minor)
at StockSharp.Algo.Storages.LocalMarketDataDrive.#=qHbNCOTbQ2RTZ4HhU5oUWoEi$DAYrVn52gb79hjV8rks=.#=qhBkufFajeEgaj1pw_ZS4XA==()
at StockSharp.Algo.Storages.LocalMarketDataDrive.#=qHbNCOTbQ2RTZ4HhU5oUWoEi$DAYrVn52gb79hjV8rks=.#=qGnPWZcmJEpY$pMgFtvAw4w==()
at System.Lazy`1.CreateValue()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Lazy`1.get_Value()
at StockSharp.Algo.Storages.LocalMarketDataDrive.#=qHbNCOTbQ2RTZ4HhU5oUWoEi$DAYrVn52gb79hjV8rks=.#=q4uMGdkK8rfY48KUCULzOnA==(DateTime #=qyaKHET4Zws1azsAyMPaltQ==, Action`1 #=qFhmu$iT353ymGDWwOYEbpQ==)
at StockSharp.Algo.Storages.LocalMarketDataDrive.#=qHbNCOTbQ2RTZ4HhU5oUWoEi$DAYrVn52gb79hjV8rks=.#=qIyXQt2__bXaP80pgT8q$ZNcFx$fuz2fpU_ou3zCT56S6lwRLylSANtegmuXaKvWj4AdBgHbysXDdrl6fsto83w==(DateTime #=qzhkIffYHu2swtVZY0qiNSw==, Byte[] #=qjmAFRdlKh36D_vOW4nR0Ng==)
at #=q0AcKdzxrcEaczuTXtGV_7$0Q6kf_e0W2PpHTduqYbS9vh8UyWubXVz6HgfAQulTU.#=qqZ3UkQ6HiDE5kxQxlHqWCg==(DateTime #=qUFhMpfWGZ8NaUx0HVCSXuA==, #=qLf3ak3vMf7hRt1x61V08CA==[] #=qeNRuCwPbA1MZUv6t_RCB1A==, Boolean #=qmogCwIE923b6$wKVqg5YHw==)
at #=q0AcKdzxrcEaczuTXtGV_7$0Q6kf_e0W2PpHTduqYbS9vh8UyWubXVz6HgfAQulTU.Save(IEnumerable`1 #=queVl0xhSjWu8TzibGSPRqg==)
at StockSharp.Hydra.Core.BaseHydraTask.SafeSave[T](Security security, IEnumerable`1 values, Func`2 getTime, IEnumerable`1 errorChecks, Func`3 getStorage)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 27.05.2014
Ответить


skuvv Перейти
Вот такая ошибка появляется очень часто, 1000+ за час:


https://stocksharp.ru/fo...bki-v-v-Gidrie-2-2-2-27/
Спасибо:

devruss

Фотография
Курсы
Дата: 27.05.2014
Ответить


На самом деле вопрос все еще актуальный. Базу я удалять не стал, но как и было рекомендовано в ветке удалил все файлы с датами - это не помогло
Спасибо:

skuvv

Фотография
Дата: 28.05.2014
Ответить


База была чистая, апдейтов небыло, в моем случае очень вероятно что связано с крашами всей гидры.
Еще один баг на 32 битной версии, в тот момент окно интерфейса было свернуто:

15:59:33.429|Error |Unhandled Exception|System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at MS.Internal.WindowsBase.SafeSecurityHelper.CleanupCollectedAssemblies(Object state)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

15:59:01.476|Error |S#.Data |System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.Collections.ArrayList..ctor(Int32 capacity)
at System.Windows.Data.ListCollectionView.PrepareLocalArray()
at System.Windows.Data.ListCollectionView.RefreshOverride()
at System.Windows.Data.CollectionView.RefreshInternal()
at System.Windows.Data.CollectionView.RefreshOrDefer()
at System.Windows.Data.ListCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)
at System.Windows.Data.CollectionView.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at Ecng.Xaml.ThreadSafeObservableCollection`1.OnAddRange(IEnumerable`1 items)
at StockSharp.Xaml.LogMessageCollection.OnAddRange(IEnumerable`1 items)
at Ecng.Xaml.ThreadSafeObservableCollection`1.AddRange(IEnumerable`1 items)
at StockSharp.Xaml.Monitor.WriteMessages(ILogSource source, IEnumerable`1 messages)
at StockSharp.Xaml.Monitor.<WriteMessages>b__1(IGrouping`2 g)
at MoreLinq.MoreEnumerable.ForEach[T](IEnumerable`1 source, Action`1 action)
at StockSharp.Xaml.Monitor.WriteMessages(IEnumerable`1 messages)
at StockSharp.Xaml.GuiLogListener.<>c__DisplayClass1.<OnWriteMessages>b__0()
at Ecng.Xaml.GuiDispatcher.ActionInfo.Process()
at Ecng.Xaml.GuiDispatcher.OnTimerTick(Object sender, EventArgs e)
at System.Windows.Threading.DispatcherTimer.FireTick(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
15:59:33.237|Error |S#.Data |System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at MS.Internal.WindowsBase.SafeSecurityHelper.CleanupCollectedAssemblies(Object state)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.05.2014
Ответить


skuvv Перейти
База была чистая, апдейтов небыло, в моем случае очень вероятно что связано с крашами всей гидры.


Возможно. Сейчас глянул код. Там запись синхронизована, кроме обновления файла с датами. В след версии будет синхронизация. Возможно, она поможет. А сейчас надо удалить файлы с неправильными датами.

skuvv Перейти

Еще один баг на 32 битной версии, в тот момент окно интерфейса было свернуто:


В 32 битном процессе для .NET выделяется чуть меньше 1.5 гига памяти. Проще смигрировать на 64 бита.
Спасибо:

skuvv

Фотография
Дата: 28.05.2014
Ответить


А не подскажите как можно найти(или определить) файлы с неправильными датами?
При миграции на x64 требуются какие-нибудь действия со стороны гидры?
Автор топика
Спасибо:

skuvv

Фотография
Дата: 30.05.2014
Ответить


Добавлю про краши - вылетает после события дисконекта от сервера плазы.
Локальный шлюз подхватывается, а вот коннектор нет и крашит программу.
Автор топика
Спасибо:

skuvv

Фотография
Дата: 04.06.2014
Ответить


По поводу логов, в коннекторе[Plaza2com] стоит Off - но в журнал идет все с уровня trace.
За день набегает несколько гигабайт и всё висит в памяти.
Как отключить?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 04.06.2014
Ответить


По настройкам самой плазы и ее логам к МБ
Спасибо:

skuvv

Фотография
Дата: 04.06.2014
Ответить


Михаил Сухов Перейти
По настройкам самой плазы и ее логам к МБ

Видно мы не правильно поняли друг друга, вот скрин для наглядности
ps почти 200к событий за пол часа работы, за день память раздувается на гигабайты.
log.png 91 KB (0)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 04.06.2014
Ответить


Сделайте дамп через профайлер. Например dotmemory
Спасибо:

skuvv

Фотография
Дата: 04.06.2014
Ответить


Михаил Сухов Перейти
Сделайте дамп через профайлер. Например dotmemory

Сделал дамп в dotmemory, dump
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 04.06.2014
Ответить


skuvv Перейти
Михаил Сухов Перейти
Сделайте дамп через профайлер. Например dotmemory

Сделал дамп в dotmemory, dump


Как видно из dump - LogMessage там занимает очень скромный объем памяти.
Спасибо:

skuvv

Фотография
Дата: 05.06.2014
Ответить


Михаил Сухов Перейти
skuvv Перейти
Михаил Сухов Перейти
Сделайте дамп через профайлер. Например dotmemory

Сделал дамп в dotmemory, dump


Как видно из dump - LogMessage там занимает очень скромный объем памяти.

Это наверно гут, хотя утечки памяти значит в других местах.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 05.06.2014
Ответить


skuvv Перейти

Это наверно гут, хотя утечки памяти значит в других местах.


Да вроде нет, если судить по дампу.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy