Баги
Atom Reply
5/26/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, не успевает обрабатывать данные.

Tags:


Thanks:




15 Answers
skuvv

Avatar
Date: 5/27/2014
Reply


Вот такая ошибка появляется очень часто, 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)
Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 5/27/2014
Reply


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


https://stocksharp.ru/fo...bki-v-v-Gidrie-2-2-2-27/
Thanks:

devruss

Avatar
Training
Date: 5/27/2014
Reply


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

skuvv

Avatar
Date: 5/28/2014
Reply


База была чистая, апдейтов небыло, в моем случае очень вероятно что связано с крашами всей гидры.
Еще один баг на 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()
Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 5/28/2014
Reply


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


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

skuvv Перейти

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


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

skuvv

Avatar
Date: 5/28/2014
Reply


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

skuvv

Avatar
Date: 5/30/2014
Reply


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

skuvv

Avatar
Date: 6/4/2014
Reply


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

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 6/4/2014
Reply


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

skuvv

Avatar
Date: 6/4/2014
Reply


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

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

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 6/4/2014
Reply


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

skuvv

Avatar
Date: 6/4/2014
Reply


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

Сделал дамп в dotmemory, dump
Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 6/4/2014
Reply


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

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


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

skuvv

Avatar
Date: 6/5/2014
Reply


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

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


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

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

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 6/5/2014
Reply


skuvv Перейти

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


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


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy