LINUX.ORG.RU

[баг][запуск процессов][мистика]


1

3

С системой происходят странные вещи.

Как выглядит:

Не могу запустить большинство иксовых приложений, (вообще говоря все кроме gmrun) в том числе xterm, однако другие приложения, которые были запущены до этого работают нормально (в firefox создаются вкладки, открывается ютуб с плеером). Также, если до происшествия был запущен терминал, то консольные приложения в нем запускаются и работают, все кроме su ! При попытке запуска su терминал блокируется и C-c не помогает. dmesg не показывает никаких сообщений, кроме тех, что были при загрузке ядра. При переключении на другую консоль (C-M-F1) и попытке залогиниться под пользователем или под рутом консоль перестает отвечать так и не показав мне приглашение оболочки, при переключении обратно на иксовую консоль наблюдаем черный экран вместо иксов. Если подождать (время не замерял но это в пределах нескольких минут), то все что вы до этого делали (пытались запустить терминалы, другие приложения и прочее) начинает происходить, то-есть начинают запускаться терминалы и прочее.

Я бы мог предположить, что на время блокируется какая-то очередь сообщений и дело тут в оконном менеджере, в драйверах или в самих иксах, но почему тогда я не могу залогиниться в другой консоли под рутом ?!

Косвенные причины возникновения:

Нагрузка на процессор. Сначала это происходило во время обновления (gentoo) но вот прямо сейчас это произошло когда tracker пересчитывал индексы, при этом процессор был нагружен на 100%

Нужны советы по диагностике причины. Даже предположить не могу в чем дело.

ЗЫ: это происходит прямо сейчас ! что делать ??!!!

попробовал еще раз зайти в другой консоли под рутом - пришлось перезагрузиться

Видеокарта и драйверы - nvidia, ведро версии 2.6.36-r8, xorg-server-1.10.2, дистр - gentoo, оконный менеджер - openbox.

s9gf4ult ★★ ()

У себя наблюдаю нечто похожее.

Дай следующую инфу:
- вывод mount (распределение разделов, фс на них и опции монтирования);
- размер и свободное место на корневом разделе и на хомяке (а лучше - на всех разделах);
- /var/log/messages (весь, не нужно отрезать только последнюю загрузку);
- конфиг ядра;
- пользуешься ли ты opera, flash plugin, торрентами?

Kroz ★★★★★ ()

А top/htop что говорит о зависших процессах?
Можно было бы попробовать запустить из-под strace, если в наличии была рутовая сессия.

AITap ★★★★★ ()

> Я бы мог предположить, что на время блокируется какая-то очередь сообщений...
Точно! Блокируется раздел жесткого диска - в твоем случае корень (в моем - хомяк, а корень доступен). Любое обращение к этому разделу приводит к зависанию процесса (но не системы): прочитать файл, посмотреть содержимое каталога, посмотреть статистику через /proc .

Высылай инфу, будем разбираться вместе.

Kroz ★★★★★ ()
Ответ на: комментарий от AITap

> А top/htop что говорит о зависших процессах?
У меня говорит что процессы - зомби, и их нельзя убить даже kill -9 .

Можно было бы попробовать запустить из-под strace, если в наличии была рутовая сессия.

У меня есть возможность запуска рутовой сессии; что делать с strace (никогда не пользовался)?

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

> что делать с strace (никогда не пользовался)?
strace -o program.log some-command
И читать program.log: на каком вызове подвиснет/упадёт.

процессы - зомби

Зомби - это когда процесс умер, а родительский процесс игнорирует SIGCHLD. Посмотрите в дереве процессов, кто родитель.

Кстати, советую почитать http://www.linux-books.us/linux_general_0013.php

AITap ★★★★★ ()
Ответ на: комментарий от Kroz

Вот моя инфа по пунктам:

mount

