После обновления до 7.2.1.5 квик стал виснуть если его оставлять включенным на ночь. Т.е. я его запускаю утром, часов в 9, весь день он работает нормально - до окончания вечерней сессии, а на следующее утро ГУИ не отвечает и иконка мышки в вечной загрузке, приходится перезапускать каждый день что ну вообще неудобно при торговле роботами.
Какая у вас последняя стабильная версия "без багов" и где ее скачать? А то у меня такое чувство, что на мне альфа/бета версии тестируют.
Аналогичная ситуация, QUIK 7.0.4.10: Стоит настройка "Очищать данные после смены даты на сервере" Вечером, после окончания торгов, QUIK закрывается, а на следующий день, в вечернюю сессию я запускаю QUIK. При установлении связи с сервером данные очищаются, и QUIK зависает. Помогает только перезапуск программы. Данная проблема наблюдается ежедневно.
Надо делать так, как надо. А как не надо - делать не надо.
Denis K. написал: После обновления до 7.2.1.5 квик стал виснуть если его оставлять включенным на ночь. Т.е. я его запускаю утром, часов в 9, весь день он работает нормально - до окончания вечерней сессии, а на следующее утро ГУИ не отвечает и иконка мышки в вечной загрузке, приходится перезапускать каждый день что ну вообще неудобно при торговле роботами.
Какая у вас последняя стабильная версия "без багов" и где ее скачать? А то у меня такое чувство, что на мне альфа/бета версии тестируют.
Добрый день.
Последняя версия 7.2.2 и подобных проблем встречено не было, т.е и версия 7.2.1 работает тоже стабильно. Утром зависает уже после подключения к серверу, или в состоянии без подключения?
Denis K. написал: После обновления до 7.2.1.5 квик стал виснуть если его оставлять включенным на ночь. Т.е. я его запускаю утром, часов в 9, весь день он работает нормально - до окончания вечерней сессии, а на следующее утро ГУИ не отвечает и иконка мышки в вечной загрузке, приходится перезапускать каждый день что ну вообще неудобно при торговле роботами.
Какая у вас последняя стабильная версия "без багов" и где ее скачать? А то у меня такое чувство, что на мне альфа/бета версии тестируют.
Добрый день.
Последняя версия 7.2.2 и подобных проблем встречено не было, т.е и версия 7.2.1 работает тоже стабильно. Утром зависает уже после подключения к серверу, или в состоянии без подключения?
В 7.2.2 подобных проблем не встречено потому что этой версии еще нет в широком доступе. Кто бы гнался за вашими версиями :) Принцип "работает - лучше не трогать" в действии, и зачем только я обновлялся. Тут вон люди пишут, что у них подобная проблема и в других версиях. У меня зависает ночью, когда именно - не знаю т.к. сплю. Как с утра включаю до 24 часов работает ок, утром просыпаюсь - висит. Что делать? Это начинает подбешивать, за последние 2 года столько глюков было с квиком, то сервера ваши от нагрузки плющило месяца 3 в прошлом году (я на этом деньги потерял), то терминал ваш постоянно зависает (уже вторая проблема с зависаниями за последние полгода). Что за бред вообще, вы там нормально работать собираетесь или где?
Denis K. написал: После обновления до 7.2.1.5 квик стал виснуть если его оставлять включенным на ночь. Т.е. я его запускаю утром, часов в 9, весь день он работает нормально - до окончания вечерней сессии, а на следующее утро ГУИ не отвечает и иконка мышки в вечной загрузке, приходится перезапускать каждый день что ну вообще неудобно при торговле роботами.
Какая у вас последняя стабильная версия "без багов" и где ее скачать? А то у меня такое чувство, что на мне альфа/бета версии тестируют.
Добрый день.
Последняя версия 7.2.2 и подобных проблем встречено не было, т.е и версия 7.2.1 работает тоже стабильно. Утром зависает уже после подключения к серверу, или в состоянии без подключения?
В 7.2.2 подобных проблем не встречено потому что этой версии еще нет в широком доступе. Кто бы гнался за вашими версиями :) Принцип "работает - лучше не трогать" в действии, и зачем только я обновлялся. Тут вон люди пишут, что у них подобная проблема и в других версиях. У меня зависает ночью, когда именно - не знаю т.к. сплю. Как с утра включаю до 24 часов работает ок, утром просыпаюсь - висит. Что делать? Это начинает подбешивать, за последние 2 года столько глюков было с квиком, то сервера ваши от нагрузки плющило месяца 3 в прошлом году (я на этом деньги потерял), то терминал ваш постоянно зависает (уже вторая проблема с зависаниями за последние полгода). Что за бред вообще, вы там нормально работать собираетесь или где?
Денис, чтобы разобраться с вопросом пришлите архив рабочего места без ключей доступа и файла chm. Будем разбираться. Прислать необходимо на адрес quiksupport@arqatech.com Спасибо.
Добрый день Исследования показали, что причиной зависания является скрипт на Lua qapi.lua. В функции main() в цикле происходит чтение/запись в named pipe. При потере соединения вызывается вот такой код:
Код
function OnClose()
if mode == 1 then
r = ffi.C.ReadFile(handle, readBuffer, 4*1024, bytesRead, nil);
end
mode = 0
disconnectAndReconnect(false)
end
function OnDisconnected()
OnClose()
end
function disconnectAndReconnect(doConnect)
ffi.C.FlushFileBuffers(handle)
ffi.C.DisconnectNamedPipe(handle)
if doConnect then
assert(ffi.C.ConnectNamedPipe(handle, poverlapped), "Соединение установить не удалось")
end
end
В зависимости от состояния main() зависание происходит либо тут: kernel32.ReadFileImplementation -> KERNELBASE.ReadFile - > ntdll.ZwWaitForSingleObject либо тут: KERNELBASE.FlushFileBuffers -> ntdll.ZwFlushBuffersFile Функция OnDisconnected выполняется в основном потоке терминала, и зависание в ней приводит к зависанию GUI. Рекомендуем синхронизировать доступ к named pipe из разных потоков.
А могут быть еще какие-то причины? Работало ведь нормально 2 месяца до обновления квика. И на виртуалке у меня второй инстанс у другого брокера работает без зависаний в квике 7.1.2.2.
Старатель написал: Аналогичная ситуация, QUIK 7.0.4.10: Стоит настройка "Очищать данные после смены даты на сервере" Вечером, после окончания торгов, QUIK закрывается, а на следующий день, в вечернюю сессию я запускаю QUIK. При установлении связи с сервером данные очищаются, и QUIK зависает. Помогает только перезапуск программы. Данная проблема наблюдается ежедневно.
Сейчас вот вообще в середине дня квик завис... Я смотрю архитектура у вас на очень высоком уровне, любой чих может привести к зависанию. Никакого самоконтроля стабильности работы модулей внутри приложения. Классный конечно подход: зависает да и хрен с ним. ThinkOrSwim у меня вообще ни разу не заглючил за 3 года использования, а у вас, извините, какая-то кустарная поделка уровня студентов института.
Я, конечно, попробую на следующей неделе перед окончанием вечерней сессии выключить qapi.lua, чтобы проверить будет ли зависать без него. Потом так же в квике 7.1.2.2. Но что-то все больше хочется отказаться от квика и перейти на что-нибудь более стабильное и надежное.. Буду искать варианты...
Michael Bulychev написал: Добрый день. В Вашем случае никакой "самоконтроль" со стороны терминала не поможет. Необходимо изменить логику работы с Named Pipes.
Как не поможет? Все относительно "просто" делается, еще один тред который опрашивает состояние того же модуля с ГУИ, и если в нем время последнего нормального обновления не обновилось значит что-то не так и нужно этот модуль рестартнуть.
Я потому и пишу, что архитектура у вас хреновая: ГУИ вообще в отдельном потоке должно жить и не зависеть от каких-то скриптов на луа.
И если виноват именно Named Pipes в скрипте lua почему тогда в разных версиях квика оно по-разному себя ведет? Где-то виснет, где-то нет.
Единственное надежное решение - запретить загрузку сторонних dll в терминал. В противном случае никакая архитектура не спасает. В Вашем случае есть два решения - перенесите всю работу с трубой в main(), либо синхронизируйте доступ к ней из разных потоков.
Michael Bulychev написал: Единственное надежное решение - запретить загрузку сторонних dll в терминал. В противном случае никакая архитектура не спасает. В Вашем случае есть два решения - перенесите всю работу с трубой в main(), либо синхронизируйте доступ к ней из разных потоков.
"Терминал" понятие расплывчатое, что-то мне подсказывает, что архитектурно вполне можно сделать стабильное решение и с загрузкой длл, просто это надо было делать сразу, а сейчас что-то менять уже поздно.
У меня в луа опыта ноль, я не понимаю даже где в этом qapi.lua разные потоки (этот модуль писал не я), поэтому не могу конструктивно вести дискуссию по поводу Named Pipes.. Была бы у вас там ява вместо луа, или питон - другое дело.
Michael Bulychev написал: Добрый день Исследования показали, что причиной зависания является скрипт на Lua qapi.lua . В функции main() в цикле происходит чтение/запись в named pipe. При потере соединения вызывается вот такой код:
Код
function OnClose ()
if mode = = 1 then
r = ffi. C.ReadFile (handle, readBuffer, 4 * 1024 , bytesRead, nil );
end
mode = 0
disconnectAndReconnect( false )
end
function OnDisconnected ()
On Close ()
end
function disconnectAndReconnect (doConnect)
ffi. C.FlushFileBuffers (handle)
ffi. C.DisconnectNamedPipe (handle)
if doConnect then
assert(ffi. C.ConnectNamedPipe (handle, poverlapped), "Соединение установить не удалось" )
end
end
В зависимости от состояния main() зависание происходит либо тут: kernel32.ReadFileImplementation -> KERNELBASE.ReadFile - > ntdll.ZwWaitForSingleObject либо тут: KERNELBASE.FlushFileBuffers -> ntdll.ZwFlushBuffersFile Функция OnDisconnected выполняется в основном потоке терминала, и зависание в ней приводит к зависанию GUI. Рекомендуем синхронизировать доступ к named pipe из разных потоков.
как у Вас тут, оказывается..интересно..)))) насчёт синхронизации - абсолютно с Вами согласен..)) а вот насчёт функций ядра Windows... - вы, что же? предлагаете своим бедным пользователям теперь стучаться к старине Билу в Майкрософт? о_О))))
Michael Bulychev написал: Единственное надежное решение - запретить загрузку сторонних dll в терминал. В противном случае никакая архитектура не спасает. В Вашем случае есть два решения - синхронизируйте доступ к ней из разных потоков.
Вы можете на конкретных примерах нам это тут продемонстрировать?
Denis K. написал: У меня в луа опыта ноль, я не понимаю даже где в этом qapi.lua разные потоки (этот модуль писал не я), поэтому не могу конструктивно вести дискуссию по поводу Named Pipes.. Была бы у вас там ява вместо луа, или питон - другое дело.
незнание QLUA - не освобождает от ответственности за загрузку стороннего кода. Соглашаясь на загрузку/применение ЛЮБОЙ сторонней бибилотеки на QLUA - Вы, тем самым берете на себя всю ответственность за её дальнейшую (а равно, как и торгового терминала) - стабильность.