failed to write to main log: errno=9

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Dr_Web
рядовой
Сообщения: 22
Зарегистрирован: 2009-02-19 4:43:39

failed to write to main log: errno=9

Непрочитанное сообщение Dr_Web » 2009-02-21 17:35:51

Exim cтал выдавать ошибку, отбрасывая при этом почту, но ошибка не постоянная, а время отвремени, может 3 письма пропустить на четвертом выдать.
exim-panic.log:

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

2009-02-21 16:57:32 1LasMG-000G6n-2G sp-exim: error 53 sending envelope data
2009-02-21 16:57:32 1LasMG-000G6n-2G failed to write to main log: length=77 result=-1 errno=9 (Bad file descriptor)
exim-main-*.log

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

2009-02-21 16:57:32 1LasMG-000G6n-2G server did not confirm, answ=
часть configure где указваем что писать в логи:

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

log_selector = +all_parents +connection_reject +incoming_interface +lost_incoming_connection +received_sender +received_recipients +smtp_confirmation +smtp_syntax_error +smtp_protocol_error -queue_run
Машинка довольно слабенькая(266Mhz, 64Mb RAM), но все работало без проблем раньше и с большей нагрузкой.
exim 4.69_3 cобран с local_scan.c

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение Alex Keda » 2009-02-21 20:11:31

диск сыпется?
Убей их всех! Бог потом рассортирует...

Dr_Web
рядовой
Сообщения: 22
Зарегистрирован: 2009-02-19 4:43:39

Re: failed to write to main log: errno=9

Непрочитанное сообщение Dr_Web » 2009-02-22 8:15:49

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

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-22 8:25:57

ну ка запусти под башем

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

#!/usr/local/bin/bash
#Пути и лимиты

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
ech="\033[1m###########################################\033[0m"
LANG="ru_RU.KOI8-R"
export LANG
MM_CHARSET="KOI8-R"
ulimit -c 10000
export MM_CHARSET
H_DIR=/root
UNAME=/usr/bin/uname
ROOT_UID=0
LINES=50
E_XCD=66
E_NOTROOT=67
MM=/dev/mem
DMSG=/sbin/dmesg
DMD=/usr/local/sbin/dmidecode
SCT=/sbin/sysctl
ATC=/sbin/atacontrol
CCT=/sbin/camcontrol
DFO=/usr/sbin/diskinfo
DVF=/usr/sbin/devinfo
RUT=`df -h | grep /root| awk '{print $5}' | grep 100`
ntd=" /usr/sbin/ntpdate "
timesrv=" ntp0.masterhost.ru "
#проверка приложений
        for application in ${cat} ${awk} ${echo} ${grep} ${pw} ${rm} ${mkdir} \
 ${chown} ${cp} ${wc} ${cut} ${md5} ${tail} \
 ${ls} ${chflags} ${tr} ${gzip} ${rm} ${mv} \
 ${basename} ${uname} ${dd}
do
        if [ ! -s ${application} ]; then
         echo "Приложение \`\`${application}'' не найдено! Проверьте путь!"
        exit
     fi
done
#Проверка места в руте.
if [ ! -z $RUT ];
     then echo "упс (pid $RUT)! Exiting...";
  exit
fi
#Проверка на фряхововсть и рутовые права
        if [ "$UID" -ne "$ROOT_UID" ]
         then
           echo "Для работы сценария требуются права root."
         exit $E_NOTROOT
     fi
if [ -n "$1" ]
        then
lines=$1
        else
lines=$LINES
     fi
cd $H_DIR

        if [ `pwd` != "$H_DIR" ]
        then
echo "Невозможно перейти в каталог $H_DIR."
   exit $E_XCD
fi
echo ""
       if [ `uname` != "FreeBSD" ]
       then
echo "Запускать только на фре"
   exit 1
fi
#Синхроинизируем время
$ntd -u -q $timesrv > /dev/null || echo "Внимание!Не могу синхронизировать время"
#Начало
echo -e $ech
echo -e "\033[1m#Программа тестирования серверных платформ#\033[0m"
echo -e $ech
echo "" && echo ""
echo -e "\033[1m:проверка устройств и серийных номеров:\033[0m" 
echo -en '\E[40;32m'"\033[1m"ПРОДОЛЖИТЬ y/n?"\033[0m"
       read ans
echo ""
echo ""
       if [ "$ans" = "n" ]; then
         echo "Прервано."
           exit 0
       fi
