← Назад

API 4.2.3.20. System.ArgumentNullException: Ассоциативная информация пустая.

Получаю исторические сделки в цикле для выбранных инструментов. Некоторое количество бумаг загрузилось нормально. На какой-то бумаге стал генерить ошибку в большом количестве, что лог получился в 18 ГБ. Это я еще вовремя остановил. Так бы весь HDD забил. Проанализировать лог сложно, т.к. большой. Ошибка: ```plain 2014-07-04 11:22:38,682 [33] ERROR - 11:20:09.289 | IQFeedTrader | System.ArgumentNullException: Ассоциативная информация пустая. Parameter name: message at StockSharp.Algo.Connector.#=qSE7Rm5Va3Mu5$LCg7FAHBTtYn2pm1JVWB6XHYdXdMAE=[TMessage](TMessage #=q3awP$$WVrxC$zE4fI60tmg==, Func2 #=qcrXB49fGRzAzZlfqrV2qWA==, Action2 #=qZFv_PAyK$cXdHbl5VrD9RA==, Boolean #=qI1nKfTb0JJBsZlhM3AhNZvSFnTVj6sbbO4Pjygbc0yE=) at StockSharp.Algo.Connector.#=qo31Mg8_M4GKZ9SHeXHo8tr3QXGVuMwg1ZrLngoaoa7o=(ExecutionMessage #=q5dMT8s7uwklgLAiNy40zmA==) at StockSharp.Algo.Connector.OnProcessMessage(Message message, MessageAdapterTypes adapterType, MessageDirections direction) at StockSharp.IQFeed.IQFeedTrader.OnProcessMessage(Message message, MessageAdapterTypes adapterType, MessageDirections direction) at StockSharp.Algo.Connector.#=qgFVU214I6ZozN3_wcAatE_4_lrnHCDInWB64t2HpOpCLkxEosGvu01dgvHqUUx7r(Message #=qeVKqcDSTzswWwbpMKaS1Qw==) at System.Action`2.Invoke(T1 arg1, T2 arg2)
at StockSharp.Messages.MessageProcessor.<StockSharp.Messages.IMessageProcessor.Start>b__0()

Комментарии (7)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov

Здесь нужно несколько строчек выше Debug лога. Какое-то сообщение не несет информацию по инструменту.

vk37
vk37 Автор

Михаил Сухов: Здесь нужно несколько строчек выше Debug лога. Какое-то сообщение не несет информацию по инструменту.Михаил, как ты себе представляешь получить этот дебаг лог? С трудом представляю как воспроизвести ошибку? Когда именно она появится? Какого размера будет этот дебаг лог. Дебаг лог может получится много больше 100ГБ. Кто его будет читать? Не уверен, что у меня диска хватит.

vk37
vk37 Автор

Ошибка была на инструменте AUDNZD.COMP при запросе сделок интервала с 01.01.2014 по 02.07.2014. Получить дебаг лог по моему не реально: будет очень большого размера. Делать отладку надо без дебаг лога.

Mikhail Sukhov
Mikhail Sukhov

vk37: Получить дебаг лог по моему не реально: будет очень большого размера.

А большой и не нужен. Нужно тот участок, что привел к ошибке.

vk37
vk37 Автор

Запустил получение исторических сделок на инструменте AUDNZD.COMP с 01.01.2014 по 02.07.2014 с дебаг логом. Лог 12 ГБ. Все прошло без ошибок. Версия API 4.2.3.21.

vk37
vk37 Автор

Снова обнаружилась эта ошибка на версии 4.2.3.21. У меня эта ошибка появляется с периодичностью где-то каждые 15 000 запросов GetTrades. При возникновении такой ошибки в лог пишется порядка 10 000 000 сообщений об ошибке. Размер не дебаг лога становится более 20 ГБ. Что от меня требуется чтобы исправить эту ошибку?

Mikhail Sukhov
Mikhail Sukhov

Как вариант можно подписться на Connector.NewMessage и смотреть там на сообщение, у которого SecurityId не содержит или код или тип инструмента. И вывести это сообщение.