elelel/qluacpp

callback main

QApplication opened this issue · 3 comments

12/12/2017 в 18-45 в процессе работы функция main выдала исключение с ошибкой. До этого работала стабильно. В чем может быть причина?

err: callback_main _ Luacpp entity get: typecheck failed (Lua type at stack index -1 is nil; content as string: <Oops, got null from Lua when tried to get actual content as string>)

Лог сообщений:

Номер		Тип		Дата		Время		Сообщение
1.000000	1.000000	12/12/2017	6:38:38 PM	Соединение установлено
2.000000	3.000000	12/12/2017	6:38:40 PM	err: callback_OnQuote _ 
3.000000	3.000000	12/12/2017	6:40:44 PM	Net error: An existing connection was forcibly closed by the remote host.
4.000000	3.000000	12/12/2017	6:40:51 PM	Application error: Connection was closed by peer: Сервер по указанным сетевому адресу и порту не обнаружен. Возможно, Вы пытаетесь установить соединение в нерабочее время, или же указываете неверные сетевой адрес и порт.
5.000000	1.000000	12/12/2017	6:40:56 PM	Соединение установлено
6.000000	3.000000	12/12/2017	6:40:58 PM	err: callback_OnQuote _ 
7.000000	3.000000	12/12/2017	6:43:40 PM	err: callback_main _ Luacpp entity get: typecheck failed (Lua type at stack index -1 is nil; content as string: <Oops, got null from Lua when tried to get actual content as string>)
8.000000	3.000000	12/12/2017	6:43:40 PM	LuaVM closed with error
9.000000	2.000000	12/12/2017	6:43:55 PM	При создании диаграммы "FEES-12.16 Графики цены и объема" не удалось создать график "FEES-12.16 [Price]" для инструмента "FSZ6[SPBFUT]", так как данный инструмент отсутствует в справочнике инструментов
10.000000	2.000000	12/12/2017	6:43:55 PM	При создании диаграммы "FEES-12.16 Графики цены и объема" не удалось создать график "FEES-12.16 [Volume]" для инструмента "FSZ6[SPBFUT]", так как данный инструмент отсутствует в справочнике инструментов
11.000000	1.000000	12/12/2017	6:44:01 PM	Соединение установлено

Что было в том месте, где она выдала исключение? На каком вызове случилось?

void callback_main(lua::state& l)
{
    try {

        // state update
        qLua->updateState(l);

        //
        qLua->message("Callback 'main' is started.", 2);


        // ------------------------ TESTING START ------------------------------------------

//            qLua->test_Service();        // Сервисные функции
//            qLua->test_Callback();       // Функции обратного вызова
//            qLua->test_Item();           // Функции для обращения к строкам произвольных таблиц QUIK
//            qLua->test_ClassesParam();   // Функции для обращения к спискам доступных параметров
//            qLua->test_Finance();        // Функции взаимодействия скрипта Lua и Рабочего места QUIK
//            qLua->test_ParamEx();        // получение значений Таблицы текущих торгов

//            qLua->test_Charts();         // Функции для работы с графиками
//            qLua->test_Tables();         // Функции для работы с таблицами Рабочего места QUIK
//            qLua->test_Labels();         // Функции для работы с таблицами Рабочего места QUIK
//            qLua->test_Quotes();         // Функции для заказа стакана котировок
//            qLua->test_TradeRequest();   // Функции для заказа параметров Таблицы текущих торгов

//            qLua->test_bitFlags();       // Описание битовых флагов
//            qLua->test_bitMasks();       // Функции для работы с битовыми масками в структурах данных
//            qLua->test_TA();             // Индикаторы технического анализа


        // ------------------------ TESTING END --------------------------------------------


            // current thread id
            qLua->message((std::string("Thread Id in callback_main: ") + std::to_string(GetCurrentThreadId())).c_str());

            while (true)
            {
                qLua->sleep(1000);
            }

    } catch (std::runtime_error e) {
        qLua->message((std::string("err: callback_main _ ") + e.what()).c_str());
        return;
    }
}

Сегодня опять поймал эту ситуацию. Предположительно когда начинаются проблемы с интернетом (3G/4G), не стабильный сигнал, клиент ведет себя не понятным образом. Отсюда и сообщения
Net error: An existing connection was forcibly closed by the remote host. 4.000000 3.000000 12/12/2017 **6:40:51 PM** Application error: Connection was closed by peer: Сервер по указанным сетевому адресу и порту не обнаружен. Возможно, Вы пытаетесь установить соединение в нерабочее время, или же указываете неверные сетевой адрес и порт. Это происходит к конце торговой сессии.


12.000000	1.000000	12/14/2017	4:20:49 PM	Соединение установлено
13.000000	2.000000	12/14/2017	4:21:13 PM	Callback 'main' is started.
14.000000	1.000000	12/14/2017	4:21:13 PM	Thread Id in callback_main: 5732
15.000000	1.000000	12/14/2017	4:21:14 PM	tick size 48491
16.000000	3.000000	12/14/2017	4:26:21 PM	Net error: An existing connection was forcibly closed by the remote host.
17.000000	3.000000	12/14/2017	4:27:24 PM	Вы уже работаете в системе
18.000000	3.000000	12/14/2017	4:28:15 PM	Net error: An existing connection was forcibly closed by the remote host.
19.000000	1.000000	12/14/2017	4:29:08 PM	Соединение установлено
20.000000	1.000000	12/14/2017	4:29:25 PM	err: callback_OnQuote _ 
21.000000	3.000000	12/14/2017	4:31:02 PM	Net error: An existing connection was forcibly closed by the remote host.
22.000000	3.000000	12/14/2017	4:31:25 PM	Вы уже работаете в системе
23.000000	3.000000	12/14/2017	4:31:34 PM	Net error: An existing connection was forcibly closed by the remote host.
24.000000	3.000000	12/14/2017	4:32:08 PM	Вы уже работаете в системе
25.000000	3.000000	12/14/2017	4:33:39 PM	Net error: An existing connection was forcibly closed by the remote host.
26.000000	1.000000	12/14/2017	4:34:36 PM	Соединение установлено
27.000000	1.000000	12/14/2017	4:34:39 PM	err: callback_OnQuote _ 
28.000000	1.000000	12/14/2017	4:34:46 PM	err: callback_main _ Luacpp entity get: typecheck failed (Lua type at stack index -1 is function; content as string: <Oops, got null from Lua when tried to get actual content as string>)
29.000000	3.000000	12/14/2017	4:34:46 PM	LuaVM closed with error
30.000000	3.000000	12/14/2017	4:35:06 PM	Net error: An existing connection was forcibly closed by the remote host.
31.000000	3.000000	12/14/2017	4:35:12 PM	Вы уже работаете в системе
32.000000	3.000000	12/14/2017	4:35:22 PM	Net error: An existing connection was forcibly closed by the remote host.
33.000000	1.000000	12/14/2017	4:35:30 PM	Соединение установлено