Firebird-1.5.2.4731-Win32 не доступен по TCP/IP

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
Mikael
Сообщения: 9
Зарегистрирован: 01 мар 2005, 11:24

Firebird-1.5.2.4731-Win32 не доступен по TCP/IP

Сообщение Mikael » 11 окт 2005, 10:56

Коллеги, подскажите как быть, идеи закончились.

Firebird-1.5.2.4731-Win32 в режиме классик установлен на 2-х процессорный сервер Win2000 SP4. После того как были принудительно закрыты длительно висящие процессы, сервер стал отвергать подключения по TCP/IP с сообщением в логе

Код: Выделить всё

	INET/inet_error: read errno = 10038

по NETBEUI все работает. Перезагрузка и переустановка сервера не помогает.
также не помогает смена порта используемого сервером.
Пришлось установить его на другой сервер, где он проработал какое-то время. Но потом пришлось опять убить процессы которые продолжают висеть даже после остановки сервера и с ним случилась та же беда.
В режиме суперсервера доступ по TCP/IP работает, но все очень сильно тормозит.
Файерволов или других фильтров пакетов на сервере нет. Переустановка операционки не представляется возможной. Все остальное прекрасно работает по TCP/IP. Проблема только с сервером Firebird.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 окт 2005, 11:05

копайте system log и вообще на предмет фатальных ошибок tcp и всяких проксей, установленных на сервер. Закрытие процессов классика никак не может повлиять на работу tcp системы.

Mikael
Сообщения: 9
Зарегистрирован: 01 мар 2005, 11:24

Сообщение Mikael » 11 окт 2005, 11:40

kdv писал(а):копайте system log и вообще на предмет фатальных ошибок tcp и всяких проксей, установленных на сервер. Закрытие процессов классика никак не может повлиять на работу tcp системы.
Повторюсь еще раз, на сервере нет пркоси и файерволов тоже нет. TCP система исправно работает. Во всяком случае сервер MSSQL прекрасно на этой же машине работает по TCP и также по TCP работает и Firebird в режиме суперсервера. А именно в конфигурации классик по TCP он недоступен.
Проблема с TCP возникла именно после удаления процессов которые продолжали висеть после остановки самого сервера. Причем на обоих серверах.

Mikael
Сообщения: 9
Зарегистрирован: 01 мар 2005, 11:24

Сообщение Mikael » 11 окт 2005, 11:51

kdv писал(а):копайте system log и вообще на предмет фатальных ошибок tcp и всяких проксей, установленных на сервер. Закрытие процессов классика никак не может повлиять на работу tcp системы.
Специально очистил все логи, перезапустил сервер Firebird. Эффект тот же и в системных логах ничего нового не появилось.

Mikael
Сообщения: 9
Зарегистрирован: 01 мар 2005, 11:24

Сообщение Mikael » 11 окт 2005, 12:20

Забыл указать сообщение которое возникает при попытке коннекта:
после сообщения о том что не удается подключиться к серверу
(Unable to complete network request to host "fserver".
Failed to esteblish connection.) следует сообщение
системе не удается найти указанный параметр среды.
При коннекте по NetBeui все подключается отлично и работает.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 окт 2005, 13:14

чего в firebird.log пишет? кроме 10038.

видишь ли, тут проблемы может быть только две
1. испортились (побились, такое редко но бывает) файлы дистрибутива FB.
2. что-то окривело в системе.
3. "перенастроил" firebird.conf

я сейчас тоже сижу на Win2000, и могу тебе зараз запустить FB 1.5.2 Classic, без проблем. Ты ж понимаешь, что если он раньше работал, а потом перестал, это или внешнее воздействие, или последствия неправильных изменений в firebird.conf. Никаких других причин быть не может.

p.s. для примера рекомендую посмотреть www.ibase.ru/devinfo/inst_manual.htm . В инсталляции FB нет ничего такого, что может поломаться и привести к неработе по tcp.

Mikael
Сообщения: 9
Зарегистрирован: 01 мар 2005, 11:24

Сообщение Mikael » 11 окт 2005, 13:41

kdv писал(а):чего в firebird.log пишет? кроме 10038.

видишь ли, тут проблемы может быть только две
1. испортились (побились, такое редко но бывает) файлы дистрибутива FB.
2. что-то окривело в системе.
3. "перенастроил" firebird.conf

я сейчас тоже сижу на Win2000, и могу тебе зараз запустить FB 1.5.2 Classic, без проблем. Ты ж понимаешь, что если он раньше работал, а потом перестал, это или внешнее воздействие, или последствия неправильных изменений в firebird.conf. Никаких других причин быть не может.