rootfs on / type rootfs (rw)
/dev/root on / type reiserfs (rw,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
rc-svcdir on /libexec/rc/init.d type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
udev on /dev type tmpfs (rw,nosuid,relatime,size=10240k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda5 on /boot type ext3 (rw,noatime)
/dev/sda8 on /home type ext4 (rw,nosuid)
/dev/sda2 on /mnt/windir type fuseblk (rw,noexec,nosuid,nodev,allow_other,blksize=4096)
nfsd on /proc/fs/nfsd type nfsd (rw,noexec,nosuid,nodev)
192.168.0.1:/home/distfiles on /mnt/remote/distfiles type nfs (rw,soft,vers=3,sloppy,addr=192.168.0.1)
192.168.0.1:/home/www/rtorrent/data on /mnt/remote/data type nfs (ro,soft,vers=3,sloppy,addr=192.168.0.1)

df -h

Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
rootfs              18G          15G  3.0G           84% /
/dev/root           18G          15G  3.0G           84% /
rc-svcdir          1.0M          92K  932K            9% /libexec/rc/init.d
udev                10M         320K  9.7M            4% /dev
shm                752M          88K  752M            1% /dev/shm
/dev/sda5          251M         142M   97M           60% /boot
/dev/sda8           17G          11G  5.0G           68% /home
/dev/sda2          233G         219G   15G           94% /mnt/windir

##syslog:

Jun 13 13:23:22 localhost -- MARK --
Jun 13 14:17:41 localhost kernel: [ 6876.178282] usb 1-3: USB disconnect, address 3
Jun 13 14:17:42 localhost kernel: [ 6876.912048] usb 1-3: new high speed USB device using ehci_hcd and address 4
Jun 13 14:17:46 localhost kernel: [ 6880.488262] hub 1-0:1.0: unable to enumerate USB device on port 3
Jun 13 14:17:46 localhost kernel: [ 6880.896032] usb 2-3: new full speed USB device using ohci_hcd and address 3
Jun 13 14:17:46 localhost kernel: [ 6881.048789] usb 2-3: not running at top speed; connect to a high speed hub
Jun 13 14:23:15 localhost kernel: [ 7210.304009] eth0: link down.
Jun 13 14:23:18 localhost kernel: [ 7212.630468] eth0: link up.
Jun 13 14:23:22 localhost -- MARK --
Jun 13 14:40:04 localhost automount[2118]: key ".hidden" not found in map source(s).
Jun 13 15:05:11 localhost syslog-ng[2077]: syslog-ng starting up; version='3.2.4'
Jun 13 15:05:11 localhost kernel: [    0.000000] Linux version 2.6.36-gentoo-r8work (root@localhost) (gcc version 4.4.5 (Gentoo 4.4.5 p1.0, pie-0.4.5) ) #1 Thu May 26 21:58:51 YEKST 2011
Jun 13 15:05:11 localhost kernel: [    0.000000] Command line: softlevel=xdm root=/dev/sda7
Jun 13 15:05:11 localhost kernel: [    0.000000] BIOS-provided physical RAM map:
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 0000000000100000 - 000000005fee0000 (usable)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 000000005fee0000 - 000000005fee3000 (ACPI NVS)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 000000005fee3000 - 000000005fef0000 (ACPI data)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 000000005fef0000 - 000000005ff00000 (reserved)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fef00000 (reserved)
Jun 13 15:05:11 localhost kernel: [    0.000000]  BIOS-e820: 00000000fefffc00 - 00000000ff000000 (reserved)
Там где линк ап линк даун - это напряжение прагало в сети - хаб выключился потому и линк падал. Тоже самое относится к УСБ (ибо принтер к бесперебойнику не подключен). Далее ровным счетом ничего интересного и ребут (как выше писал по причине того что попытался перейти на другую консоль и там залогиниться)

zcat /proc/config.gz

http://pastebin.com/uhQbEenM

Ни торенты ни флеш включены не были. работали только фурфокс, емакси и mpd в фоне играл музяку.

s9gf4ult ★★ ()
Ответ на: комментарий от AITap

strace -o program.log some-command

И читать program.log: на каком вызове подвиснет/упадёт.

А что именно запускать под strace ? я даже не в курсе что именно повисает да и вообще повисает ли. Тут Kroz склоняется к предположению о блокировке на уровне ядра.

s9gf4ult ★★ ()
Ответ на: комментарий от post-factum

Он предложил мне перекомпилять ядро с какими то там параметрами

s9gf4ult ★★ ()
Ответ на: комментарий от s9gf4ult

То, что виснет. Например, su.

Я правильно понимаю, что воспроизведению проблемы способствует сильная нагрузка на I/O?

AITap ★★★★★ ()
Ответ на: комментарий от AITap

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

а вот попробовать strace -o log «что-то что не запускается» - это идея

s9gf4ult ★★ ()
Ответ на: комментарий от s9gf4ult

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

vostrik ★★★☆ ()
Ответ на: комментарий от vostrik

Врядли. Абсолютно тоже самое я наблюдал на другой машине, там нфс смонтирована никогда не была. Тогда я грешил на XFS от которой отказался и проблема вроде исчезла. На этой машине я тоже перевел хомяк с XFS на EXT4 и проблема на время исчезла. Оказалось, что это XFS виновата (или по крайней мере не полностью она).

s9gf4ult ★★ ()
Ответ на: комментарий от s9gf4ult

post-factum
> Запусти iotop. Увидишь интересную картину.
Запустил (при «зависшем» разделе). Ничего не увидел. Куча процессов, кушают примерно 0%.

AITap
> Я правильно понимаю, что воспроизведению проблемы способствует сильная нагрузка на I/O?
И да и нет. Скорее многопоточная нагрузка. Я для себя вывел такую формулу (каждый следующий пункт повышает вероятность зависания): запущенная Opera, хоть раз был задействован flash plugin, на фоне висят торренты, активно качается какой-то торрент. Скорее нагрузка не сильная но многопоточная, хотя параллельным dd я такое воссоздать не смог.

s9gf4ult
Кстати а у тебя тоже gentoo ?
Да. И вот что еще: 1) на этом же компе когда-то гента работала идеально, зависания начались после очередного обновления мира 2) Есть еще два компа у моих родителей, с принципиально разным железом и проблема есть. Единственное что общее - принцип по которому я настраивал эти компы.

