powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
25 сообщений из 56, страница 1 из 3
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584026
developer0118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, помогите советом куда копать...

Ubuntu + Firebird 3.0.2, хостится на RuVDS. Клиентов штук 10-15 в нескольких территориально удаленных офисах. Клиентское приложение на Delphi, fbclient.dll тоже 3.0.2. Везде работает всё более-менее стабильно, кроме одного офиса, в котором интернет через сотового оператора. Там периодически (иной раз аж каждые 5 минут) возникает ошибка IBErrorCode = 335544727 "Error writing data to the connection", либо IBErrorCode = 335544726 "Error reading data from the connection". При этом в других приложениях проблем с интернетом не наблюдается (браузеры, почта и т.п. - работают нормально), в этот момент даже можно работать на компе удаленно через TeamViewer. Со слов пользователей "пинги до сервера БД идут, пакеты не теряются" (но не знаю как и чем они это проверяли).

Включил сжатие трафика в Firebird (как вот тут написано). Надеялся, что если меньше трафик - реже ошибка. Но буквально в течение 10 минут её словили.

Может кто с подобным сталкивался? Где копать? Ковырять сетевые настройки Убунты? Настройки фаерберда на сервере? Сетевые настройки винды на клиенте? Или же в программе искать косяк?
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584031
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118Может кто с подобным сталкивался? Где копать? Ковырять сетевые настройки Убунты? Настройки фаерберда на сервере? Сетевые настройки винды на клиенте? Или же в программе искать косяк?
ответ вот тут, в вашем же сообщении
" Везде работает всё более-менее стабильно, кроме одного офиса, в котором интернет через сотового оператора. "
какой тогда может быть "косяк в программе", "настройки ФБ на сервере", "сетевые настройки убунты"?

если сотовый оператор рвет соединения, чем вы это "настроите", интересно?

Впрочем, теоретически может помочь, если в программе 1 раз в минуту "тыкать" в сервер каким-нибудь примитивным запросом, типа select * from rdb$database.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584038
developer0118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvесли сотовый оператор рвет соединения, чем вы это "настроите", интересно?
Почему тогда у других программ нет проблем с интернетом?

И потом, соединение-то не рвется. В программе реализовано логгирование ошибок в БД. Так вот, некоторая часть этих ошибок (имею в виду упомянутые Error writing data to the connection) успешно записываются в БД. Стало быть коннект не оборвался, сервер не требует повторной авторизации и т.п.

kdvВпрочем, теоретически может помочь, если в программе 1 раз в минуту "тыкать" в сервер каким-нибудь примитивным запросом, типа select * from rdb$database.
Да тыкали уже, правда для других целей. Бестолку.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584040
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118Там периодически (иной раз аж каждые 5 минут) возникает ошибка IBErrorCode = 335544727 "Error writing data to the connection", либо IBErrorCode = 335544726 "Error reading data from the connection". При этом в других приложениях проблем с интернетом не наблюдаетсяЯ такие проблемы наблюдаю в локалке. Раз в 30-40 минут. В локалке, но не на локалхост.
В локалке, где раньше с 2.1. проблем не было.
Не писал пока об этой проблеме - не уверен был, что из-за ФБ. Но блин именно на 3.0.2. и у меня проблемы.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584043
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВпрочем, теоретически может помочь, если в программе 1 раз в минуту "тыкать" в сервер каким-нибудь примитивным запросом, типа select * from rdb$database.Это не поможет. Поможет только следствие проблемы поймать.

У меня кое где раз в 5 секунд делается подобное. Только не select, а CommitRetaining у readonly-транзакции. Для удостоверения, что коннект не пропал.
Так вот, именно эта же ошибка именно на этом CommitRetain и стала на 3.0.2 появляться в локалке, где раньше годами на 2.1 работал без проблем этот механизм.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584046
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