echo -e '\E[32;41m'"\033[1mBIOS\033[0m"
 $DMD -d $MM |  sed '9q;d' || echo "no bios version"
 $DMD -d $MM |  sed '10q;d' || echo "no bios release date"
echo -e '\E[32;41m'"\033[1mPorcessor\033[0m"
 $DMSG -a| grep CPU| grep -v cpu | awk '{print $2, $6, $7, $8}' || echo "error"
 $DMD | grep Socket | sed q | awk '{print $3,$4}' || echo "socket is unknown"
 $DMD  -d $MM | sed '77q;d' || echo "no processor ID found"
echo -e '\E[32;41m'"\033[1mMainboard\033[0m"
 $DMD -d $MM | sed '53q;d'|| echo "mainboard no name"
 $DMD -d $MM | grep "UUID" || echo "mainboard no serial number"
echo -e '\E[32;41m'"\033[1mRAM(Kb)\033[0m"
 $SCT -a| grep hw | grep mem | grep real | awk '{print $2}'
echo -e '\E[32;41m'"\033[1mHDD models\033[0m"
 $ATC list | awk '{print $3}' | grep "<" || $CCT devlist | awk '{print $1}'
echo -e '\E[32;41m'"\033[1mHDD Serials\033[0m"
       for i in $(ls /dev/| grep ad ); 
        do diskinfo -v  $i | grep Di | awk '{print $1}'; 
         done; 
       for i in $(ls /dev/| grep da ); 
         do diskinfo -v  $i | grep Di | awk '{print $1}';
     done;
echo ""
#Поиск ошибок перед тестирование
echo -e "\033[1m:поиск ошибок перед тестированием:\033[0m"
echo ""
echo -en '\E[40;32m'"\033[1m"ПРОДОЛЖИТЬ y/n?"\033[0m"
     read ans
echo "" && echo ""
      if [ "$ans" = "n" ]; then
        echo "Прервано."
     exit 0
 fi
echo "" && echo ""
echo -e "\033[1m:поиск ошибок dmesg:\033[0m"
$DMSG -a | grep error || echo "Явных ошибок не найдено"
echo ""
echo -e "\033[1m:поиск ошибок аппаратной конфигурации:\033[0m"
echo ""
$DMSG  -a | grep reset || echo "Ошибок конфигурирования - нет"
echo ""
echo -e "\033[1m:поиск устройств без драйверов:\033[0m"
echo ""
$DMSG -a | grep "no driver attached" || echo "Все драйверы - работоспособны"
#Тест чтения
echo ""   
echo -e "\033[1mТестирование чтения с HDD:\033[0m"
echo ""
echo -en '\E[40;32m'"\033[1m"Продолжить y/n?"\033[0m"
     read ans
echo "" && echo ""
           if [ "$ans" = "n" ]; then
             echo "########."
           exit 0
        fi
echo "" && echo ""
$ATC list | grep ad| awk '{print $2}' | xargs -o $DFO -vt || echo "error read disk abort"
это кусочек, всю не дам, этого хватит....
Z301171463546 - можно пожертвовать мне денег

Dr_Web
рядовой
Сообщения: 22
Зарегистрирован: 2009-02-19 4:43:39

Re: failed to write to main log: errno=9

Непрочитанное сообщение Dr_Web » 2009-02-22 12:48:35

Забыл добавить что это VDS

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

/dev/vd0 on / (vdsfs, local, with quotas, noclusterw)
Видимо по этому такой неважный отчет по скрипту:

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

###########################################
#Программа тестирования серверных платформ#
###########################################


:проверка устройств и серийных номеров:
ПРОДОЛЖИТЬ y/n?y


BIOS
./te.sh: line 86: /usr/local/sbin/dmidecode: No such file or directory
./te.sh: line 87: /usr/local/sbin/dmidecode: No such file or directory
Porcessor
dmesg: sysctl kern.msgbuf: Operation not permitted
./te.sh: line 90: /usr/local/sbin/dmidecode: No such file or directory
./te.sh: line 91: /usr/local/sbin/dmidecode: No such file or directory
Mainboard
./te.sh: line 93: /usr/local/sbin/dmidecode: No such file or directory
./te.sh: line 94: /usr/local/sbin/dmidecode: No such file or directory
mainboard no serial number
RAM(Kb)
HDD models
atacontrol: control device not found: No such file or directory
camcontrol: couldn't open /dev/xpt0: No such file or directory
HDD Serials