Вот мой mount:

rootfs on / type rootfs (rw)
/dev/root on / type reiserfs (rw,relatime,acl,user_xattr,data=journal,barrier=flush)
/proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
rc-svcdir on /lib/rc/init.d type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
udev on /dev type tmpfs (rw,nosuid,relatime,size=10240k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
/dev/shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
/dev/sda6 on /var type reiserfs (rw,noatime)
/dev/sda7 on /home type reiserfs (rw,acl,user_xattr,data=journal,barrier=flush)
/dev/sdb1 on /mnt/data type reiserfs (rw,noatime,acl,user_xattr,data=journal,barrier=flush)
/home/kroz/mine/archive/photos/active life on /home/ftp/activeteam type none (rw,bind)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
Похоже, что все принципиально другое.

Касательно /var/log/messages : поищи строку «Unwanted recursive reiserfs lock». Вот что у меня находит:

May  3 11:07:42 localhost kernel: [  941.563545] ------------[ cut here ]------------
May  3 11:07:42 localhost kernel: [  941.563552] WARNING: at fs/reiserfs/lock.c:95 reiserfs_lock_check_recursive+0x29/0x36()
May  3 11:07:42 localhost kernel: [  941.563555] Hardware name:  
May  3 11:07:42 localhost kernel: [  941.563556] Unwanted recursive reiserfs lock!
May  3 11:07:42 localhost kernel: [  941.563557] Modules linked in: snd_seq_midi snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul it87 hwmon_vid coretemp snd_emu10k1 nvidia(P) snd_rawmidi snd_ac97_codec ac97_bus snd_util_mem snd_hwdep i2c_i801
May  3 11:07:42 localhost kernel: [  941.563573] Pid: 17307, comm: opera Tainted: P        W   2.6.38-gentoo-r1-lix-k12-debug-lfs #1
May  3 11:07:42 localhost kernel: [  941.563575] Call Trace:
May  3 11:07:42 localhost kernel: [  941.563580]  [<c102f212>] ? warn_slowpath_common+0x65/0x7a
May  3 11:07:42 localhost kernel: [  941.563583]  [<c1118b6b>] ? reiserfs_lock_check_recursive+0x29/0x36
May  3 11:07:42 localhost kernel: [  941.563587]  [<c102f28b>] ? warn_slowpath_fmt+0x26/0x2a
May  3 11:07:42 localhost kernel: [  941.563590]  [<c1118b6b>] ? reiserfs_lock_check_recursive+0x29/0x36
May  3 11:07:42 localhost kernel: [  941.563593]  [<c1111d0d>] ? reiserfs_mutex_lock_safe+0x10/0x29
May  3 11:07:42 localhost kernel: [  941.563596]  [<c1111d48>] ? lock_journal+0x22/0x24
May  3 11:07:42 localhost kernel: [  941.563599]  [<c1115d28>] ? do_journal_begin_r+0x54/0x23b
May  3 11:07:42 localhost kernel: [  941.563603]  [<c1142443>] ? avc_has_perm_noaudit+0x80/0x334
May  3 11:07:42 localhost kernel: [  941.563606]  [<c1115fb9>] ? journal_begin+0xaa/0xde
May  3 11:07:42 localhost kernel: [  941.563610]  [<c1101fd1>] ? reiserfs_commit_page+0x7f/0x196
May  3 11:07:42 localhost kernel: [  941.563615]  [<c10d0e5e>] ? __block_write_begin+0x199/0x27f
May  3 11:07:42 localhost kernel: [  941.563618]  [<c10ff7a6>] ? reiserfs_write_end+0x8c/0x22f
May  3 11:07:42 localhost kernel: [  941.563622]  [<c108b82b>] ? grab_cache_page_write_begin+0x30/0x7f
May  3 11:07:42 localhost kernel: [  941.563626]  [<c109229e>] ? activate_page+0xe2/0x119
May  3 11:07:42 localhost kernel: [  941.563629]  [<c108ac42>] ? pagecache_write_end+0x33/0x3b
May  3 11:07:42 localhost kernel: [  941.563632]  [<c10cf7f7>] ? generic_cont_expand_simple+0x4d/0x5e
May  3 11:07:42 localhost kernel: [  941.563635]  [<c11018ae>] ? reiserfs_setattr+0xcd/0x2cf
May  3 11:07:42 localhost kernel: [  941.563639]  [<c1024841>] ? need_resched+0x14/0x1e
May  3 11:07:42 localhost kernel: [  941.563642]  [<c1024853>] ? should_resched+0x8/0x23
May  3 11:07:42 localhost kernel: [  941.563645]  [<c14641a2>] ? _cond_resched+0x8/0x1c
May  3 11:07:42 localhost kernel: [  941.563649]  [<c10c3c25>] ? notify_change+0x149/0x239
May  3 11:07:42 localhost kernel: [  941.563652]  [<c1024853>] ? should_resched+0x8/0x23
May  3 11:07:42 localhost kernel: [  941.563655]  [<c10b198a>] ? do_truncate+0x60/0x77
May  3 11:07:42 localhost kernel: [  941.563658]  [<c10b1a5f>] ? do_sys_ftruncate+0xbe/0xc4
May  3 11:07:42 localhost kernel: [  941.563661]  [<c10b1bd0>] ? sys_ftruncate64+0x1c/0x24
May  3 11:07:42 localhost kernel: [  941.563664]  [<c100284c>] ? sysenter_do_call+0x12/0x22
May  3 11:07:42 localhost kernel: [  941.563667]  [<c1460000>] ? allocate_threshold_blocks+0xea/0x19c
May  3 11:07:42 localhost kernel: [  941.563669] ---[ end trace c38d5bd2e03408f6 ]---
И всегда одно приложение: opera . И не факт что это влияет на зависание, иногда сообщение проскочит и все хорошо. Иногда зависнет но в логах ничего нет.

Kroz ★★★★★ ()

AITap и другие

Только что пережил такое зависание.
Поскольку у меня «виснет» раздел /home и я могу залогиниться под рутом, собрал инфу strace при коммандах find /home и ls /home - см. ссылки (естественно обе команды подвисли). Похоже, зависание произошло где-то на функции getdents64 .

Вот куски:

write(1, "/home\n", 6)                  = 6
openat(AT_FDCWD, "/home", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
fcntl64(4, F_GETFD)                     = 0
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
fstat64(4, {st_mode=S_IFDIR|0755, st_size=288, ...}) = 0
fcntl64(4, F_GETFL)                     = 0x18800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY)
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
fstatat64(AT_FDCWD, "/home", {st_mode=S_IFDIR|0755, st_size=288, ...}, AT_SYMLINK_NOFOLLOW) = 0
fcntl64(4, F_DUPFD, 3)                  = 5
fcntl64(5, F_GETFD)                     = 0
fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
getdents64(4,

ioctl(1, TIOCGWINSZ, {ws_row=48, ws_col=128, ws_xpixel=0, ws_ypixel=0}) = 0
stat64("/home", {st_mode=S_IFDIR|0755, st_size=288, ...}) = 0
open("/home", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
fcntl64(3, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
getdents64(3,

В общем, помогите с анализом! Что это может быть?

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Людям, не знающим програмирование лучше не читать :p

Посмотрел описание функции getdents ( man getdents ). Там в качестве второго параметра передается стркутура:

struct linux_dirent {
               unsigned long  d_ino;     /* Inode number */
               unsigned long  d_off;     /* Offset to next linux_dirent */
               unsigned short d_reclen;  /* Length of this linux_dirent */
               char           d_name[];  /* Filename (null-terminated) */
                                   /* length is actually (d_reclen - 2 -
                                      offsetof(struct linux_dirent, d_name) */
               /*
               char           pad;       // Zero padding byte
               char           d_type;    // File type (only since Linux 2.6.4;
                                         // offset is (d_reclen - 1))
               */

           }

Теперь нашел эту структуру в исходниках ядра (/usr/src/linux/fs/readdir.c). Вот она:

struct old_linux_dirent {
        unsigned long   d_ino;
        unsigned long   d_offset;
        unsigned short  d_namlen;
        char            d_name[1];
};

Простите, давно программил на С. По-моему некорректно описывать переменную типа char var[1] и рассказывать что там zero-based string. Кто пользуется zero-based string скорее всего должен выделять память с помощью new, а значит там указатель должен быть: char *var . Я ничего не путаю?
Более того, третья переменная в структуре, в man - длинна структуры (d_reclen), а в ядре, похоже что длинна d_name (d_namlen)...
Можно ли на основании man-страницы писать багрепорт?

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

По-моему некорректно описывать переменную типа char var[1] и рассказывать что там zero-based string. Кто пользуется zero-based string скорее всего должен выделять память с помощью new, а значит там указатель должен быть: char *var . Я ничего не путаю?

Это известный хак.

...
struct old_linux_dirent *s = malloc(sizeof(struct old_linux_dirent) + 100500);
...
Как-то так. Не очень красиво, но ничего страшного.

AptGet ★★★ ()
Ответ на: комментарий от Kroz

1. У меня тоже раньше все работало и зависания начались после обновления. Я грешил на XFS

2. На втором компьютере (на работе) эта картина наблюдалась пару раз

3. У меня зависание всегда происходило при обновлении. При этом сейчас не каждое обновление способно его вызвать, но когда была XFS то висло почти каждые несколько часов.

4. У меня в корневом разделе места нет, так что временный каталог для сборки я перенес в хомяк

grep -ie tmpdir /etc/make.conf

PORTAGE_TMPDIR=«/home/portage»

хотя возможно это ничего не значит, так как зависание может происходить во время установке пакета, когда именно оно происходило установить не удалось.

5. «Unwanted recursive reiserfs lock» в своих логах не нашел, и оперой не пользуюсь.

s9gf4ult ★★ ()
Ответ на: комментарий от AptGet

Я проверил винчестер MHDD и память проверил memtest ом. Кроме того данное явление наблюдается на нескольких разных машинах с разным железом.

s9gf4ult ★★ ()
Ответ на: комментарий от s9gf4ult

>Я проверил винчестер MHDD и память проверил memtest ом. Кроме того данное явление наблюдается на нескольких разных машинах с разным железом.

strace для su попробуйте тоже.

AptGet ★★★ ()
Ответ на: комментарий от AptGet

Сделаю сразу как только повиснет. Происходит это редко, но завтра спецом для этого обновлюсь.

s9gf4ult ★★ ()
Ответ на: комментарий от Kroz

Впрос: драйверы видео везде nvidia ? или есть машины на которых наблюдается этот эффект и драйвер там другой ?

s9gf4ult ★★ ()
Ответ на: комментарий от Kroz

Пытаюсь воспроизвести багу. Не получается. У тебя есть рецепт как наиболее вероятно ее повторить ?

s9gf4ult ★★ ()
Ответ на: комментарий от AptGet

AptGet
>SMART в порядке?
Туда не смотреть. Когда копал - купил новый винт, заменил SATA шнурок. Игрался с AHCI режимом. Перепаял конденсаторы на видяхе. Пропылесосил все дабы улучшить теплоотвод. Да, есть еще подозрение на сильно горячий южный мост (или северный - какой там из них сильнее греется), но зависимости от температуры в квартире не замечено. Memtest пройден. Более того проблема наблюдается на разных компах. Это не железо!

> strace для su попробуйте тоже.
Уверен что su зависнет как только захочет прочитать sudoers или passwd. Смысла нет.

> Это известный хак.
Забавно.

А как на счет моего второго вопроса (хотя подозреваю что его не в ЛОР задавать нужно):

2 All
Третья переменная в структуре, в man - длинна структуры (d_reclen), а в ядре, похоже что длинна d_name (d_namlen)...

И еще. А на что может натолкнуть тот факт, что в логах getdents64 обрывется на втором параметре?

s9gf4ult
>так как зависание может происходить во время установке пакета, когда именно оно происходило установить не удалось.
У меня на обновлении никогда не зависало. Корень - reiserfs. /var на отдельном разделе, тоже reiserfs . Хомяк тоже на отдельном разделе reiserfs. Опции монтирования везде разные. Значит проблема не в конкретной ФС, а где-то в другом месте.

> Впрос: драйверы видео везде nvidia ? или есть машины на которых наблюдается этот эффект и драйвер там другой ?
Да. ATI, Intel

> Пытаюсь воспроизвести багу. Не получается. У тебя есть рецепт как наиболее вероятно ее повторить ?
Есть. А зачем? Что собирать?

> Еще вопрос: пульсаудио не пользуешься ? После инцидента демон пульса перестает отвечать.
Нет.
У меня при зависании отказывается останавливаться torrent демон (если включен) или syslog-ng .

Kroz ★★★★★ ()
Ответ на: комментарий от s9gf4ult

Еще инфа.

Лог запуска sync.
Замечаем что fstat64 прошло нормально.

execve("/bin/sync", ["sync"], [/* 54 vars */]) = 0
brk(0)                                  = 0x89c3000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77e8000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=144472, ...}) = 0
mmap2(NULL, 144472, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77c4000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0po\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1425820, ...}) = 0
mmap2(NULL, 1432104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7666000
mmap2(0xb77be000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x158) = 0xb77be000
mmap2(0xb77c1000, 10792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb77c1000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7665000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb76656c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb77be000, 8192, PROT_READ)   = 0
mprotect(0x804c000, 4096, PROT_READ)    = 0
mprotect(0xb7806000, 4096, PROT_READ)   = 0
munmap(0xb77c4000, 144472)              = 0
brk(0)                                  = 0x89c3000
brk(0x89e4000)                          = 0x89e4000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2709088, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7465000
mmap2(NULL, 1179648, PROT_READ, MAP_PRIVATE, 3, 0x176) = 0xb7345000
close(3)                                = 0
sync(

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Пример запуска простенькой програмки:

#include <stdio.h>

int main()
{
        FILE *f;

        f=fopen("/home/kroz/.bashrc","r");
        printf("File has been touched\n");
        fclose(f);
        return 0;
}

И лог strace:

execve("./touch2", ["./touch2"], [/* 54 vars */]) = 0
brk(0)                                  = 0x8af9000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7701000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=144472, ...}) = 0
mmap2(NULL, 144472, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb76dd000
close(3)                                = 0
open("/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libstdc++.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\212\4\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=946408, ...}) = 0
mmap2(NULL, 975916, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75ee000
mprotect(0xb76d0000, 4096, PROT_NONE)   = 0
mmap2(0xb76d1000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe2) = 0xb76d1000
mmap2(0xb76d6000, 25644, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76d6000
close(3)                                = 0
open("/lib/libm.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2204\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=149256, ...}) = 0
mmap2(NULL, 151680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75c8000
mmap2(0xb75ec000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23) = 0xb75ec000
close(3)                                = 0
open("/usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220#\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=112044, ...}) = 0
mmap2(NULL, 115244, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb75ab000
mmap2(0xb75c6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a) = 0xb75c6000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0po\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1425820, ...}) = 0
mmap2(NULL, 1432104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb744d000
mmap2(0xb75a5000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x158) = 0xb75a5000
mmap2(0xb75a8000, 10792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb75a8000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb744c000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb744b000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb744b6d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb75a5000, 8192, PROT_READ)   = 0
mprotect(0xb75c6000, 4096, PROT_READ)   = 0
mprotect(0xb75ec000, 4096, PROT_READ)   = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb744a000
mprotect(0xb76d1000, 16384, PROT_READ)  = 0
mprotect(0x8049000, 4096, PROT_READ)    = 0
mprotect(0xb771f000, 4096, PROT_READ)   = 0
munmap(0xb76dd000, 144472)              = 0
brk(0)                                  = 0x8af9000
brk(0x8b1a000)                          = 0x8b1a000
open("/home/kroz/.bashrc", O_RDONLY
Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Интересно. Получается что виснет на разных вызовах, но все они относятся к чтению или записи на диск.

s9gf4ult ★★ ()
Ответ на: комментарий от Kroz

Есть. А зачем? Что собирать?

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

s9gf4ult ★★ ()
Ответ на: комментарий от Kroz

Кстати не постил багу на гентовом трекере или на кернел орге ? я пошарил поиском - похожего не нашел, хотя на kernel.org столько репортов по поиску hang up что все их не перечитаешь :].

s9gf4ult ★★ ()

твой ник проклят!
т.е. плохая карма/кривые руки
прогони revdep-rebuild -i — -avD
потом выхлопы сюда
и да - если обновил что-то системное - лучше ребутнись
наблюдал нерабочий терминал при обнове vte до перезагрузки
хотя таких косяков как у тебя не видел ни разу
да - хде выхлоп попыток запуска прог из терминала?

megabaks ★★★★ ()
Ответ на: комментарий от megabaks

твой ник проклят

Ты зачем его проклял ??

прогони revdep-rebuild

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

если обновил что-то системное - лучше ребутнись

выключаю на ночь, так что с этим нет проблем

хде выхлоп попыток запуска прог из терминала?

не могу воспроизвести проблему, происходит сама в рандомные моменты (чаще при обновлении)

s9gf4ult ★★ ()
Ответ на: комментарий от s9gf4ult

значит карма/руки
инфа 100%
ибо аптаймы недельные (лето - часто в загуле - комп в ребут отправляю только при смене ядра...т.е. оочень редко)
УМВР

megabaks ★★★★ ()
Ответ на: комментарий от Kroz

Очень похоже на разрушенную ФС, если железо в порядке. А на других версиях ядра вопроизводится? К примеру, если загрузиться с лайвсд.

AptGet ★★★ ()
Ответ на: комментарий от megabaks

зачем такое ? и где брать ? Там по теме смотри выше чувак с такой же проблемой strace над повисающими программами героически постит.

s9gf4ult ★★ ()
Ответ на: комментарий от AptGet

надо попробовать fsck сделать над корневым разделом из под лайв системы. А воспроизвести ошибку не получается пока никак даже под этой системой.

А на других версиях ядра вопроизводится?

да, на 39, 38, щас перешел на 36 - вроде попустило, но когда опять случилось запостил эту тему.

Очень похоже на разрушенную ФС,

Задержка в обработке запросов похожа на разрушенную ФС ? и при этом пустота в сислоге ? То-есть даже ядро ничем не выругалось ? не верю (С)

s9gf4ult ★★ ()
Ответ на: комментарий от megabaks

Наигрался с включением/включением relatime, atime, diratime, mand параметрах монтирования, толку - ноль.

s9gf4ult
> Кстати не постил багу на гентовом трекере или на кернел орге
Нет. Чувствую что нужно.

megabaks
хотя таких косяков как у тебя не видел ни разу
Приветствую, megabaks! У тебя обычно острый язык, но ты говоришь дело. Раскусишь этот орешек? Тут дело даже не в том как решить проблему, а хотябы куда копать, как искать.

> да - хде выхлоп попыток запуска прог из терминала?
Их нет. Проги ничего не выдают, просто виснут.
Выхлопы strace см. выше.

> УМВР
Скинь конфиг ядра. Буду diff'ом сравнивать. А что делать.

кстати, ТС, хде логи иксов?
Ща воспроизведу проблему - вышлю.

Kroz ★★★★★ ()
Ответ на: комментарий от s9gf4ult

ну я только что обновился (сейчас тока монстр ака хромой конпеляецо) - УМВР

megabaks ★★★★ ()
Ответ на: комментарий от megabaks

megabaks
> 64-проблемы?

как это мило...

У меня 32.

$ cat /etc/make.conf
...
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
MAKEOPTS="-j3"
...

$ gcc-config -l
[1] i686-pc-linux-gnu-4.5.2 *

$ ls -l /etc/make.profile
/etc/make.profile -> ../usr/portage/profiles/default/linux/x86/10.0/desktop/kde

P. S. До этого был на дефолтном gcc который был с gentoo. И - да, проблема уже года 2 как актуальна, за это время пару раз переустанавливал сиcтему.

Kroz ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.