это проблемы с разрывом соединением, а CommitRetaining здесь вообще не причём.
У меня подозрения что некоторые программы переживают кратковременное отсутствие соединения гораздо лучше чем Firebird, и возможно даже восстанавливают его. Поэтому в TeamViewer это не заметно.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584054
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118...Почему тогда у других программ нет проблем с интернетом?...Программы такие потому что.

Для клиентской части клиент-серверного приложения обрыв соединения фатален, если только это самое приложение не написано специально с учетом возможности обрыва.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584060
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118И потом, соединение-то не рвется. В программе реализовано логгирование ошибок в БД. Так
вот, некоторая часть этих ошибок (имею в виду упомянутые Error writing data to the
connection) успешно записываются в БД. Стало быть коннект не оборвался, сервер не требует
повторной авторизации и т.п.

Не факт. Соединение может автоматически восстанавливаться приложением. Проконсультируйтесь
у его автора.

Кстати, а в firebird.log что об этих ошибках написано?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584061
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисэто проблемы с разрывом соединением, а CommitRetaining здесь вообще не причёмЭто понятно, я об этом и говорю.
Просто CommitRetaining я вызываю очень часто именно для того, чтобы этот разрыв соединения поймать. И ловлю.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584062
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКстати, а в firebird.log что об этих ошибках написано?Я лично еще не готов нормальный отчет об этой проблеме воспроизвести, но собираюсь сделать это. Сейчас так, в тему просто написал.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584074
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118Почему тогда у других программ нет проблем с интернетом?Потому что они не поддерживают постоянное соединение.
RTFM: statefull connection, stateless connection
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584172
developer0118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovСоединение может автоматически восстанавливаться приложением. Проконсультируйтесь
у его автора.
Я его автор, правда не первый :)

Автоматического восстановления коннекта в программе нет. Более того, в случае "нормального" разрыва соединения пользователю выдается страшное сообщение, мол, всё пропало, ваши данные возможно в БД не попали, переподключитесь и проверьте. И программа закрывается.

Но в данном случае разрыва как такового не происходит, pFIBDatabase.Connected = True, да и сервер при следующих запросах не требует авторизации, то есть тоже не считает что клиент отвалился.

Dimitry SibiryakovКстати, а в firebird.log что об этих ошибках написано?

Ничего не нашел, но возможно плохо смотрел. Гляну ещё разок повнимательнее...
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584183
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118Но в данном случае разрыва как такового не происходит, pFIBDatabase.Connected = True, да и сервер при следующих запросах не требует авторизации, то есть тоже не считает что клиент отвалился.Тогда в чём проблема ?

Полный статус-вектор с ошибкой есть ? Там всегда есть имя операции, которая дала ошибку
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584196
developer0118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladТогда в чём проблема ? Полный статус-вектор с ошибкой есть ? Там всегда есть имя операции, которая дала ошибку
Проблема в том, что в одном офисе операции не дают ошибку, а в другом - дают.

Даже если я точно определю какая конкретно операция не выполнилась (какой Query с каким SQL) - что мне это даст? Ведь минутой раньше или минутой позже этот же SQL нормально выполняется. А в других офисах, повторюсь, вообще не возникает подобной ошибки.

Всё что у меня есть:
Код: sql
1.
2.
3.
4.
SQLCode: -902
IBErrorCode: 335544726
IBMessage: Error reading data from the connection.
SQLMessage: Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584205
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118Проблема в том, что в одном офисе операции не дают ошибку, а в другом - дают.Ещё раз, медленно: если коннект не рвётся - в чём проблема ? Научить обрабатывать ошибки ?

developer0118Даже если я точно определю какая конкретно операция не выполнилась (какой Query с каким SQL) - что мне это даст?Речь идёт о том вызове API (winsock, в данном случае), который завершился с ошибкой. И о самой ошибке - она тоже есть в статус-векторе.
Это может помочь нам определить как с этим бороться.

developer0118Всё что у меня естьЭто полный статус-вектор ? Если в нём только isc_net_read_err и больше ничего нет, то это обычно значит что сокет уже закрыт. Т.е. реальная ошибка была раньше.

