<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Как быть с ошибками вида &quot;function: 94A71D38&quot;]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Как быть с ошибками вида &quot;function: 94A71D38&quot; форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 08 May 2026 14:03:05 +0300</pubDate>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8970/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			напишите свою dll для получения времени с квантом в 0.1 мкс c использованием RDTSC<br />и не будет заморочек с socket. <br />
			<i>24.09.2015 16:25:50, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8970/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8970/topic953/</guid>
			<pubDate>Thu, 24 Sep 2015 16:25:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8967/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Можно добавить логирование непосредственно перед вызовом функции из socket:<br />
====code====
<pre>function getTime()
&nbsp;&nbsp;toLog("Определяем текущее время...")
&nbsp;&nbsp;local Time = socket.gettime()
&nbsp;&nbsp;toLog("Текущее время: "..Time)
&nbsp;&nbsp;return Time
end</pre>
=============
Тогда при возникновении подобной ошибки будет ясно, виноват ли в этом socket.<br />Ну и держите нас в курсе &nbsp; ;-) &nbsp;, бо я думал, что с работой функции socket.gettime у QUIK давно нет проблем. <br />
			<i>24.09.2015 13:38:14, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8967/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8967/topic953/</guid>
			<pubDate>Thu, 24 Sep 2015 13:38:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8962/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это хорошо, что Вам удалось воспроизвести ошибку. Только я не понял, это недоработка в QUIK или ошибка в Lua.<br /><br /><br />====quote====<br />Попробуйте на время избавиться от использования socket, если она Вам нужна только для получения системного времени, и понаблюдать за поведением.<br />=============<br />Мне в программе нужно получать время с точностью до миллисекунд. У луа стандартная функция os.time() не даёт миллисекунд. Если бы в QLua была функция gettime() с миллисекундами, то можно было бы обойтись и без socket. <br />
			<i>24.09.2015 12:20:45, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8962/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8962/topic953/</guid>
			<pubDate>Thu, 24 Sep 2015 12:20:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8957/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Удалось воспроизвести ситуацию.<br />Для воспроизведения была специально написана dll, которая кидает исключение в экспортируемой функции.<br /><br />
====code====
<pre>except = require('except')

function logger_error(str)
&nbsp;&nbsp;message(tostring(str))
end


function bad1()
&nbsp;&nbsp;&nbsp;x = except.zero_divizion()
&nbsp;&nbsp;&nbsp;return x
end

function bad2()
&nbsp;&nbsp;&nbsp;x = except.null_pointer()
&nbsp;&nbsp;&nbsp;return x
end

function err_handler(err)
&nbsp;&nbsp;logger_error("Logger: " .. tostring(err))
&nbsp;&nbsp;logger_error(debug.traceback())
end
function main()
&nbsp;&nbsp;&nbsp;res, msg = xpcall(bad1, err_handler)

&nbsp;&nbsp;&nbsp;if not res and msg then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger_error("call bad1: " .. tostring(msg))
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;res, msg = xpcall(bad2, err_handler)

&nbsp;&nbsp;&nbsp;if not res and msg then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger_error("call bad2: " .. tostring(msg))
&nbsp;&nbsp;&nbsp;end
end
 </pre>