p.s. для примера рекомендую посмотреть www.ibase.ru/devinfo/inst_manual.htm . В инсталляции FB нет ничего такого, что может поломаться и привести к неработе по tcp.
1. Дистрибутив живой, т.к. после того как проблема возникла на одном сервере, я ставил его же не другой и там какое-то время все работало (ставлю вот это Firebird-1.5.2.4731-Win32.exe).
2. То что в системе что-то окривело может быть, но почему тогда все остальное работает по TCP/IP (в том числе и firebird в режиме суперсервера) и как понять что окривело.
3. firebird.conf править действительно пробовал, но только после того как все перестало работать. Пробовал полностью стирать папку куда устанавливался firebird. Создавалось все с нуля, а проблема оставалась.
В логе ничего кроме

Код: Выделить всё

FSERVER	Tue Oct 11 12:11:30 2005
	INET/inet_error: read errno = 10038
не пишет. Проблема возникла на первом и на втором сервере именно после остановки сервера и удаления висящих процессов.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 окт 2005, 13:49

То что в системе что-то окривело может быть, но почему тогда все остальное работает по TCP/IP (в том числе и firebird в режиме суперсервера) и как понять что окривело.
у нас в саппорте больше полугода назад был аналогичный случай. По необъяснимым причинам перестал работать Классик, Супер при этом работал. Через неделю (!) обнаружилось, что на терминальном сервере в одной из сессий кто-то включил клиента WinProxy, чем заблокировал работу Классика.
Классик же при запуске первым процессом fb_inet_server слушает порт 3050, и по приходу коннектов перекидывает их на новые запускаемые процессы (свои же, fb_inet_server). Если он не может перекинуть сокет на новый процесс - возникает именно вот такая фигня.

Не давать ему перекинуть сокет на новый процесс может только некая фигня, которая мониторит или перехватывает tcp на сервере.

Обычно подобные вопросы решаются, когда админ вскрикнет @#$!!! и стукнет себя по лбу, вспомнив про установку какого-либо софта на этот сервер, или, когда он обнаружит нечто, установленное или измененное на сервере без его ведома.
Мы бы (на support) уже ставки могли делать на таких вещах, и только на них неплохо зарабатывать :)....

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 11 окт 2005, 14:04

У меня один раз, давно, ещё на RH 6.3, была такая фигня - ночной крон процессы покилял, а их сокеты остались висеть бесхозными. База тогда запоролась при копировании, кстати. Может и могут помешать установлению последующих соединений, у меня ребут был в конце на автомате, так что ничего не могу сказать по этому поводу внятного.

Mikael
Сообщения: 9
Зарегистрирован: 01 мар 2005, 11:24

Сообщение Mikael » 11 окт 2005, 14:08

у нас в саппорте больше полугода назад был аналогичный случай. По необъяснимым причинам перестал работать Классик, Супер при этом работал. Через неделю (!) обнаружилось, что на терминальном сервере в одной из сессий кто-то включил клиента WinProxy, чем заблокировал работу Классика.
Классик же при запуске первым процессом fb_inet_server слушает порт 3050, и по приходу коннектов перекидывает их на новые запускаемые процессы (свои же, fb_inet_server). Если он не может перекинуть сокет на новый процесс - возникает именно вот такая фигня.

Не давать ему перекинуть сокет на новый процесс может только некая фигня, которая мониторит или перехватывает tcp на сервере.
Спасибо за совет. Попробую поискать в этом направлении. Смущает меня только то что никакие настройки не менялись, убил висящие процессы и все перестало работать, такое ощущение что где-то что-то застряло и не дает работать. Причем один раз из такого состояния я сервер все же вывел, снес firebird и вычистил все что от него осталось в system32 и во временных папках, но в этот раз это не помогает. Попробую еще снести firewall client от ISA сервера. Хотя как до, так и после он был в отключенном состоянии. Правда перезапустить сервак можно будет только вечером. О результатах сообщу.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 окт 2005, 15:19

Попробую еще снести firewall client
однако. это что - "стандартное" для W2K ПО, не имеющее отношение к сети?

другой случай, тоже недавний, правда, так и оставшийся невыясненным.
WinXP SP1/SP2 (firewall выключен).
В произвольные моменты перестает коннектиться к серверу, более того, пишет что gethostbyname failed. Машинка ушла к поставщику в тест, вместо нее поставлена другая - все ОК. Судя по всему, все тесты упомянутый комп прошел успешно. Переставляли операционку раза 4. К сожалению, воочию я этого компа не видел.

Mikael
Сообщения: 9
Зарегистрирован: 01 мар 2005, 11:24

Сообщение Mikael » 11 окт 2005, 15:40

Действительно помогло, даже без перезагрузки сервака. Попробовал на втором серваке сменить порт и он законнектился. А потом и на стандартном тоже. На основном тоже заработал после переустановки. Странно что до этого все работало и в этой конфигурации.
Огромное спасибо за помощь и за разьяснение принципов работы сервера Firebird.

Ответить