Re: Firebird-2.0.6.13266_0_win32 Исключе ние C0000005 ACCESS_VIOLATION

2010-08-09 Пенетрантность Arioch
В письме от Mon, 09 Aug 2010 16:07:51 +0400, Khorsun Vlad  
hv...@optima.com.ua сообщал:




Я глубоко не вникал.


там получается у процедуры внутренняя переменная частично сохраняет  
состояние между вызовами.
Причём странное какое-то состояние, не значение, а какой-то внутренний  
флаг -  NULL она или мусор вместo NULL


Если оно отличается от  
http://tracker.firebirdsql.org/browse/CORE-2204,

то заноси. Адриано ответит.


вроде отличается, дня через три занесу, пока уезжаю.
Все равно в релизе не успеется поправить :-)

--
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/



Re: Firebird-2.0.6.13266_0_win32 Исключе ние C0000005 ACCESS_VIOLATION

2010-08-07 Пенетрантность Arioch
В письме от Fri, 06 Aug 2010 10:58:31 +0400, Khorsun Vlad  
hv...@optima.com.ua сообщал:




Хорсун Влад

PS Опять мне вносить ?..



посмотри plz http://comments.gmane.org/gmane.comp.db.firebird.russian/38389

я на rc3 ещё не проверял

но по-моему - то тоже баг, как думаешь (вариант без type of)

согласен? заносить стоит ?

--
Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/



Re: Firebird-2.0.6.13266_0_win32 Исключе ние C0000005 ACCESS_VIOLATION

2010-08-05 Пенетрантность Dmitri Kuzmenko

Hello, Tonal!

Tonal wrote:


Энто жешь на кошерном Делфи код. Функция IIF где-то в 6-7 ке появилась.


IIF? В Дельфи? Спаси и сохрани :-)


Хотя очень похоже, что тупо превышен лимит размера статемента и/или


так и оказалось.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Firebird-2.0.6.13266_0_win32 Исключе ние C0000005 ACCESS_VIOLATION

2010-08-04 Пенетрантность Dmitri Kuzmenko

Hello, arxange1!

arxange1 wrote:

Удалось выявить проблемный запрос, на котором падает сервер.
первое, что бросается в глаза - запрос составлен с прямой вставкой 
параметров, что не есть хорошо.

Сервер падал при большом количестве записей в переменной sDeleteLog

'UPDATE S_S_RECEIVED_PACKETS ' +
'SET WAS_APPLIED = 1, ERROR_FLAG = 0, ' +
'ERROR_LOG = ' + IIF(sDeleteLog = '', 'NULL',  + sDeleteLog + ) +
'WHERE ID = ' + IntToStr(iPacketID)


это чешуя какая-то, а не запрос. Вернее, это текст запроса в клиентском
приложении, и переменная sDeleteLog - отнюдь не серверная.
Соответственно, что тут делает IIF - нихрена не понятно.
Или где-то пропущена кавычка.

Посмотрите внимательно на две последние строки:
'ERROR_LOG = ' + IIF(sDeleteLog = ...
'WHERE ID = ' + IntToStr(iPacketID) ...


--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Firebird-2.0.6.13266_0_win32 Исключе ние C0000005 ACCESS_VIOLATION

2010-08-04 Пенетрантность Tonal
05.08.2010 00:52, Dmitri Kuzmenko пишет:
 Сервер падал при большом количестве записей в переменной sDeleteLog
 'UPDATE S_S_RECEIVED_PACKETS ' +
 'SET WAS_APPLIED = 1, ERROR_FLAG = 0, ' +
 'ERROR_LOG = ' + IIF(sDeleteLog = '', 'NULL',  + sDeleteLog + ) +
 'WHERE ID = ' + IntToStr(iPacketID)
 
 это чешуя какая-то, а не запрос. Вернее, это текст запроса в клиентском
 приложении, и переменная sDeleteLog - отнюдь не серверная.
 Соответственно, что тут делает IIF - нихрена не понятно.
 Или где-то пропущена кавычка.
Ну вот, без пальто уже и не признаёшь. :)
Энто жешь на кошерном Делфи код. Функция IIF где-то в 6-7 ке появилась.

По этому поводу может быть интересно какой именно набор компанент
используется для работы с сервером и версия дельфей.

Ну и фраза про количество записей в переменной sDeleteLog как-то не
ложится в интуиции...

По хорошему нужен полый текст, отправляемый на сервер.

Хотя очень похоже, что тупо превышен лимит размера статемента и/или
какая-то лажа с кодировкой/экранированием.
-- 
Александр Замараев