:поиск ошибок перед тестированием:

ПРОДОЛЖИТЬ y/n?y




:поиск ошибок dmesg:
dmesg: sysctl kern.msgbuf: Operation not permitted
Явных ошибок не найдено

:поиск ошибок аппаратной конфигурации:

dmesg: sysctl kern.msgbuf: Operation not permitted
Ошибок конфигурирования - нет

:поиск устройств без драйверов:

dmesg: sysctl kern.msgbuf: Operation not permitted
Все драйверы - работоспособны

Тестирование чтения с HDD:

Продолжить y/n?y
atacontrol: control device not found: No such file or directory

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-22 12:50:33

выполните команду....
Z301171463546 - можно пожертвовать мне денег

Dr_Web
рядовой
Сообщения: 22
Зарегистрирован: 2009-02-19 4:43:39

Re: failed to write to main log: errno=9

Непрочитанное сообщение Dr_Web » 2009-02-22 13:15:37

uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-22 15:59:52

а чего говорит
Z301171463546 - можно пожертвовать мне денег

Dr_Web
рядовой
Сообщения: 22
Зарегистрирован: 2009-02-19 4:43:39

Re: failed to write to main log: errno=9

Непрочитанное сообщение Dr_Web » 2009-02-22 16:46:20

Место есть свободное:

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

Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/vd0      1.0G    684M    316M    68%    /
Вот еще

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

Mem: 88M Active, 8588K Free
Вообщем ресурсов хватает.

RexaleX
проходил мимо

Re: failed to write to main log: errno=9

Непрочитанное сообщение RexaleX » 2009-02-23 14:10:50

Dr_Web писал(а):Exim cтал выдавать ошибку, отбрасывая при этом почту, но ошибка не постоянная, а время отвремени, может 3 письма пропустить на четвертом выдать.
Такая же кака на 2х серверах, отключил спамоборону, все заработало, будем разбираться.

Dr_Web
рядовой
Сообщения: 22
Зарегистрирован: 2009-02-19 4:43:39

Re: failed to write to main log: errno=9

Непрочитанное сообщение Dr_Web » 2009-02-23 14:13:35

exim выдает ошибку(в тот момент когда и errno=9) при отправке письма(ошибка через раз или через 2 проявляется):

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

Unexpected failure, please try late
Вот еще что нашел, возможно local_scan.c виноват (spamooborona1024):

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

2009-02-23 13:56:38 1LbYUI-000EyE-6P F=wnfheolcns@bodyfit.com H=host2.vat.lt [195.182.80.253] I=[82.146.41.246]:25 P=esmtp temporarily rejected by local_scan(): Temporary local problem

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-23 14:19:44

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

root@zingel [/usr/ports]# cat /usr/src/sys/*/NOTES | grep vd 
root@zingel [/usr/ports]# 

а чего это за девайс? это 1 диск или какой-то хитрющий рейд?

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

uname -a
а я туплю....это vps

но всеравно

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

uname -a && cat /etc/fstab
Z301171463546 - можно пожертвовать мне денег

RexaleX
проходил мимо

Re: failed to write to main log: errno=9

Непрочитанное сообщение RexaleX » 2009-02-23 14:36:14

Вот еще что нашел, возможно local_scan.c виноват (spamooborona1024):

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

2009-02-23 13:56:38 1LbYUI-000EyE-6P F=wnfheolcns@bodyfit.com H=host2.vat.lt [195.182.80.253] I=[82.146.41.246]:25 P=esmtp temporarily rejected by local_scan(): Temporary local problem
ага, он самый (спамоборона не причем).. пересобрал временно без него на боевом почтовике, буду опыты ставить.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-23 14:37:44

оборона обороной, а диски на волю судьбы оставлять нельзя....
Z301171463546 - можно пожертвовать мне денег

RexaleX
проходил мимо

Re: failed to write to main log: errno=9

Непрочитанное сообщение RexaleX » 2009-02-23 14:42:30

zingel писал(а):оборона обороной, а диски на волю судьбы оставлять нельзя....
Господин хороший, при чем тут диски? У меня рейд 10 на одном из серверов, на другом просто 1.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-23 14:48:45

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

