Error while trying to write to file

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

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

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Error while trying to write to file

Сообщение iamhere » 30 мар 2006, 14:02

Отчего иногда случается такое:
xxxxxxxxx (Server) Thu Mar 30 13:54:25 2006
Database:
I/O error for file "/db/xxxxxxx.gdb"
Error while trying to write to file
Bad file descriptor
Такие ошибки иногда начинают проявляться на пишущих запросах. Если возникло - то уже до упора. Лечится перезапуском сервера.
Запросы все одни и те же постоянно работают, изменений в них нет.
Файл базы никто не трогает (да кому он нужен?)
Возникает не слишком часто, но регулярно (несколько раз в месяц).

Как это можно исправить?

* RedHat 9.0
* Firebird LI-V1.5.3.4870 Firebird 1.5

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

Сообщение kdv » 30 мар 2006, 14:04

похоже на сбой файловой системы.

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Сообщение iamhere » 30 мар 2006, 14:15

* File system: Ext3

Хм.. регулярно повторяющийся время от времени баг, исправляемый перезапуском Firebird, и строго устойчивый до перезапуска Firebird? Я бы сказал, что это не очень похоже на баг fs.

И главное (забыл) - этот баг встречался на нескольких серверах, на разных базах, на разных дистрибутивах (RedHat 9.0, CentOS 3.x, 4.x).

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Сообщение iamhere » 31 мар 2006, 18:32

Ау! Что же делать-то? Кто посоветует?
Готового теста мы предоставить не можем - ошибка возникает нестабильно, через несколько дней/недель. Логов, чтобы их куда-то отправить firebird не ведет. Что же делать?

Очень интересно, может ли вообще такие проблемы решить?
Разработчики? Платная поддержка? :? Интересно, как...

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

Сообщение kdv » 31 мар 2006, 19:56

фактически никак. ставить дебаг-билд, если есть под эту ОС, и ловить.... И не факт что под дебаг-билдом сработает. Такова судьба всех редких плавающих ошибок....

Как минимум, попытайтесь найти хоть что-нибудь общее для этих ошибок - fs, железка, версия FB, и т.п.

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Сообщение iamhere » 31 мар 2006, 22:12

Debug-build. Ок, где это взять и что оно может дать? Логи? Дампы?
Кому это кидать?

Или надо будет интерактивно дебажить? Для плавающей ошибки это нереально. А этих плавающих ошибок - вагон и маленькая тележка. Это лишь частный случай.


Попробуем, конечно...

Но вообще-то "никак" - это, мягко говоря, не очень хороший ответ, если смотреть правде в глаза... С точки зрения плюсов и минусов FB как продукта на современном рынке СУБД.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 31 мар 2006, 23:24

iamhere писал(а):Debug-build. Ок, где это взять и что оно может дать? Логи? Дампы?
Кому это кидать?
Нигде. Есть исходники, есть компиляторы.
iamhere писал(а):Или надо будет интерактивно дебажить? Для плавающей ошибки это нереально. А этих плавающих ошибок - вагон и маленькая тележка. Это лишь частный случай.
Вагон, говоришь ? И сколько ты озвучил ?
iamhere писал(а):Но вообще-то "никак" - это, мягко говоря, не очень хороший ответ, если смотреть правде в глаза... С точки зрения плюсов и минусов FB как продукта на современном рынке СУБД.
Конечно, баги ведь годами не правятся - мы только новые пишем.

А что лично ты сделал, для того чтобы исправить или хотя бы найти это ошибку ? Заполнил баг-репорт ? Показал как её воспроизвести ?
Ты хотя бы поискал в инете описание похожей ошибки ? Или ты один такой счастливец ? Или может FB кроме тебя никто не использует ?
С чего ты вообще взял, что это баг именно FB ?
iamhere писал(а):Хм.. регулярно повторяющийся время от времени баг, исправляемый перезапуском Firebird, и строго устойчивый до перезапуска Firebird? Я бы сказал, что это не очень похоже на баг fs.
Если fs, сойдя с ума, решит что дескриптор таки не правильный, то с чего бы ей потом говорить на него, что он хороший ?
Или ты в деталях знаешь устройство этой fs ? Так попробуй другую - какие проблемы ?

Я правильно понимаю, что FB - SS ? Попробуй CS.
Что ты вообще пробовал делать ?

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Сообщение iamhere » 01 апр 2006, 19:23

