Страница 1 из 1
зависание приложения при FreeLibrary
Добавлено: 21 мар 2006, 13:34
kdv
тут человек мне звонит, проблема следующая:
Delphi 5 SP1, FIBPlus последний, FB 1.02 (или 1.03).
Приложение на его машине (неделю назад) начало "зависать" при закрытии. Виснет при FreeLibrary gds32.dll.
На других машинах проблемы нет.
Он все переустановил - проблема присутствует.
Операционку, правда, не помню. Events не использует.
Я ему посоветовал поставить клиента от FB 1.5, но не думаю, что проблема в этом. ProcExplorer-ом смотреть невыгружающиеся dll тоже советовал.
Что еще можно порекомендовать?
p.s. посоветовал еще попробовать пустое приложение (с нуля), с IBDatabase.Open/Close.
Re: зависание приложения при FreeLibrary
Добавлено: 21 мар 2006, 14:43
v6y
kdv писал(а):т
Он все переустановил - проблема присутствует.
Все - это включая саму ось?
Я подобное наблюдал после виндовых обновлений и вирусных атак. Помогла только полная переустановка Винды с форматированием диска.
Добавлено: 21 мар 2006, 14:55
kdv
гм. может быть... у меня тут установленная WinXP SP2 на тот же винт что и W2K издохла, вроде как после очередного автообновления. Классика - при загрузке синий экран с ошибкой 000021a или как там ее. Не лечится ничем.
Re: зависание приложения при FreeLibrary
Добавлено: 21 мар 2006, 14:57
andy_ax
я тот человек, который звонил

, небольшие пояснения проблемы:
разрабатывалась прога на D5, sp1, Fibplus 5.3, WinXP sp2 rus, Firebird-1.0.3.972,
все шло своим чередом .. в силу обстоятельств решил перейти на D6, поставил, начал переносить приложения и и заметил что оно не выгружается, в пошаговом выполнении завершения доходил до модуля IB_Intfl, procedure TIBClientLibrary.FreeIBLibrary;
и на строке FreeLibrary(FLibraryHandle); - виснем
сделал пустое тестовое приложения, одна форма, только TpFIBDatabase, с указанным путем вида
localhost:C:\D5\MyProg\Test2_empty\TEST.GDB
на onCreate формы - открываем, на onClose - закрывем, затем пошаговое выполнение и опять висим в том же месте
если заменить компонент на IBX то висним сразу после DB.Close
купил следушую. FibPlus 6.4 - не помогло
далле: есть виртуальная машина где только D6, WinXp, FibPlus 6.4 на ней скомпилированный тест работает как надо
снес все со своей машины, сделал даже волшебное format c:
на чистой машине (только winXP) тест работал, все выгружалось, установил всю среду D5 как было, даже лишнее повыкидвал... и опять тест не выгружается
автоматическое восстановление отключено, вариант с подменой gds32 на клиента от FB1.5 пробовал.. не помогает..
ЧТО ЖЕ ДЕЛАТЬ ? !
Добавлено: 21 мар 2006, 15:11
kdv
да, еще - "виснет" только по tcp, но не через локальный коннект, как я понял.
Добавлено: 21 мар 2006, 15:34
andy_ax
да, если указать локальный коннект то все работает ...
Добавлено: 21 мар 2006, 15:37
hvlad
kdv писал(а):да, еще - "виснет" только по tcp, но не через локальный коннект, как я понял.
Процессор грузится ? Сокет занят ?
Re: зависание приложения при FreeLibrary
Добавлено: 21 мар 2006, 15:40
andy_ax
v6y писал(а):kdv писал(а):т
Я подобное наблюдал после виндовых обновлений и вирусных атак. Помогла только полная переустановка Винды с форматированием диска.
хм... а вот как раз в виртульной машине, где все работает стоит чистая винда с sp2, установчный образ был сделан еще с полгода ато и больше назад, а на ноуте стоят ВСЕ майкрософтовские обновления, и сегодня после полной переустановки опять все залил с майкрософта , моежт тут что неладное кроется ?
Добавлено: 21 мар 2006, 16:27
Ivan_Pisarevsky
установил всю среду D5
Она случайно не подкинула клиента интебейза, там вроде в комплекте шел какой-то доисторический...
вариант с подменой gds32 на клиента от FB1.5 пробовал.. не помогает..
а ты попробуй после дельфей снести фб, руками вычистить gds32.dll, потом фб проинсталлировать обратно целиком.
Добавлено: 22 мар 2006, 06:48
andy_ax
[/quote] а ты попробуй после дельфей снести фб, руками вычистить gds32.dll, потом фб проинсталлировать обратно целиком.[/quote]
во-первых клиента от IB при установке делфей ни 5 ни 6 я не ставил, ФБ ставил отдельно, gds32 от 1.0 вычищал руками и менял на 1.5, не помогает .....

Re: зависание приложения при FreeLibrary
Добавлено: 27 мар 2006, 15:41
OX
andy_ax писал(а):я тот человек, который звонил

!
Была аналогичная проблема при динамической загрузке сторонней DLL. Если сначала делал FreeLibrary(нехорошая Dll), потом дисконнект от базы, то подвисал как раз на FreeLibrary в gds32.dll. Если сначала дисконнект, а только после этого FreeLibrary, то все OK.
Re: зависание приложения при FreeLibrary
Добавлено: 28 мар 2006, 06:44
andy_ax
У меня как раз сначала дисконнект, потом даже FormConnect.Free (yf ней все компоненты коннекта а потом уже идет FreeLibrary
Кто-то здесь говорил что проблема может быть в апдейтах от майкрософт.. Я склоняюсь к тому что тот человек прав. На виртуальной машине где все работает нормально стоит WinXP sp2 и никаких доп патчей, на рабочей же машине стоит автоматическое обновление и соответственно все патчи от макрософт.. При установке чистой системы проверял работоспособность теста сразу после наката системы но до наката патчей...
Если будет возможность провести следствие при новой установке системы - сообщу

Добавлено: 05 фев 2008, 14:30
Ksepa
Аналогичная проблема. Что решения так и не найдено?
Добавлено: 05 фев 2008, 17:46
kdv
какое решение? топику два года.