root@zingel [/usr/ports]# grep EBADF /usr/include/errno.h            
#define	EBADF		9		/* Bad file descriptor */

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

  9 EBADF Bad file descriptor.  A file descriptor argument was out of
             range, referred to no open file, or a read (write) request was
             made to a file that was only open for writing (reading).
да хоть 60 у Вас рейд....

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

man errno
чекать диск, или проверить те файлы что оборона открывает на rw-права.
Z301171463546 - можно пожертвовать мне денег

Dr_Web
рядовой
Сообщения: 22
Зарегистрирован: 2009-02-19 4:43:39

Re: failed to write to main log: errno=9

Непрочитанное сообщение Dr_Web » 2009-02-23 15:14:24

zingel писал(а):uname -a && cat /etc/fstab

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

FreeBSD skylot.ru 6.3-STABLE FreeBSD 6.3-STABLE #3: Sun Oct 26 05:11:53 CET 2008     root@dione.ispsystem.net:/root/src/sys/i386/compile/ISPSYSTEM_PAED  i386
/dev/vd0        /       ufs     rw,noauto,userquota,groupquota  0       0
писал в саппорт vps'а, говорят: причем тут диск?
яндексовцы вообще ничего не ответили
Последний раз редактировалось Dr_Web 2009-02-23 15:26:58, всего редактировалось 1 раз.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-23 15:22:25

саппорт? ну тогда Вы ничего не сделаете, а сапорту своему скажите прочитать errno.h и

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

man inode
или сюда ссылку дайте, я популярно поясню когда бывает EBADF на кривых дисках...и когда кончаются HN-ноды на vps, ещё передайте ему, что

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

sysctl kern.msgbuf
не работает в 6.3, а только в 8.0....

p.s. проверьте, доступны ли обороне файлы, в которые она лезет и выложите сюда тот кусок кода, в котором ошибка, по-вашему...
Z301171463546 - можно пожертвовать мне денег

RexaleX
проходил мимо

Re: failed to write to main log: errno=9

Непрочитанное сообщение RexaleX » 2009-02-23 15:26:09

zingel писал(а):

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

root@zingel [/usr/ports]# grep EBADF /usr/include/errno.h            
#define	EBADF		9		/* Bad file descriptor */
И причем тут это?) Хоть почитали бы внимательно ВЕСЬ приводимый товарищем лог. Ну не пишет он что-то в дополнительный лог и что теперь? У меня вообще этот лог не пишется, мне и без него хорошо.
Как это влияет на остальную работу?

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

Feb 23 15:18:16 *** exim[35904]: 1LbZlI-0009L6-6d server did not confirm, answ=
Feb 23 15:18:16 *** exim[35904]: 1LbZlI-0009L6-6d sp-exim: error 53 sending envelope data
вот где надо смотреть. и на сколько моего мозга хватает кто-то кому-то не то посылает, т.е. нет согласования в данных. А Вы все дисками и железом пугаете ;)

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-23 15:27:54

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

RexaleX
рядовой
Сообщения: 26
Зарегистрирован: 2009-02-23 15:28:39
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение RexaleX » 2009-02-23 15:37:18

zingel писал(а):на vps такая ошибка за милую душу и очень просто, а насчет ошибки, мы сейчас увидим что она и куда пишет, давайте сюда этот код...
Не совсем понял что требуется, вот спамооборона1024


Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение zingel » 2009-02-23 16:04:06

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

  umask ((mode_t) 0);
                if ((iFd = open (pszPath, O_RDWR | O_EXCL | O_CREAT, 0666)) > 0) break;

                if (errno != EEXIST) return -1; /* Unexpected error */

есть у обороны chown в

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

/var/spool/spamooborona
?
Z301171463546 - можно пожертвовать мне денег

RexaleX
рядовой
Сообщения: 26
Зарегистрирован: 2009-02-23 15:28:39
Контактная информация:

Re: failed to write to main log: errno=9

Непрочитанное сообщение RexaleX » 2009-02-23 16:12:06

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

# ll /var/spool/ | grep spamo
drwxr-xr-x  2 mailnull  mail      512 23 фев 16:04 spamooborona

Dr_Web
рядовой
Сообщения: 22
Зарегистрирован: 2009-02-19 4:43:39

Re: failed to write to main log: errno=9

Непрочитанное сообщение Dr_Web » 2009-02-23 16:16:15

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

drwxr-xr-x  2 mailnull  mail    512 23 фев 16:13 spamooborona
configure:

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

exim_user = mailnull
exim_group = mail