Очень грустные вещи рассказываете :( И зря обижаетесь.
То есть debug-варианта с нормальными логами тоже нету? Мне просто даже интересно становится , как такие проблемы решает платная поддержка? Если ошибка неустойчивая, а логов нет в принципе???

Насчет вагона - а что - у разработчиков есть предел снизу количества проблем одного пользователя, только после которого они начнут разбираться? :) Какая разница, сколько я озвучил? Разве от того, что я озвучу другие - что-то принципиально изменится? Волшебным образом появятся логи, дампы, символьные файлы, нормальный мониторинг?

Показать как ее воспроизвести, я не могу и это описал. Как для любой другой плавающей ошибки. Описал все, что мог. Это недостаточная причина, чтобы такие ошибки не исправлять.

Насчет "поискал в сети" - вообще-то поискал. И даже нашел такой случай. Тоже ничего не решили.

Насчет годами не правятся - я такого не говорил. Вижу, что правятся и что функционал растет - это хорошо. А то, что нет средств исправлять ТАКИЕ ошибки - плохо. Потому что это приводит к невозможности использовать Firebird в серьезном проекте. А переходить на другую СУБД - очень непросто, долго, дорого.

А больше ничего не остается, если, например, сервер падает 300-400 раз в сутки, ошибка "плавающая", невоспроизводимая, логов нет, дампов нет, где упало и отчего - узнать невозможно, воспроизвести в лабораторных условиях невозможно. Багрепорт не с чем составлять. :!: :!: :!: :(

"Попробуй CS" - плохой вариант, слишком большая нагрузка для него, пробовали. Много разных баз, каждый экземпляр по очереди берется обслуживать запросы к разным базам, в итоге чтобы поддержать для всех баз адекватный размер кеша в каждом экземпляре - никакой памяти не хватает.

"Попробуй другую" fs - совет интересный, конечно. Но это не так просто на постоянно работающем сервере. Может даже попробуем - что ж делать? Но что делать потом, когда выяснится что fs не при чем? (Не верю я, что только на запросах Firebird'а fs глючит).

"Что ты вообще пробовал делать"?
Я пришел сюда спросить совета - что можно сделать. Готов сделать многое в рамках моих возможностей. Говорят - ничего нельзя сделать. Живите, как хотите.

Не хочу никого ругать. Мне это не нужно. Хочу указать (думаю, не я первый) на принципиальную проблему - отсутствии средств диагностики. Решительно не понимаю как при этом можно предлагать платную поддержку :? Мы даже готовы были бы заплатить, если бы кто-то нам помог решить эти проблемы, но...
kdv>...фактически никак
. Это убивает.

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

Сообщение kdv » 01 апр 2006, 20:57

как такие проблемы решает платная поддержка?
платная поддержка такие вопросы не решает. если ты про support на ibase.ru, то мы никогда вопросами исходников не занимались, и вряд ли будем.
Отловить ошибку за деньги - это нечто. :)
если, например, сервер падает 300-400 раз в сутки, ошибка "плавающая", невоспроизводимая, логов нет, дампов нет, где упало и отчего - узнать невозможно, воспроизвести в лабораторных условиях невозможно.
и что - на любой конфигурации, с одной и той же базой идентично падают FB 1.5.0-1.5.3 ??? По 300-400 раз на дню - это знаешь-ли, вовсе не "невоспроизводимая ошибка".

Кстати. Берем твою ситуацию - SS, падение во время работы с ошибкой "bad file descriptor". Такая ошибка встретилась тебе в гугле еще ОДИН раз. Так? Никто больше такую ошибку не видел. Ну и, напоследок, понятно, что SS открывает файл БД только один раз.

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

И, почему, собственно, ты не можешь написать об этой проблеме в баг-трекер? Ну собери максимум подробностей, и отправь сообщение. И следи за ответами.

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Сообщение iamhere » 01 апр 2006, 22:04

и что - на любой конфигурации, с одной и той же базой идентично падают FB 1.5.0-1.5.3 ??? По 300-400 раз на дню - это знаешь-ли, вовсе не "невоспроизводимая ошибка".
Почти так. Только на самом деле даже не с одной базой - а с разными, на разных серверах, ОС, железе. И с более ранних версий FB.

Невоспроизводимо - имелось в виду, в лабораторных условиях не удалось воспроизвести, чтобы можно было отлаживать отладчиком не имея никакой информации о том, где точно этот сбой произошел.

Воспроизводимо - но только под production нагрузкой. И то не всегда. Пару дней или даже недель - ни одного падения, а потом - несколько сотен в сутки. Лепота...

Я поэтому этот баг и не постил - потому что вообще не могу сообщить никакой полезной для исправления информации... Думал, "Error while trying to write to file" в этом плане будет полезнее - хоть что-то... а не голимый "abnormally terminated". :(

В баг репорт запишем все, что сможем, конечно.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 01 апр 2006, 23:39

iamhere писал(а):Насчет "поискал в сети" - вообще-то поискал. И даже нашел такой случай
Где ?
iamhere писал(а):сервер падает 300-400 раз в сутки
Я информации о падении тут пока не видел

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 19 апр 2006, 14:22

Я и не сомневался, что никакого баг-репорта не будет.
Так, пошуметь вышел...

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Сообщение iamhere » 19 апр 2006, 14:38

Вот еще в коллекцию невоспроизводимых ошибок, завешивающих сервер:
Database:
I/O error for file "/xxxx/xxxxx.gdb"
Error while trying to write to file
Illegal seek

Пока, к сожалению, нет возможности проверить (т.е. перевести production-базу на пару недель) на другой fs.

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 19 апр 2006, 14:50

Что-то мне подсказывает, что накопитель пытается перейти в стабильное состояние... то бишь сдохнуть. БЭд сектор отремапит, пока может и едет дальше. Или рэйд контроллеру башню сносит, если оный есть.
что там смарт говорит насчет отремапленых секторов?

И главное (забыл) - этот баг встречался на нескольких серверах, на разных базах, на разных дистрибутивах (RedHat 9.0, CentOS 3.x, 4.x).
Есть винты которые уже сдохли и те которые собираются это сделать...

v6y
Сообщения: 78
Зарегистрирован: 12 мар 2005, 17:45

Сообщение v6y » 19 апр 2006, 14:51

iamhere писал(а):Вот еще в коллекцию невоспроизводимых ошибок, завешивающих сервер:
Database:
I/O error for file "/xxxx/xxxxx.gdb"
Error while trying to write to file
Illegal seek

Пока, к сожалению, нет возможности проверить (т.е. перевести production-базу на пару недель) на другой fs.
Вообще то это все ошибки возвращаемые операционкой. И связывать их с FB я бы стал в последнюю очередь. Может у вас там имеют место какие-нибудь периодические бэкапы системы (не обязательно фаябирдовские)? Во время которых место на диске заканчивается или слишком много файлов открывается?

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Сообщение iamhere » 19 апр 2006, 14:58

hvlad писал(а):Я и не сомневался, что никакого баг-репорта не будет.
Так, пошуметь вышел...
Зря напомнили :)
ID 1472898
Придумывайте теперь другую отговорку :?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 19 апр 2006, 15:49

iamhere писал(а):Зря напомнили :)
ID 1472898
Во-первых: не зря, проблемы должны решаться, иногда даже если они не наши :wink:
iamhere писал(а):Sometimes (one/two per month) Firebird crashes with
such error messages in logfile:
...
After this message appears, Firebird don't response
any requests in any sessions until manual restart.
Ты уж определись ?
iamhere писал(а):Придумывайте теперь другую отговорку :?
А во-вторых: отговорок не было. Были попытки выжать доп. инф-цию.
На некоторых :-# пока не наедешь как следует - слова не вытянешь :(

iamhere
Сообщения: 21
Зарегистрирован: 27 дек 2005, 09:45

Сообщение iamhere » 19 апр 2006, 15:57

Увы, английский у меня оставляет желать лучшего...
Как собака - все понимаю, а сказать не могу ;)
Поэтому написал, как смог и пояснил. Думаю, все там понятно, по прочтении.

А что касается "вытягивания информации" - зря говорите. Все что известно сейчас - я сказал с самого начала.

Насчет полезности багрепорта в принципе - соглашусь, конечно.
Вдруг кто-то все-таки докумекает, отчего это может быть?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 19 апр 2006, 16:06

А почему бы тебе не сказать нам где и отчего оно падает? Собираешь сервер с отладочной информацией, после падения грузишь корку в отладчик и публикуешь backtrace.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 19 апр 2006, 16:52

Dimitry Sibiryakov писал(а):А почему бы тебе не сказать нам где и отчего оно падает? Собираешь сервер с отладочной информацией, после падения грузишь корку в отладчик и публикуешь backtrace.
Не падает оно.
У него хендл файла вдруг невалидным становится и оно останавливается навсегда - насколько я понял.

Ответить