Зависание квика

Страницы: 1
RSS
Зависание квика
 
После обновления до 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 работает тоже стабильно.
Утром зависает уже после подключения к серверу, или в состоянии без подключения?
 
Цитата
Egor Zaytsev написал:
Цитата
Denis K.   написал:
После обновления до 7.2.1.5 квик стал виснуть если его оставлять включенным на ночь.
Т.е. я его запускаю утром, часов в 9, весь день он работает нормально - до окончания вечерней сессии, а на следующее утро ГУИ не отвечает и иконка мышки в вечной загрузке, приходится перезапускать каждый день что ну вообще неудобно при торговле роботами.

Какая у вас последняя стабильная версия "без багов" и где ее скачать? А то у меня такое чувство, что на мне альфа/бета версии тестируют.
Добрый день.

Последняя версия 7.2.2 и подобных проблем встречено не было, т.е и версия 7.2.1 работает тоже стабильно.
Утром зависает уже после подключения к серверу, или в состоянии без подключения?

В 7.2.2 подобных проблем не встречено потому что этой версии еще нет в широком доступе. Кто бы гнался за вашими версиями :) Принцип "работает - лучше не трогать" в действии, и зачем только я обновлялся.
Тут вон люди пишут, что у них подобная проблема и в других версиях.
У меня зависает ночью, когда именно - не знаю т.к. сплю.  
Как с утра включаю до 24 часов работает ок, утром просыпаюсь - висит. Что делать?
Это начинает подбешивать, за последние 2 года столько глюков было с квиком, то сервера ваши от нагрузки плющило месяца 3 в прошлом году (я на этом деньги потерял), то терминал ваш постоянно зависает (уже вторая проблема с зависаниями за последние полгода). Что за бред вообще, вы там нормально работать собираетесь или где?
 
Пока остановился на версии 6.17.3.6
и Вам советую.
 
Цитата
Denis K. написал:
Цитата
Egor Zaytsev   написал:
Цитата
Denis K.   написал:
После обновления до 7.2.1.5 квик стал виснуть если его оставлять включенным на ночь.
Т.е. я его запускаю утром, часов в 9, весь день он работает нормально - до окончания вечерней сессии, а на следующее утро ГУИ не отвечает и иконка мышки в вечной загрузке, приходится перезапускать каждый день что ну вообще неудобно при торговле роботами.

Какая у вас последняя стабильная версия "без багов" и где ее скачать? А то у меня такое чувство, что на мне альфа/бета версии тестируют.
Добрый день.

Последняя версия 7.2.2 и подобных проблем встречено не было, т.е и версия 7.2.1 работает тоже стабильно.
Утром зависает уже после подключения к серверу, или в состоянии без подключения?
В 7.2.2 подобных проблем не встречено потому что этой версии еще нет в широком доступе. Кто бы гнался за вашими версиями :) Принцип "работает - лучше не трогать" в действии, и зачем только я обновлялся.
Тут вон люди пишут, что у них подобная проблема и в других версиях.
У меня зависает ночью, когда именно - не знаю т.к. сплю.  
Как с утра включаю до 24 часов работает ок, утром просыпаюсь - висит. Что делать?
Это начинает подбешивать, за последние 2 года столько глюков было с квиком, то сервера ваши от нагрузки плющило месяца 3 в прошлом году (я на этом деньги потерял), то терминал ваш постоянно зависает (уже вторая проблема с зависаниями за последние полгода). Что за бред вообще, вы там нормально работать собираетесь или где?
Денис, чтобы разобраться с вопросом пришлите архив рабочего места без ключей доступа и файла chm.
Будем разбираться.
Прислать необходимо на адрес quiksupport@arqatech.com
Спасибо.
 
Ссылку на архив отправил.
 
Egor Zaytsev, а информация какого характера содержится в файле chm?
 
Цитата
Denis написал:
Egor Zaytsev  , а информация какого характера содержится в файле chm?
Добрый день.

Справка по работе в QUIK.
 
Добрый день
Исследования показали, что причиной зависания является скрипт на 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 зависает. Помогает только перезапуск программы.
Данная проблема наблюдается ежедневно.
Старатель, а вы тоже используете qapi.lua?
 
Цитата
Denis K. написал:
Старатель, а вы тоже используете qapi.lua?
Нет. Но в 6.17 такой проблемы не наблюдалось.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Старатель написал:
Цитата
Denis K.   написал:
Старатель, а вы тоже используете qapi.lua?
Нет. Но в 6.17 такой проблемы не наблюдалось.
Добрый день.

У Вас видимо другой случай. Необходимо разбираться.
Пришлите также свое рабочее место QUIK без ключей доступа и файла chm.
 
Сейчас вот вообще в середине дня квик завис...
Я смотрю архитектура у вас на очень высоком уровне, любой чих может привести к зависанию. Никакого самоконтроля стабильности работы модулей внутри приложения. Классный конечно подход: зависает да и хрен с ним. ThinkOrSwim у меня вообще ни разу не заглючил за 3 года использования, а у вас, извините, какая-то кустарная поделка уровня студентов института.

Я, конечно, попробую на следующей неделе перед окончанием вечерней сессии выключить qapi.lua, чтобы проверить будет ли зависать без него. Потом так же в квике 7.1.2.2.
Но что-то все больше хочется отказаться от квика и перейти на что-нибудь более стабильное и надежное.. Буду искать варианты...
 
Добрый день.
В Вашем случае никакой "самоконтроль" со стороны терминала не поможет. Необходимо изменить логику работы с Named Pipes.
 
Цитата
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 - Вы, тем самым берете на себя всю ответственность за её дальнейшую (а равно, как и торгового терминала) - стабильность.
Страницы: 1
Читают тему
Наверх