=============
результат выполнения в QUIK (стандартная Lua.exe просто разваливается)<br /><img src="http://i.imgur.com/iJq6o9U.png" alt="Пользователь добавил изображение" border="0" /><br /><br />При выполнении xpcall первой на стек кладется функция-обработчик ошибок. При возникновении критической ошибки, в данном случае ACCESS VIOLATION, работа завершается и мы наблюдаем вот такую картину.<br />Попробуйте на время избавиться от использования socket, если она Вам нужна только для получения системного времени, и понаблюдать за поведением. <br />
			<i>24.09.2015 09:35:02, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8957/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8957/topic953/</guid>
			<pubDate>Thu, 24 Sep 2015 09:35:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8954/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Код прислать не могу, т.к. политика безопасности не позволяет. Как написать короткий провоцирующий код, мне пока неясно, т.к. источник проблемы непонятен.<br /><br />Исходя из того, что пишется в лог, происходит следующее.<br />1) При выполнении кода ... возникает ошибка, но почему-то до обработчика ошибок дело не доходит, иначе в логе было бы как минимум две строки: причина ошибки + трасса стека.<br />2) Обработчик ошибок ничего не возвращает, поэтому по спецификации луа переменная errMessage должна быть nil.<br />3) Однако, функция xpcall возвращает в качестве результатов пару false, "function: 94A71D38", поэтому срабатывает if и в лог печатается одна строка.<br /><br />Выглядит это как внутренняя ошибка луа-машины, поскольку спецификация не соблюдена, а внутри своего кода я использую только стандартный луа-код (без dll, C API и пр.) и одну библиотеку Socket для получения времени с помощью функции gettime(). Возможно, что ошибка произошла при попытке вызвать обработчик ошибок, и так проявилась. Возможно, что это какой-то компьютерный сбой, не относящийся к QUIK и луа.<br /><br />Я могу парсить errMessage и если он имеет вид "function.*", то выводить в свой лог ещё какие-то подробности о внутренностях луа-машины. Только я не знаю, что именно надо выводить. Если есть предложения -- напишите.<br /><br />В остальном, предлагаю поставить эту тему на паузу до повторной эскалации. В сравнении с этой ошибкой в последнее время глюки биржи идут заметно чаще и доставляют больше проблем. <br />
			<i>24.09.2015 07:28:58, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8954/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8954/topic953/</guid>
			<pubDate>Thu, 24 Sep 2015 07:28:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8953/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_lbt1OEk9" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> пишет: <br />Вряд ли без помощи разработчиков QUIK и сохранения ошибок луа-машины в некий дамп можно что-то конструктивное сделать. (В Java, например, если виртуальная машина по какой-то причине падает с внутренней ошибкой, пишется некий err-файл, где хоть какие-то подробности приводятся.)<br /><br />=============<br />Без примера кода не получится разобраться. Я, например, не смог за разумное время повторить ошибку. Можете прислать код целиком, это тоже поможет в разборе.<br />Сохранять "дамп" не такая тривиальная задача как кажется. Например, как быть с различными данными типа userdata? Байт-код, состояние переменных и таблиц можно сохранить самому, все средства для этого у пользователя есть. <br />
			<i>24.09.2015 05:38:40, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8953/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8953/topic953/</guid>
			<pubDate>Thu, 24 Sep 2015 05:38:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8952/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ICfqq4KV" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> пишет: <br />В первом сообщении темы написан фрагмент функции main(). В скрипте только один xpcall, перехватывающий ошибки на самом последнем уровне. Вместо многоточия идут вызовы инициализации скрипта, цикл while is_running, закрытие ресурсов. Поэтому предоставить содержательный код не могу.<br /><br />Было бы неплохо при таком как у меня падении скрипта, создавать что-то типа dump-файла с внутренним состоянием lua-машины, чтобы разработчики могли хоть как-то понять, что пошло не так.<br /><br />=============<br />Наверное всё-таки придется написать короткий код с провокацией ошибки. Иначе с чем разработчиками разбираться? <br />
			<i>23.09.2015 22:39:45, green_X5.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8952/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8952/topic953/</guid>
			<pubDate>Wed, 23 Sep 2015 22:39:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8933/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Y0f7oC4c" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> пишет: <br />Применяется только gettime() из библиотеки Socket. Остальное всё самописное.<br /><br />=============<br />Самописное в Lua-коде?<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_ECRQ5D8d" href="/user/62/" bx-tooltip-user-id="62">Николай Камынин</a> пишет: <br />попробуйте убратьсвой перехват ошибок.<br />возможно тогда ошибка вывалится в dump,<br /> либо получите больше сообщений из перехвата луа машины.<br /><br />=============<br />Возможно действительно без xpcall получите больше информации об ошибке, и будет понимание, где искать.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_sjnVzi2o" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> пишет: <br />Такой вариант не удобен, т.к. свои ошибки тоже нужно контролировать с подробностями (трасса стека не пишется в окно об ошибках скриптов).<br /><br />=============<br />Код всё ещё модифицируется? Или не все "блохи отловлены"?<br />В любом случае, после того, как найдёте причину возникновения ошибки, вернёте xpcall. <br />
			<i>23.09.2015 08:30:24, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8933/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8933/topic953/</guid>
			<pubDate>Wed, 23 Sep 2015 08:30:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8930/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_rtgP0JKO" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> пишет: <br />В скрипте используются какие-то сторонние библиотеки?<br />Так при использовании сторонних библиотек, скрипты в QUIK иногда могут падать с ошибкой "Unknown error."<br /><br />=============<br />Применяется только gettime() из библиотеки Socket. Остальное всё самописное.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_gd6BrQ2m" href="/user/62/" bx-tooltip-user-id="62">Николай Камынин</a> пишет: <br />попробуйте убрать свой перехват ошибок.<br />возможно тогда ошибка вывалится в dump,<br /> либо получите больше сообщений из перехвата луа машины.<br /><br />=============<br />Такой вариант не удобен, т.к. свои ошибки тоже нужно контролировать с подробностями (трасса стека не пишется в окно об ошибках скриптов).<br /><br />Вряд ли без помощи разработчиков QUIK и сохранения ошибок луа-машины в некий дамп можно что-то конструктивное сделать. (В Java, например, если виртуальная машина по какой-то причине падает с внутренней ошибкой, пишется некий err-файл, где хоть какие-то подробности приводятся.) <br />
			<i>23.09.2015 06:40:39, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8930/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8930/topic953/</guid>
			<pubDate>Wed, 23 Sep 2015 06:40:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8928/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_8O7IOMZy" href="/user/62/" bx-tooltip-user-id="62">Николай Камынин</a> пишет: <br />еще можно попытаться найти function: 94A71D38 в таблицах луа машины:<br /><br />=============<br />Полагаю ID функций меняется при каждом новом запуске скрипта. <br />
			<i>22.09.2015 19:22:31, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8928/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8928/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 19:22:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8926/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			еще можно попытаться найти function: 94A71D38 в таблицах луа машины: <br />
			<i>22.09.2015 18:08:03, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8926/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8926/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 18:08:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8925/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			попробуйте убрать &nbsp;свой перехват ошибок.<br />возможно тогда ошибка вывалится в dump,<br /> либо получите больше сообщений из перехвата луа машины. <br />
			<i>22.09.2015 18:06:07, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8925/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8925/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 18:06:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8909/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В скрипте используются какие-то сторонние библиотеки?<br />Так при использовании сторонних библиотек, скрипты в QUIK иногда могут падать с ошибкой "Unknown error." <br />
			<i>22.09.2015 13:19:13, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8909/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8909/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 13:19:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8891/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В первом сообщении темы написан фрагмент функции main(). В скрипте только один xpcall, перехватывающий ошибки на самом последнем уровне. Вместо многоточия идут вызовы инициализации скрипта, цикл while is_running, закрытие ресурсов. Поэтому предоставить содержательный код не могу.<br /><br />Было бы неплохо при таком как у меня падении скрипта, создавать что-то типа dump-файла с внутренним состоянием lua-машины, чтобы разработчики могли хоть как-то понять, что пошло не так. <br />
			<i>22.09.2015 07:38:13, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8891/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8891/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 07:38:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8889/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Реальный кусок кода с xpcall, который возвращает такую диагностику, можете привести ? <br />
			<i>22.09.2015 07:23:32, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8889/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8889/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 07:23:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8888/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Версия терминала 6.17.3.6. Ошибка возникла при торговле на десятке счетов при параллельной работе порядка 8 скриптов. Пример кода я предоставить не могу: реально эксплуатирующуюся систему показать невозможно, а модельного кода, где воспроизводится ошибка, у меня нет. <br />
			<i>22.09.2015 07:18:24, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8888/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8888/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 07:18:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8887/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br />Для понимания нужен пример кода и версия терминала, на которой повторяется проблема. <br />
			<i>22.09.2015 07:01:57, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8887/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8887/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 07:01:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8884/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4V21BF4P" href="/user/62/" bx-tooltip-user-id="62">Николай Камынин</a> пишет: <br />по-моему это ошибка не квик, а луа скрипта, либо ,в крайнем случае , луа машины.<br />у меня так не падает, поэтому делаю вывод, что проблема в Вашем скрипте.<br /><br />=============<br />Похоже, что это ошибка луа-машины. Выяснить бы, что является причиной: ошибки в самой луа-машине или недоработки в реализации связки QUIK + LUA. Во втором случае можно было бы надеяться на то, что такие недоработки будут исправлены. Жаль, что разработчики QUIK молчат по первому вопросу этой темы. Наверное, действительно, ничем не могут помочь. <br />
			<i>22.09.2015 05:43:52, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8884/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8884/topic953/</guid>
			<pubDate>Tue, 22 Sep 2015 05:43:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8827/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			по-моему это ошибка не квик, а луа скрипта, либо ,в крайнем случае , луа машины.<br />у меня так не падает, поэтому делаю вывод, что &nbsp;проблема в Вашем скрипте. <br />
			<i>20.09.2015 18:11:47, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8827/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8827/topic953/</guid>
			<pubDate>Sun, 20 Sep 2015 18:11:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как быть с ошибками вида &quot;function: 94A71D38&quot;</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message8819/topic953/">Как быть с ошибками вида &quot;function: 94A71D38&quot;</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В моих скриптах реализован перехват ошибок и печать информации об их причинах следующим образом:<br /><br />
