← 返回

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 не содержит или код или тип инструмента. И вывести это сообщение.