Официальный форум СВД Встраиваемые Системы
03 Декабря, 2016, 05:26:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: событие Net: raw app could not buffer pkt  (Прочитано 1338 раз)
Tonia
Интересующийся

Сообщений: 3


« : 02 Февраля, 2010, 18:58:34 »

Добрый день!
Подскажите, пожалуйста, в чем может быть причина.
tracelogger регистрирует событие:
Feb 01 20:56:34 2 00004037 1 ( 055) NET ( rx) raw app could not buffer pkt

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

Узел, на котором это происходит (функционально - сервер БД) периодически перестает подавать признаки жизни и возвращается только reset-ом. Хотя нет уверенности, что массовое появление этой ошибки коррелируется с подвисанием узла, tracelogger включили, только когда появились проблемы (около недели назад), была ли раньше эта ошибка неизвестно.

Если выгрузить на узле Socket, то ошибка эта не возникает вообще. При выгруженном Socket-е (и соответственно отсутствии этой ошибки) пока не было замечено ситуации с подвисанием узла(например на ночь выгружаем, когда клиентам Windows не нужен доступ к архивам), в сети QNX связь с узлом не пропадает (ведется мониторинг).

Подробности:
Узел выполняет функции сервера БД
QNX 4.25, TCP/IP 4.25, Sybase SQL 5.5

sin
SID   PID PROGRAM                 PRI STATE   BLK   CODE   DATA
 --    -- Microkernel             --- -----   ---  10612      0
  0     1 /boot/sys/Proc32       30f READY   ---   122k   987k
  0     2 /boot/sys/Slib32        10r  RECV     0    53k   4096
  0     4 /bin/Fsys               10r  RECV     0    77k 74854k
  0     5 /bin/Fsys.atapi         22r  RECV     0    81k   299k
  0     8 idle                     0r READY   ---      0    69k
  0    20 //5/bin/Dev32           24f  RECV     0    32k   253k
  0    23 //5/bin/Dev32.ansi      20r  RECV     0    40k    90k
  0    27 //5/bin/Dev32.pty       20r  RECV     0    12k    57k
  0    29 //5/bin/Fsys.floppy     10o  RECV     0    20k    40k
  0    30 //5/bin/Iso9660fsys     10o  RECV     0    28k    57k
  0    39 //5/*/DiskShadow        10r  RECV     0    69k    73k
  0    43 //5/bin/dumper          29o  RECV     0    16k    20k
  0    44 //5/*/bin/tracelogger   10o  RECV     0    12k    16k
  0    48 //5/bin/Net             23r  RECV     0    32k   114k
  0    51 //5/bin/Net.i82540      20r  RECV     0    32k   462k
  0    81 //5/*/usr/ucb/Socket    22r  RECV     0   225k   319k
  0    94 //5/*/usr/bin/syslogd   10o  RECV     0    36k    32k
  0   108 //5/*/bin/dbsrv50       10o  RECV     0   843k   105M
  0   110 //5/bin/cron            10o  RECV     0    24k    20k
  0   161 //5/bin/tinit           10o  WAIT    -1   8192    28k
  0   162 //5/bin/tinit           10o  RECV     0   8192    20k
  1   167 //5/bin/ksh             10o  WAIT    -1    94k    45k
  1  3151 //5/bin/sin             10o REPLY     1    45k    65k

netstat -a
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
udp        0      0  *.1498                 *.*                   
udp        0      0  *.syslog               *.*                   
Записан
Александр Варварик
Администратор
Старожил

Сообщений: 1354



WWW
« Ответ #1 : 02 Февраля, 2010, 22:21:31 »

первое что бы я проверил, это заменил Socket на Socklet.   
Записан

Олег Большаков
Администратор
Житель форума

Сообщений: 2929



WWW
« Ответ #2 : 02 Февраля, 2010, 22:43:24 »

Или ещё радикальнее -- на Tcpip. Wink
Записан

Андрей Сеньков
Администратор
Опытный пользователь

Сообщений: 262



WWW
« Ответ #3 : 03 Февраля, 2010, 11:06:20 »

tracelogger регистрирует событие:
Feb 01 20:56:34 2 00004037 1 ( 055) NET ( rx) raw app could not buffer pkt

Такое событие регистрирует менеджер Net, когда в его буфере появились "сырые" данные для которых нет получателя. Обычно, получателем "сырых" сетевых данных в QNX4 является стек TCP/IP. Если такие события редки, то это не всегда свидетельствует о проблемах в сети. Замечу, что события Net лучше просматривать с помощью не traceinfo, а netinfo. В частности, 00004037 - это МАС-адрес отправителя данных, netinfo показал бы этот адрес в более привычном виде.

Что касается сути проблемы, то, как уже заметили мои коллеги, желательно обновить систему на сервере или, если это затруднительно, установить обновленные модули. Речь идет о диске "QNX 4 Product Suite 2009". Информация о содержании и доступности этого диска находиться по следующим ссылкам:
http://www.kpda.ru/News/QNX4ProductSuite2009
http://www.kpda.ru/Publications/QNX4ProductSuite2009ReleaseNotes

