<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Утечка памяти при использовании SetUpdateCallback]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Утечка памяти при использовании SetUpdateCallback форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 25 Apr 2026 22:54:38 +0300</pubDate>
		<item>
			<title>Утечка памяти при использовании SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message60227/topic6692/">Утечка памяти при использовании SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день,<br /><br /><p>Описанная в данном инциденте проблема была исправлена в версии терминала 9.3.3.<br /> Рекомендуем вам обновить версию ПО.<br /> Приносим извинения за причиненные неудобства.</p><p></p><br />====quote====<br /><a class="blog-p-user-name" id="bp_pOiBSqW5" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br /> 
====code====
<pre>&nbsp;&nbsp; local&nbsp;&nbsp;class, sec_code&nbsp;&nbsp;=&nbsp;&nbsp; "SPBFUT" ,&nbsp;&nbsp;"SiU1" 

 local&nbsp;&nbsp;run&nbsp;&nbsp;=&nbsp;&nbsp; true 
 function&nbsp;&nbsp; OnStop ()
&nbsp;&nbsp;run&nbsp;&nbsp;=&nbsp;&nbsp; nil 
 end 

 function&nbsp;&nbsp; main ()
&nbsp;&nbsp; local&nbsp;&nbsp;ds&nbsp;&nbsp;=&nbsp;&nbsp;assert( CreateDataSource (class, sec_code,&nbsp;&nbsp;1 ))
&nbsp;&nbsp;ds: SetUpdateCallback ( function&nbsp;&nbsp;(index)
&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;index&nbsp;&nbsp;&#60;&nbsp;&nbsp;ds: Size ()&nbsp;&nbsp;then&nbsp;&nbsp; return&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp; for&nbsp;&nbsp;i&nbsp;&nbsp;=&nbsp;&nbsp; 1 , index&nbsp;&nbsp;do 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:T(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:O(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:H(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:L(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:C(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:V(i)
&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp; end )
&nbsp;&nbsp; while&nbsp;&nbsp;run&nbsp;&nbsp;do&nbsp;&nbsp; sleep ( 1000 )&nbsp;&nbsp;end 
 end&nbsp;&nbsp; </pre>
=============
 <br />За несколько минут объём занимаемой скриптом памяти вырастает с 300 Кб до Гигабайтов.<br /><br />Если график раннее не заказывался и убрать строку 
====code====
<pre>&nbsp;&nbsp; if&nbsp;&nbsp;index&nbsp;&nbsp;&#60;&nbsp;&nbsp;ds: Size ()&nbsp;&nbsp;then&nbsp;&nbsp; return&nbsp;&nbsp; end&nbsp;&nbsp; </pre>
=============
 , то сразу при запуске будет 2Гб.<br />=============<br /> <br />
			<i>13.12.2021 10:18:40, Daniil Pozdnyakov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message60227/topic6692/</link>
			<guid>http://forum.quik.ru/messages/forum10/message60227/topic6692/</guid>
			<pubDate>Mon, 13 Dec 2021 10:18:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Утечка памяти при использовании SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message59332/topic6692/">Утечка памяти при использовании SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br /> <br /> Действительно, в ПО QLUA есть ошибка работы SetUpdateCallback, приводящая к чрезмерному потреблению памяти. Мы исправим ошибку в очередном обновлении ПО. Приносим извинения за причинённые неудобства. <br />
			<i>02.11.2021 16:08:03, Alexey Ivannikov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message59332/topic6692/</link>
			<guid>http://forum.quik.ru/messages/forum10/message59332/topic6692/</guid>
			<pubDate>Tue, 02 Nov 2021 16:08:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Утечка памяти при использовании SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57867/topic6692/">Утечка памяти при использовании SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте <a class="blog-p-user-name" id="bp_1C1NUhkG" href="/user/54/" bx-tooltip-user-id="54">Старатель</a>, <br />Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ. <br />
			<i>10.09.2021 05:22:38, Sergey Hlynovskii.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57867/topic6692/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57867/topic6692/</guid>
			<pubDate>Fri, 10 Sep 2021 05:22:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Утечка памяти при использовании SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57811/topic6692/">Утечка памяти при использовании SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			QUIK 9.1.3.11<br /><br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>Тег: BUG</td></tr></tbody></table> <br />
			<i>07.09.2021 09:37:47, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57811/topic6692/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57811/topic6692/</guid>
			<pubDate>Tue, 07 Sep 2021 09:37:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Утечка памяти при использовании SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message57810/topic6692/">Утечка памяти при использовании SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			====code====
<pre>local class, sec_code = "SPBFUT", "SiU1"

local run = true
function OnStop()
&nbsp;&nbsp;run = nil
end

function main()
&nbsp;&nbsp;local ds = assert(CreateDataSource(class, sec_code, 1))
&nbsp;&nbsp;ds:SetUpdateCallback(function (index)
&nbsp;&nbsp;&nbsp;&nbsp;if index &#60; ds:Size() then return end
&nbsp;&nbsp;&nbsp;&nbsp;for i = 1, index do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:T(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:O(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:H(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:L(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:C(i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:V(i)
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end)
&nbsp;&nbsp;while run do sleep(1000) end
end</pre>
=============
<br />За несколько минут объём занимаемой скриптом памяти вырастает с 300 Кб до Гигабайтов.<br /><br />Если график раннее не заказывался и убрать строку
====code====
<pre>if index &#60; ds:Size() then return end</pre>
=============
, то сразу при запуске будет 2Гб. <br />
			<i>07.09.2021 08:54:05, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message57810/topic6692/</link>
			<guid>http://forum.quik.ru/messages/forum10/message57810/topic6692/</guid>
			<pubDate>Tue, 07 Sep 2021 08:54:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
