kern/104406 на 8.0-RELEASE-p2

1 просмотр
Перейти к первому непрочитанному сообщению

Victor Sudakov

не прочитано,
31 мар. 2010 г., 00:14:0631.03.2010
Коллеги,

Я похоже в 8.0-RELEASE-p2 наступил на грабли, описанные в kern/104406.
Симптомы совпадают: наблюдается множество процессов, застрявших
в состоянии ufs. Однако те процессы, которые успели открыть свои файлы
раньше, продолжают работать.

Hаходил кто-нибудь решение проблемы или workaround?

--
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
2:5005/49@fidonet http://vas.tomsk.ru/

Mikolaj Golub

не прочитано,
31 мар. 2010 г., 01:45:3031.03.2010

On Wed, 31 Mar 2010 04:14:06 +0000 (UTC) Victor Sudakov wrote:

VS> О©╫О©╫О©╫О©╫О©╫О©╫О©╫,

VS> О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ 8.0-RELEASE-p2 О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ kern/104406.
VS> О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫: О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
VS> О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ ufs. О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫
VS> О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.

HО©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫

ps axl
procstat -kka

О©╫ О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ ddb
О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫ pr :-).

VS> HО©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫-О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ workaround?

HО©╫ О©╫О©╫О©╫ kib@ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫
О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫...

--
Mikolaj Golub

Eugene Grosbein

не прочитано,
31 мар. 2010 г., 03:40:4431.03.2010
31 ��� 2010, �����, � 07:14 KRAT, Victor Sudakov �������(�):

VS> � ������ � 8.0-RELEASE-p2 �������� �� ������, ��������� � kern/104406.
VS> �������� ���������: ����������� ��������� ���������, ����������
VS> � ��������� ufs. ������ �� ��������, ������� ������ ������� ���� �����
VS> ������, ���������� ��������.
VS> H������ ���-������ ������� �������� ��� workaround?

������� �� ����, �� ���� ����� ����� ����� ������������� ����������
� ����� ���������: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/107439
�������� �� 6.2, �������� � �� ��������� 8.0-STABLE.

Eugene
--
��� ��� ���� ����� �������� �����, ����������������� �������,
"���������� ��������� � ������������ ���������".

Victor Sudakov

не прочитано,
31 мар. 2010 г., 03:11:5431.03.2010
Mikolaj Golub wrote:

> VS> Я похоже в 8.0-RELEASE-p2 наступил на грабли, описанные в kern/104406.
> VS> Симптомы совпадают: наблюдается множество процессов, застрявших
> VS> в состоянии ufs. Однако те процессы, которые успели открыть свои файлы
> VS> раньше, продолжают работать.

> Hе помешало бы

> ps axl
> procstat -kka

"procstat -kka" опубликую, как только опять подвиснет и будет время.
Что касается ps, в нём наблюдалось огромное количество подвисших
newsyslog, save-entropy и т.п.

> А еще бы лучше собрать со всевозможными отладочными опциями и получить ddb
> вывод как в том pr :-).

И много это помогло тому pr? :(

> VS> Hаходил кто-нибудь решение проблемы или workaround?

> Hу там kib@ написал, что в том случае похоже проблемы либо с
> контроллером либо с драйвером контроллера...

В том случае нечто экзотическое типа mly(4), а у меня обычный IDE.
И судя по результатам поиска в гугле, проблема с замерзанием процессов в
ufs встречается у разных людей и на разном железе.

Пока попробую собрать ядро без SMP, вдруг поможет.

Victor Sudakov

не прочитано,
31 мар. 2010 г., 03:14:2531.03.2010
Eugene Grosbein wrote:

> VS> Я похоже в 8.0-RELEASE-p2 наступил на грабли, описанные в kern/104406.
> VS> Симптомы совпадают: наблюдается множество процессов, застрявших
> VS> в состоянии ufs. Однако те процессы, которые успели открыть свои файлы
> VS> раньше, продолжают работать.
> VS> Hаходил кто-нибудь решение проблемы или workaround?

> Решения не знаю, но знаю метод очень легко воспроизвести блокировку
> в таком состоянии: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/107439
> Работало на 6.2, работает и на январской 8.0-STABLE.

И как эта блокировка выглядит? Так же, как в kern/104406?

Mikolaj Golub

не прочитано,
31 мар. 2010 г., 04:34:3931.03.2010

On Wed, 31 Mar 2010 07:11:54 +0000 (UTC) Victor Sudakov wrote to Mikolaj Golub:

VS> Mikolaj Golub wrote:

>> VS> Я похоже в 8.0-RELEASE-p2 наступил на грабли, описанные в kern/104406.
>> VS> Симптомы совпадают: наблюдается множество процессов, застрявших
>> VS> в состоянии ufs. Однако те процессы, которые успели открыть свои файлы
>> VS> раньше, продолжают работать.

>> Hе помешало бы

>> ps axl
>> procstat -kka

VS> "procstat -kka" опубликую, как только опять подвиснет и будет время.
VS> Что касается ps, в нём наблюдалось огромное количество подвисших
VS> newsyslog, save-entropy и т.п.

Вывод ps тут желателен просто чтоб проще было искать интересные процессы,
которые уже потом более детально изучать в выводе procstat.

>> А еще бы лучше собрать со всевозможными отладочными опциями и получить ddb
>> вывод как в том pr :-).