Если обновление системы полностью затруднительно, то напрашивается обновление сетевых модулей:
Net
Net.i82540 -- обновить на Net.e1000
netinfo
nettrap

Есть вероятность, что, в Вашем случае, лучше будет работать стек TCP/IP 5-ой версии. Этот стек доступен для зарегистрированных пользователей по ссылке:
http://www.qnx.com/download/group.html?programid=8694

К сожалению, Ваш вопрос не содержит информации о версиях модулей, аргументах, с которыми они запущены, используемом оборудовании. По следующей ссылке Вы можете узнать, какую информацию желательно собрать и отправить при описании проблемы.
http://forum.kpda.ru/index.php/topic,25.0.html

Записан

Tonia
Интересующийся

Сообщений: 3


« Ответ #4 : 04 Февраля, 2010, 16:37:06 »

В предыдущем посте я не отметила – этот узел работал устойчиво не один год, прежде чем стала появляться проблема (несколько дней назад).
АСУ ТП, в которую этот узел входит, работает уже много лет, изначально устанавливался стек TCP/IP 4.25, обновлять его позже на TCP/IP 5 не было никакой необходимости, т.к. вопросов не возникало. На остальных узлах,  где установлен TCP/IP, кроме этого проблемного, событие «raw app could not buffer pkt» не регистрируется.

Замечу, что события Net лучше просматривать с помощью не traceinfo, а netinfo. В частности, 00004037 - это МАС-адрес отправителя данных, netinfo показал бы этот адрес в более привычном виде.

tracelogger не регистрирует mac-адреса. В данном случае 00004037 – это не mac-адрес. Это код источника события и код события: 00004 – Net, 0x037 (55) – код события.  При просмотре лог-файла с помощью traceinfo для форматирования строк используется файл /etc/config/traceinfo.net:
#major 0x00004    /* Net */
55 %d (%4(minor)) NET ( rx) raw app could not buffer pkt

Что показывает netinfo, неоднократно смотрели, но ничего особенного информативного там не было. Видимо не заставали ситуацию с этой ошибкой. Нельзя было сразу сказать, что проблемы связаны с сетью. Запустили tracelogger, чтобы регистрировать все события системы.
Только тогда увидели в логах эпизоды массового появления события  «raw app could not buffer pkt».
И спасибо, что напомнили про mac-адрес! Параллельно запустим логи netinfo, чтоб отловить с каких адресов идет эта ошибка.
Записан
Андрей Сеньков
Администратор
Опытный пользователь

Сообщений: 262



WWW
« Ответ #5 : 04 Февраля, 2010, 17:48:13 »

Замечу, что события Net лучше просматривать с помощью не traceinfo, а netinfo. В частности, 00004037 - это МАС-адрес отправителя данных, netinfo показал бы этот адрес в более привычном виде.

tracelogger не регистрирует mac-адреса. В данном случае 00004037 – это не mac-адрес. Это код источника события и код события: 00004 – Net, 0x037 (55) – код события.  При просмотре лог-файла с помощью traceinfo для форматирования строк используется файл /etc/config/traceinfo.net:
#major 0x00004    /* Net */
55 %d (%4(minor)) NET ( rx) raw app could not buffer pkt


Да, Вы правы 00004037 – это не mac-адрес. Однако, tracelogger все-таки mac-адрес регистрирует, просто утилита traceinfo со стандартным файлом форматирования его не отображает. Можно немного модифицировать файл traceinfo.net изменив строку
 
Код:
55 %d (%4(minor)) NET ( rx) raw app could not buffer pkt
на
Код:
55 %d (%4(minor)) NET ( rx) MAC=%-13.13(pnet) raw app could not buffer pkt
Записан

Tonia
Интересующийся

Сообщений: 3


« Ответ #6 : 04 Февраля, 2010, 18:42:39 »

Да, Вы правы 00004037 – это не mac-адрес. Однако, tracelogger все-таки mac-адрес регистрирует, просто утилита traceinfo со стандартным файлом форматирования его не отображает. Можно немного модифицировать файл traceinfo.net изменив строку
 
Код:
55 %d (%4(minor)) NET ( rx) raw app could not buffer pkt
на
Код:
55 %d (%4(minor)) NET ( rx) MAC=%-13.13(pnet) raw app could not buffer pkt
да, действительно, поняла, что регистрирует, посмотрев лог без указания файла форматирования, в 16-м виде, правда неудобно так смотреть mac-адрес. Спасибо за подсказку по изменению traceinfo.net. так гораздо понятнее Smiley

Проблема с этой ошибкой теперь ясна. Все было просто  Undecided.
Сетевой драйвер запускался с ключом –P (кто и когда с этим экспериментировал невыяснено  Embarrassed
Андрей, спасибо за Ваш совет подготовить информацию по рекомендациям http://forum.kpda.ru/index.php/topic,25.0.html.
Именно тогда очевидное бросилось в глаза Smiley

Спасибо всем за помощь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2016 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 15 Ноября, 2016, 20:50:17