Что в firebird.log на стороне клиента ?
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584212
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118Почему тогда у других программ нет проблем с интернетом?
у каких у других? Какие из них держат постоянно открытое соединение с сервером? "Браузер и почта" к таким программам не относятся, совсем.
А Teamviewer - так он постоянно что-то передает, у него соединение и не рвется.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584275
rstrelba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое не пробовал?
DummyPacketInterval = 30
в firebird.conf
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584280
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я во избежание такого принудительного обрыва делал в своих приложениях на читающей транзакции запрос SELECT 1 FROM RDB$DATABASE по таймеру раз в 65500 милисекунд. Если запрос выполнялся с ошибкой - значит, с базой или с коннектом есть какие-то проблемы, и можно не продолжать долбиться к серверу.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584313
developer0118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladЧто в firebird.log на стороне клиента ?
Только вот такая строка:
Код: sql
1.
	INET/inet_error: read errno = 10054, client host = comp1, address = 127.0.0.1/51129, user = user1


Причем этих записей значительно меньше, нежели возникающих ошибок.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584332
developer0118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rstrelbaТакое не пробовал?
DummyPacketInterval = 30
в firebird.conf
Неа, страшно
Код: sql
1.
2.
3.
4.
 NOTE. This option may hang or crash Windows NT4 or Windows 2000 pre SP3 
 on the client side as explained here: 
 http://support.microsoft.com/default.aspx?kbid=296265.
 or may not prevent eventual inactive client disconnection for other OS.


Шевелил tcp_keepalive_*, но не помогло. Либо мало шевелил...
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584361
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118Или же в программе искать косяк?Не то чтобы косяк, но менять надо подход:
с
коннект-вся_работа-дисконнект
на
пока_работа(коннект_пачка_операторов-дисконнект)
Хотя те же фибы к такому подходу прямо скажем не расположены.

В качестве полумеры поставить на той же площадке терминальный сервер и работать через него. Это быстрый и самый простой в реализации вариант.
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584382
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer0118Только вот такая строка:
Код: sql
1.
	INET/inet_error: read errno = 10054, client host = comp1, address = 127.0.0.1/51129, user = user1

Не думаю, что от 127.0.0.1 к серверу лежит сотовая связь

PS что за манера отвечать не на все поставленные вопросы ?
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584389
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такое впечатление, что приложение работает одновременно с двумя БД и соединение
рвётся только с одной. Причём локальной. И рвёт его антивирус.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584416
developer0118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovУ меня такое впечатление, что приложение работает одновременно с двумя БД и соединение
рвётся только с одной. Причём локальной. И рвёт его антивирус.

Программа работает либо с удаленной БД, либо с локальной. С какой работать - выбирает пользователь при запуске программы.
Про антивирус спасибо за наводку, проверю.

hvladНе думаю, что от 127.0.0.1 к серверу лежит сотовая связь
Да-да, это я уже туплю, взял видимо не тот firebird.log.
Но других firebird.log не нашел на компе.

hvladЭто полный статус-вектор ? Если в нём только isc_net_read_err и больше ничего нет, то это обычно значит что сокет уже закрыт. Т.е. реальная ошибка была раньше.
PS что за манера отвечать не на все поставленные вопросы ?
Видимо не правильно понимаю термин "статус-вектор", сходу гугл тоже не помог. Что и где надо ещё посмотреть? Или что и где почитать?
...
Рейтинг: 0 / 0
Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
    #39584459
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как именно осуществлено интернет подключение через провайдера сотовой связи? Стоит роутер с USB 3g/4g модемом? На USB модеме используется внутренняя антенна или же через AUX - репитер/усилитель + направленная антенна? Что за USB модем? Прошивка модема свежая? Настройки MTU на интерфейсе 3g/4g? Флажок "nailed-up" имеется и активирован?
...
Рейтинг: 0 / 0
25 сообщений из 56, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 3.0.2, Интернет через сотового оператора, Error reading data from the connection
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]