VS> И много это помогло тому pr? :(

По крайней мере чтоб можно было сравнить действительно ли это похожие случаи.

>> VS> Hаходил кто-нибудь решение проблемы или workaround?

>> Hу там kib@ написал, что в том случае похоже проблемы либо с
>> контроллером либо с драйвером контроллера...

VS> В том случае нечто экзотическое типа mly(4), а у меня обычный IDE.
VS> И судя по результатам поиска в гугле, проблема с замерзанием процессов в
VS> ufs встречается у разных людей и на разном железе.

Hу и разное железо может глючить... А вообще причины могут быть совсем разные
в разных случаях..

VS> Пока попробую собрать ядро без SMP, вдруг поможет.

Лучше таки с отладкой ;-) и запостить потом инфу в freebsd-fs@. Думаю больше
шансов починить чем пересбором без SMP.

--
Mikolaj Golub

Victor Sudakov

не прочитано,
31 мар. 2010 г., 05:46:2031.03.2010
Mikolaj Golub wrote:

> >> VS> � ������ � 8.0-RELEASE-p2 �������� �� ������, ��������� � kern/104406.
> >> VS> �������� ���������: ����������� ��������� ���������, ����������
> >> VS> � ��������� ufs. ������ �� ��������, ������� ������ ������� ���� �����
> >> VS> ������, ���������� ��������.

> >> H� �������� ��

> >> ps axl
> >> procstat -kka

> VS> "procstat -kka" ���������, ��� ������ ����� ��������� � ����� �����.
> VS> ��� �������� ps, � � ����������� �������� ���������� ���������
> VS> newsyslog, save-entropy � �.�.

> ����� ps ��� ��������� ������ ���� ����� ���� ������ ���������� ��������,
> ������� ��� ����� ����� �������� ������� � ������ procstat.

> >> � ��� �� ����� ������� �� ������������� ����������� ������� �
> >> �������� ddb ����� ��� � ��� pr :-).

> VS> � ����� ��� ������� ���� pr? :(

> �� ������� ���� ���� ����� ���� �������� ������������� �� ��� ������� ������.

������� ������� ���������� �����?

include GENERIC
options INVARIANTS
options INVARIANT_SUPPORT
options WITNESS
options DEBUG_LOCKS
options DEBUG_VFS_LOCKS
options DIAGNOSTIC

> >> VS> H������ ���-������ ������� �������� ��� workaround?

> >> H� ��� kib@ �������, ��� � ��� ������ ������ �������� ���� �
> >> ������������ ���� � ��������� �����������...

> VS> � ��� ������ ����� ������������ ���� mly(4), � � ���� ������� IDE.
> VS> � ���� �� ����������� ������ � �����, �������� � ����������� ��������� �
> VS> ufs ����������� � ������ ����� � �� ������ ������.

> H� � ������ ������ ����� �������... � ������ ������� ����� ����
> ������ ������ � ������ �������..

���������� ���� ���� �� ������ ATA-����� ����������, ��������.

Eugene Grosbein

не прочитано,
31 мар. 2010 г., 08:08:3331.03.2010
31 ��� 2010, �����, � 10:14 KRAT, Victor Sudakov �������(�):

>> ������� �� ����, �� ���� ����� ����� ����� ������������� ����������
>> � ����� ���������: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/107439
>> �������� �� 6.2, �������� � �� ��������� 8.0-STABLE.

VS> � ��� ��� ���������� ��������? ��� ��, ��� � kern/104406?

��, � ��������� [ufs] �������� ������.

Eugene
--
��������� ����� ������������� �������������; ����������, �������� � ���;
���� �� ����� �����; ����, ���������� �����; ���� �� ������; ���� �������,
���������� ������������, � �������, �������� ��� �����. (������)

Mikolaj Golub

не прочитано,
31 мар. 2010 г., 07:30:3631.03.2010

On Wed, 31 Mar 2010 09:46:20 +0000 (UTC) Victor Sudakov wrote to Mikolaj Golub:

VS> Столько отладки достаточно будет?

VS> include GENERIC
VS> options INVARIANTS
VS> options INVARIANT_SUPPORT
VS> options WITNESS
VS> options DEBUG_LOCKS
VS> options DEBUG_VFS_LOCKS
VS> options DIAGNOSTIC

Hу и сам ddb:

options KDB
options DDB

И потом когда появятся зависшие процессы, можно сделать так:

1) Включить дамп девайс:

dumpdev="AUTO" в /etc/rc.conf и
/etc/rc.d/dumpon start

2) увеличить ddb capture буфер на всякий случай:

debug.ddb.capture.bufsize=5242880

3) установить скрипт, чтоб не вводить команды вручную в дебургере:

ddb script kdb.enter.break='capture on; show pcpu; show allpcpu; bt; ps; show locks; show alllocks; show lockedvnods; alltrace; call doadump; reset'

4) В консоли зайти в ddb нажав Ctr-Alt-ESC

Дальше он автоматом всю информацию соберет в capture буфер, сбросит дамп и
перегрузится. После перезагрузки содержимое буфера выводится командой:

ddb capture -M /var/crach/vmcore.0 print > capture.0

Hо по идее там crashino(8) при запуске стартонет и сам соберет в /var/crash/core.txt.0.

Если же не хочется перегружать комп с дампом. То из скрипта убрать
"call doadump; reset" и в загрузчике когда он выполнет все команды выполнить команду

c

(продолжить). И вытащить содержимое capture буфера из живой системы:

ddb capture print > capture.txt

--
Mikolaj Golub

Mikolaj Golub

не прочитано,
31 мар. 2010 г., 07:45:0831.03.2010

On Wed, 31 Mar 2010 11:30:36 +0000 (UTC) Mikolaj Golub wrote to Victor Sudakov:

MG> О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫. О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫
MG> "call doadump; reset" О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫

О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.

--
Mikolaj Golub

Eugene Grosbein

не прочитано,
10 апр. 2010 г., 11:06:2410.04.2010
31 мар 2010, среда, в 10:14 KRAT, Victor Sudakov написал(а):

VS>> Я похоже в 8.0-RELEASE-p2 наступил на грабли, описанные в kern/104406.
VS>> Симптомы совпадают: наблюдается множество процессов, застрявших
VS>> в состоянии ufs. Однако те процессы, которые успели открыть свои файлы
VS>> раньше, продолжают работать.
VS>> Hаходил кто-нибудь решение проблемы или workaround?
>> Решения не знаю, но знаю метод очень легко воспроизвести блокировку
>> в таком состоянии: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/107439
>> Работало на 6.2, работает и на январской 8.0-STABLE.

VS> И как эта блокировка выглядит? Так же, как в kern/104406?

Мой PR kib@ при помощи Mikolaj Golub закрыл, исправив проблему
в CURRENT и 8-STABLE. Hо у тебя, судя по всему, другое?
Помогло отключение FLOWTABLE? А кстати, что это такое? :-)

Eugene
--
Всегда, везде и всюду - Смерть и Свет, они растут и убывают, спешат и ждут;
они внутри и снаружи Грезы Безымянного, каковая - мир; и выжигают они в
сансаре слова, чтобы создать, быть может, нечто дивно прекрасное.

Victor Sudakov

не прочитано,
10 апр. 2010 г., 09:47:4810.04.2010
Eugene Grosbein wrote:

> VS>> � ������ � 8.0-RELEASE-p2 �������� �� ������, ��������� � kern/104406.
> VS>> �������� ���������: ����������� ��������� ���������, ����������
> VS>> � ��������� ufs. ������ �� ��������, ������� ������ ������� ���� �����
> VS>> ������, ���������� ��������.

> VS>> H������ ���-������ ������� �������� ��� workaround?


> >> ������� �� ����, �� ���� ����� ����� ����� ������������� ����������
> >> � ����� ���������: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/107439
> >> �������� �� 6.2, �������� � �� ��������� 8.0-STABLE.
> VS> � ��� ��� ���������� ��������? ��� ��, ��� � kern/104406?

> ��� PR kib@ ��� ������ Mikolaj Golub ������, �������� ��������
> � CURRENT � 8-STABLE. H� � ����, ���� �� �����, ������?
> ������� ���������� FLOWTABLE?

����� ������������ � net.inet.flowtable.enable=0 �������� ��� 8 ����
��� ���������. H� ��� �����������, ��� ��� �� ����������, ������ ��� �
�ݣ cron �������� (�.�. ��� ������������� ������ �� ���� ��
/usr/libexec/save-entropy � �.�.). ����� ������ ����, ������.

> � ������, ��� ��� �����? :-)

��� � �����, ��� ������� ������� ����� ����� cef.

Mikolaj Golub

не прочитано,
10 апр. 2010 г., 10:55:5910.04.2010

On Sat, 10 Apr 2010 19:06:24 +0400 Eugene Grosbein wrote to Victor Sudakov:

EG> Помогло отключение FLOWTABLE? А кстати, что это такое? :-)

http://conferences.sigcomm.org/sigcomm/2009/workshops/presto/papers/p37.pdf

--
Mikolaj Golub

Eugene Grosbein

не прочитано,
11 апр. 2010 г., 04:04:2511.04.2010
10 апр 2010, суббота, в 17:55 KRAT, Mikolaj Golub написал(а):

EG>> Помогло отключение FLOWTABLE? А кстати, что это такое? :-)

MG> http://conferences.sigcomm.org/sigcomm/2009/workshops/presto/papers/p37.pdf

Спасибо, очень интересно. И достигнутое ускорение роутинга очень впечатляет.

Eugene
--
Муки совести переносимы.

Victor Sudakov

не прочитано,
2 мая 2010 г., 03:34:0102.05.2010
Mikolaj Golub wrote:

>>>> � ������ � 8.0-RELEASE-p2 �������� �� ������, ��������� � kern/104406.
>>>> �������� ���������: ����������� ��������� ���������, ����������
>>>> � ��������� ufs. ������ �� ��������, ������� ������ ������� ���� �����
>>>> ������, ���������� ��������.

> >> H� �������� ��

> >> ps axl
> >> procstat -kka

> VS> "procstat -kka" ���������, ��� ������ ����� ��������� � ����� �����.


> VS> ��� �������� ps, � � ����������� �������� ���������� ���������
> VS> newsyslog, save-entropy � �.�.

> ����� ps ��� ��������� ������ ���� ����� ���� ������ ���������� ��������,
> ������� ��� ����� ����� �������� ������� � ������ procstat.

> >> � ��� �� ����� ������� �� ������������� ����������� ������� �
> >> �������� ddb ����� ��� � ��� pr :-).

> VS> � ����� ��� ������� ���� pr? :(

> �� ������� ���� ���� ����� ���� �������� ������������� �� ���
> ������� ������.

> >> VS> H������ ���-������ ������� �������� ��� workaround?

> >> H� ��� kib@ �������, ��� � ��� ������ ������ �������� ���� �
> >> ������������ ���� � ��������� �����������...

> > � ��� ������ ����� ������������ ���� mly(4), � � ���� ������� IDE.
> > � ���� �� ����������� ������ � �����, �������� � ����������� ��������� �
> > ufs ����������� � ������ ����� � �� ������ ������.

> H� � ������ ������ ����� �������... � ������ ������� ����� ����
> ������ ������ � ������ �������..

���� �� ����, ��� ��� net.inet.flowtable.enable=0 ��� ����� ��������
�� SMP ���������� ��������� � ��� ����������, ���� ���� �� �
����������� ��� �������� �����������. H� ����, ����� ����� �����
net.inet.flowtable.enable � ����������� ��������� � ��������� ufs, ��
����� workaround ���� ������������ ����������.

Vova Uralsky

не прочитано,
2 мая 2010 г., 03:27:1102.05.2010
Hello Victor.

02 May 10 11:34, you wrote to Mikolaj Golub:

>> > ufs ����������� � ������ ����� � �� ������ ������.
>> H� � ������ ������ ����� �������... � ������ ������� ����� ����
>> ������ ������ � ������ �������..

VS> ���� �� ����, ��� ��� net.inet.flowtable.enable=0 ��� ����� ��������
VS> �� SMP ���������� ��������� � ��� ����������, ���� ���� �� �
VS> ����������� ��� �������� �����������. H� ����, ����� ����� �����
VS> net.inet.flowtable.enable � ����������� ��������� � ��������� ufs, ��
VS> ����� workaround ���� ������������ ����������.

406491 [ 11751 ] ������ / [:||||:] / �� ������ / ���������� 2010-04-25 � 08:11
xxx: ������ ������ �� ����������, ������� ������ ������, �������������� ����
�����, ���������� ��������� ��������

Vova

Eugene Grosbein

не прочитано,
3 мая 2010 г., 06:16:0303.05.2010
02 ��� 2010, �����������, � 10:34 KRAT, Victor Sudakov �������(�):

VS> ���� �� ����, ��� ��� net.inet.flowtable.enable=0 ��� ����� ��������
VS> �� SMP ���������� ��������� � ��� ����������, ���� ���� �� �
VS> ����������� ��� �������� �����������. H� ����, ����� ����� �����
VS> net.inet.flowtable.enable � ����������� ��������� � ��������� ufs, ��
VS> ����� workaround ���� ������������ ����������.

lock leak �������, ���� �����.

Eugene
--
����� ����� � ������������ ������� ����������� - ��� ���� ������������,
� ���� ����������.

Ответить всем
Написать сообщение автору
Переслать
0 новых сообщений