Closed QApplication closed 7 years ago
Скомпилировал сейчас и проверил на 7.14.1.7 - все работает нормально.
На просторах интернета нашел возможную причину ошибки закрытия VM lua. Функции lua_close() должна вызываться в том же потоке, в котором выполняет main(). На первый взгляд я не нашел указанной конструкции в исходниках. Также пробовал запускать скрипт на последней версии (7,14,1,7) - ошибка не пропадает.
lua_close() вызывается по мере надобности самим Quik, не мы создаем state и не мы закрываем. Ошибка возникает не сразу после старта скрипта?
Если вы скажете как эту ошибку воспроизвести мне, мне было бы легче ее найти.
когда завершается callback main - приходит error message LuaVM closed with error
. Если main крутится в бесконечном цикле, то ошибки не появляется. При принулительной остановке скрипта lua также приходит аналогичное сообщение.
Где-то портится state, попробуйте коментить куски кода плагина, которые могут его модифироцовать и перекомпилировать без них, потом пускать, проверяя, исчезает ли ошибка при закрытии. У меня эта ошибка не воспроизводится.
not reproducible
Выянил причину по ошибке виртуальной машины lua.
Exception thrown at 0x77B8F2E1 (ntdll.dll) in info.exe: 0xC0000005: Access violation reading location 0x04376577
Однако не понял как ее усранить. Подкините идеи?
Смотрите backtrace. Или ищите в изменениях, которые сделали к basic tutorial, в том виде, в котором он сейчас в репозитарии, ошибка не воспроизводится.
После выполнения кода "basic tutorial" QUIK выводить сообщение с ошибкой "LuaVM closed with error".