====code====
<pre>local status, errMessage = xpcall(function()
...
end, function(err)
&nbsp;&nbsp;logger:error(tostring(err))
&nbsp;&nbsp;logger:error(debug.traceback())
end)
if not status and errMessage ~= nil then
&nbsp;&nbsp;logger:error(errMessage)
end</pre>
=============
<br />В обычных ситуациях возникновения ошибок по вине программиста в лог печатается информация об ошибке и трасса стека типа:<br /><br />
====code====
<pre>2015-09-01 12:00:00.123 &#91;ERROR&#93; D:&#92;Quik&#92;lua&#92;ScriptName.lua:123: Attempt to call method 'MethodName' (a nil value).
2015-09-01 12:00:00.123 &#91;ERROR&#93; stack traceback:
.....
</pre>
=============
<br />Иногда (скажем, раз в неделю) скрипты падают с сообщениями вида:<br /><br />
====code====
<pre>2015-09-01 12:00:00.123 &#91;ERROR&#93; function: 94A71D38</pre>
=============
Поскольку трассы стека нет и сообщение об ошибке весьма краткое, полагаю, что это внутренняя ошибка QUIK. Как быть с ошибками такого вида? В идеале хотелось бы понять, что их вызывает и как быть, чтобы их больше не было.<br /><br />Воспроизведение таких ошибок, по-видимому, весьма проблематично.<br /><br />Разработчики QUIK могут как-нибудь помочь в этом деле? <br />
			<i>19.09.2015 07:42:09, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message8819/topic953/</link>
			<guid>http://forum.quik.ru/messages/forum10/message8819/topic953/</guid>
			<pubDate>Sat, 19 Sep 2015 07:42:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
