FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
Модераторы: kdv, Alexey Kovyazin
-
- Сообщения: 4
- Зарегистрирован: 09 сен 2008, 23:29
FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
Установлен FreeBSD 7
Установлен FirebirdCS-2.1.1.17910-0.i686
По документации все записи в файлах inetd.conf и services есть.
Группа и пользователь firebird - есть.
Подключение в стиле isql localhost:db есть.
Проблема.
Удаленные пользователи с других IP адресов могут подключаться только по одному.
Изначально netstat выдает:
tcp4 0 0 *.3050 *.* LISTEN
При подключении первого пользователя:
tcp4 0 10108 80.250.175.54.3050 85.202.113.40.60026 ESTABLISHED
При подключении второго пользователя из этой же локальной сети или другой сети (проверено):
tcp4 0 0 80.250.175.54.3050 85.202.113.40.63414 ESTABLISHED
tcp4 0 0 80.250.175.54.3050 85.202.113.40.60026 FIN_WAIT_2
Программы обоих пользователей на сем успешно зависают (программы типа IBExpert или любые другие).
firebird.log пишет:
INET/inet_error: read errno = 104
Вопрос - как решить проблему подключения нескольких пользователей к одному серверу? Почему подключение нового пользователя приводит к отключению уже подключенного? Как избавиться от возникновения ошибки в логе inet_error: read errno = 104 ?
Заранее спасибо!
Установлен FirebirdCS-2.1.1.17910-0.i686
По документации все записи в файлах inetd.conf и services есть.
Группа и пользователь firebird - есть.
Подключение в стиле isql localhost:db есть.
Проблема.
Удаленные пользователи с других IP адресов могут подключаться только по одному.
Изначально netstat выдает:
tcp4 0 0 *.3050 *.* LISTEN
При подключении первого пользователя:
tcp4 0 10108 80.250.175.54.3050 85.202.113.40.60026 ESTABLISHED
При подключении второго пользователя из этой же локальной сети или другой сети (проверено):
tcp4 0 0 80.250.175.54.3050 85.202.113.40.63414 ESTABLISHED
tcp4 0 0 80.250.175.54.3050 85.202.113.40.60026 FIN_WAIT_2
Программы обоих пользователей на сем успешно зависают (программы типа IBExpert или любые другие).
firebird.log пишет:
INET/inet_error: read errno = 104
Вопрос - как решить проблему подключения нескольких пользователей к одному серверу? Почему подключение нового пользователя приводит к отключению уже подключенного? Как избавиться от возникновения ошибки в логе inet_error: read errno = 104 ?
Заранее спасибо!
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
похоже, какая-то несовместимость с FreeBSD 7. Т.е. "вторые" процессы FB блокируются. Я сначала подумал на inetd.conf, но если бы там было ограничение по числу коннектов, то "вторые" процессы просто не запускались бы.
Проверить какую-нибудь более раннюю версию FB на этой же ОС можете?
p.s. или лок менеджер опять не может общаться с процессами. Впрочем, могу наговорить ерунды, т.к. не помню деталей.
Проверить какую-нибудь более раннюю версию FB на этой же ОС можете?
p.s. или лок менеджер опять не может общаться с процессами. Впрочем, могу наговорить ерунды, т.к. не помню деталей.
-
- Сообщения: 4
- Зарегистрирован: 09 сен 2008, 23:29
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
1. Поставил для сравнения FirebirdCS-2.0.4.13130-1.i686.
Скрипты установки пришлось руками править, потому что под FreeBSD не получается выполнить команду chmod root:root - группы root не существует.
Далее смотрел семафоры. Оч интересная ситуация с ними. Установка не завершается нормально, если есть семафор.
Наличие семафора определяется командой:
ipcs -s
Если семафор есть, то его надо грохнуть, пержде чем запускать установку FireBird:
ipcrm -s номер_семафора
Только после этого все ставится нормально. Но это не помогло в решении проблемы множественных подключений.
При первом же подключении возникает 1 семафор и все. Больше их нет. Может для каждого подключения должен быть свой? Тогда почему у меня постоянно один?
2. Пробовал увеличивать размеры локов памяти в firebird.conf - результат не изменился.
Люди - помогите мозгом... а то мой щас покинет бренное тело.
Скрипты установки пришлось руками править, потому что под FreeBSD не получается выполнить команду chmod root:root - группы root не существует.
Далее смотрел семафоры. Оч интересная ситуация с ними. Установка не завершается нормально, если есть семафор.
Наличие семафора определяется командой:
ipcs -s
Если семафор есть, то его надо грохнуть, пержде чем запускать установку FireBird:
ipcrm -s номер_семафора
Только после этого все ставится нормально. Но это не помогло в решении проблемы множественных подключений.
При первом же подключении возникает 1 семафор и все. Больше их нет. Может для каждого подключения должен быть свой? Тогда почему у меня постоянно один?
2. Пробовал увеличивать размеры локов памяти в firebird.conf - результат не изменился.
Люди - помогите мозгом... а то мой щас покинет бренное тело.
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
может я туплю, но где ты взял дистрибутив FB 2.1 для FreeBSD?
Или ты линуксовый дистр на фрю ставишь, что ли ?
И 2.04 для фри тоже нету. Для фри есть только 1.5.2. Вместо линуксового дистра мог-бы и виндовый для фри использовать, почему нет?
Или ты линуксовый дистр на фрю ставишь, что ли ?
И 2.04 для фри тоже нету. Для фри есть только 1.5.2. Вместо линуксового дистра мог-бы и виндовый для фри использовать, почему нет?
-
- Сообщения: 4
- Зарегистрирован: 09 сен 2008, 23:29
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
Приключения продолжаются. Попытка поставить родной порт firebird-server2 не увенчалась успехом из-за недостающих частей.
Доставил icu4c-3.8.1
Доставил firebird-client Firebird-2 database client
После этого воткнулось только так: pkg_add firebird-server-2.0.3_2
gsec поменял пароль к SYSDBA. Казалось бы все ок. Но тут началось далее:
isql /db/base.fdb - подключился без проблем.
isql localhost:/db/base.fdb - отказался подключаться с комментарием connection rejected.
Попытка запуска fb_inet_server в логи выдала 38 ошибку и setting KEEPALIVE.
Удаленное подключение теперь вообще не работает.
Видел на форуме сообщения о 10038 ошибке, но как лечится, так и не нашел.
Строки конфигов также проверил - все ок. Порт открыт - ждет.
дописка:
Нашел баг в конфиге: исправлено с /opt/firebird на /usr/local/bin - в этом ошибка была. Теперь все ок.
Доставил icu4c-3.8.1
Доставил firebird-client Firebird-2 database client
После этого воткнулось только так: pkg_add firebird-server-2.0.3_2
gsec поменял пароль к SYSDBA. Казалось бы все ок. Но тут началось далее:
isql /db/base.fdb - подключился без проблем.
isql localhost:/db/base.fdb - отказался подключаться с комментарием connection rejected.
Попытка запуска fb_inet_server в логи выдала 38 ошибку и setting KEEPALIVE.
Удаленное подключение теперь вообще не работает.
Видел на форуме сообщения о 10038 ошибке, но как лечится, так и не нашел.
Строки конфигов также проверил - все ок. Порт открыт - ждет.
дописка:
Нашел баг в конфиге: исправлено с /opt/firebird на /usr/local/bin - в этом ошибка была. Теперь все ок.
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
ээээ... дистрибутивы ФБ для FreeBSD выходят нерегулярно, потому что человек, который этим занимается, или меняется, или временно не может этим заниматься. Если Вы хотите заняться портированием кода ФБ под Фрю - добро пожаловать в fb-devel.
Здесь, я думаю, тонкости компиляции и работоспособности ФБ под фрей обсуждать бессмысленно, тем более на уровне тыка, извините.
Я уже неоднократно говорил о гораздо худшей "совместимости" на линуксах и юниксах, чем на виндах, но похоже каждый, кто сталкивается с этим, должен убеждаться на собственном опыте. Если Вы где-то добыли дистрибутив ФБ 2 для Фри, например 6-ой версии, то нет никаких гарантий что оно заработает на фре 7-ой версии. И так далее.
p.s. кроме того, что означает фраза "Попытка поставить родной порт"? Я часто слышу относительно Фри фразу "поставить из портов". Это такой специфический сленг, обозначающий компиляцию исходников?
В данном случае человек должен отлично знать фрю, и иметь хоть какой-то опыт компиляции ФБ на линуксах, а также знать, где в коде могут быть подводные камни. Ну и знать, что пока суперсервер под фрей вроде бы запустить не удалось.
Здесь, я думаю, тонкости компиляции и работоспособности ФБ под фрей обсуждать бессмысленно, тем более на уровне тыка, извините.
Я уже неоднократно говорил о гораздо худшей "совместимости" на линуксах и юниксах, чем на виндах, но похоже каждый, кто сталкивается с этим, должен убеждаться на собственном опыте. Если Вы где-то добыли дистрибутив ФБ 2 для Фри, например 6-ой версии, то нет никаких гарантий что оно заработает на фре 7-ой версии. И так далее.
p.s. кроме того, что означает фраза "Попытка поставить родной порт"? Я часто слышу относительно Фри фразу "поставить из портов". Это такой специфический сленг, обозначающий компиляцию исходников?
В данном случае человек должен отлично знать фрю, и иметь хоть какой-то опыт компиляции ФБ на линуксах, а также знать, где в коде могут быть подводные камни. Ну и знать, что пока суперсервер под фрей вроде бы запустить не удалось.
-
- Сообщения: 4
- Зарегистрирован: 09 сен 2008, 23:29
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
С удовольствием бы этим занялся в качестве хобби... жаль времени нет) (сорри за офтоп)kdv писал(а):ээээ... дистрибутивы ФБ для FreeBSD выходят нерегулярно, потому что человек, который этим занимается, или меняется, или временно не может этим заниматься. Если Вы хотите заняться портированием кода ФБ под Фрю - добро пожаловать в fb-devel.
Здесь, я думаю, тонкости компиляции и работоспособности ФБ под фрей обсуждать бессмысленно, тем более на уровне тыка, извините.
Каждый учится на своих ошибках. Сейчас все заработало нормально. Провел испытания с подключением множества пользователей - все хорошо работает. Посмотрим на сколько долго в такой конфигурации все это дело без дополнительных трудозатрат продержится.kdv писал(а): Я уже неоднократно говорил о гораздо худшей "совместимости" на линуксах и юниксах, чем на виндах, но похоже каждый, кто сталкивается с этим, должен убеждаться на собственном опыте. Если Вы где-то добыли дистрибутив ФБ 2 для Фри, например 6-ой версии, то нет никаких гарантий что оно заработает на фре 7-ой версии. И так далее.
Да, это сленг чайников вроде меня, означающий деланье make install в папочке с нужным портом. Правда не всегда этот фокус проходит...(см пред.пост об установке из pkg).kdv писал(а): p.s. кроме того, что означает фраза "Попытка поставить родной порт"? Я часто слышу относительно Фри фразу "поставить из портов". Это такой специфический сленг, обозначающий компиляцию исходников?
В данном случае человек должен отлично знать фрю, и иметь хоть какой-то опыт компиляции ФБ на линуксах, а также знать, где в коде могут быть подводные камни. Ну и знать, что пока суперсервер под фрей вроде бы запустить не удалось.
IMHO для установки FB под BSD нужен мануал отдельный. Ибо если вариант с портом не проходит, приходится искать обходные пути со своими подводными камнями типа установки нужных пакетов: icu4c, bison, firebird-client. Компиляция порта firebird-server2 завершается ошибкой на файле unicodeutils.cpp. Причем не программисту вообще не понять из-за чего.
Еще раз сорри за офтоп щас. Думаю тема моя закрыта. Опыт получен на собственных шишках (не траве ессно)). Спасибо за участие!
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
в результате чего?Сейчас все заработало нормально.
для установки или компиляции?для установки FB под BSD нужен мануал отдельный.
потому Firebird и сильно распространен, что есть туча готовых дистрибутивов, и его компилировать не надо.Причем не программисту вообще не понять из-за чего.
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
верно, только это не "специфический сленг" порт содержит описание сборки из исходников.kdv писал(а):p.s. кроме того, что означает фраза "Попытка поставить родной порт"? Я часто слышу относительно Фри фразу "поставить из портов". Это такой специфический сленг, обозначающий компиляцию исходников?
проблемы при сборке FB возникают из-за того, что сборка НЕ должна проходить с правами root-а.
в портах существует давным давно дистр 1,5 (firebird-1.5.5.4926):
Код: Выделить всё
Port: firebird-client-1.5.5
Path: /usr/ports/databases/firebird-client
Info: The open-source InterBase(tm) 6.0 spin-off (client)
Maint: skv@FreeBSD.org
B-deps: autoconf-2.62 autoconf-wrapper-20071109 automake-1.9.6_3 automake-wrapper-20071109 bison-2.3_4,1 gcc-3.4.6_3,1 gettext-0.17_1 gmake-3.81_3 libiconv-1.11_1 libtool-1.5.26 m4-1.4.11,1 perl-5.8.8_1
R-deps:
WWW: http://sourceforge.net/projects/firebird/
Port: firebird-server-1.5.5
Path: /usr/ports/databases/firebird-server
Info: The open-source InterBase(tm) 6.0 spin-off (Classic version)
Maint: skv@FreeBSD.org
B-deps: autoconf-2.62 autoconf-wrapper-20071109 automake-1.9.6_3 automake-wrapper-20071109 bison-2.3_4,1 firebird-client-1.5.5 gcc-3.4.6_3,1 gettext-0.17_1 gmake-3.81_3 libiconv-1.11_1 libtool-1.5.26 m4-1.4.11,1 perl-5.8.8_1
R-deps: firebird-client-1.5.5
WWW: http://sourceforge.net/projects/firebird/
мое имхо, да и в доках различных сказано что лучше всего использовать классик сервер.kdv писал(а):Ну и знать, что пока суперсервер под фрей вроде бы запустить не удалось.
в недавней теме я поднимал вопрос работоспособности версии 1,5 во фре. так вот работает она замечательно, но из-за специфики программы, которая имеет UDF модуль, пришлось запустить в линуксе (модуль собран для линукса, разработчики для фри делать не хотят )
сравнивая стабильность работы и базы могу сказать что в лине все на 90%, в винде было 40-50%.
не дистрибутивов, а пакетов (в мире linux/unix). в той же фре можно установить готовый пакет, а не собирать самому, вот только сборка учитывает все тонкости данной машины, а пакет нет. имхо нужно собирать.kdv писал(а):потому Firebird и сильно распространен, что есть туча готовых дистрибутивов, и его компилировать не надо.
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
спасибо за ответ.
я считаю, что не всякое ПО нужно "собирать". Вы не пробовали собирать FB компилятором MSVC 2008 ? И не надо. Если хотите получить надежность кода, то нужно брать готовый дистрибутив. Компилировать СУБД неизвестно каким компилятором, и с другими версиями библиотек - это высокий шанс получить глючный результат. А в случае СУБД это фатально для ее использования.имхо нужно собирать.
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
видимо вы "чистый виндузятник"
порт - это и есть описание процесса сборки, которое проверяется, прежде чем стать портом. и абы какой компилятор не используется.
порт - это и есть описание процесса сборки, которое проверяется, прежде чем стать портом. и абы какой компилятор не используется.
Re: FirebirdCS-2.1.1.17910 FreeBSD проблема подключений
Вижу что спецам удалость установить FB 2.1.1 на FreeBSD.
можете поделится опытом установки (сборки) ?
можете поделится опытом установки (сборки) ?