Вы здесь

Проблемы с ядром, периодически kernel panic

Добрый день! Новый комп. Странные записи в логах, при случайных событиях - паника (к примеру, старт демона). amd64 no-multilib.
Вывод lspci:

00:00.0 Host bridge: Advanced Micro Devices [AMD] RS880 Host Bridge
00:01.0 PCI bridge: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (int gfx)
00:04.0 PCI bridge: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 0)
00:05.0 PCI bridge: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 1)
00:06.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 2)
00:07.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 3)
00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (rev 40)
00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller (rev 42)
00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:16.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control
01:05.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RS880 [Radeon HD 4290]
01:05.1 Audio device: Advanced Micro Devices [AMD] nee ATI RS880 HDMI Audio [Radeon HD 4200 Series]
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
05:00.0 USB controller: VIA Technologies, Inc. Device 3432 (rev 01)

Сообщения в логах:

 ------------[ cut here ]------------
[  470.144152] WARNING: at kernel/workqueue.c:1220 worker_enter_idle+0xc8/0x130()
[  470.144158] Hardware name: To Be Filled By O.E.M.
[  470.144163] Modules linked in: w83627ehf hwmon_vid i2c_dev radeon k10temp fbcon font bitblit softcursor ttm i2c_piix4 drm_kms_helper
[  470.144189] Pid: 470, comm: kworker/2:1 Not tainted 3.2.12-gentoo-gary #1
[  470.144194] Call Trace:
[  470.144206]  [<ffffffff810399fb>] ? warn_slowpath_common+0x7b/0xc0
[  470.144215]  [<ffffffff8104cce8>] ? worker_enter_idle+0xc8/0x130
[  470.144222]  [<ffffffff8104f4b8>] ? worker_thread+0x208/0x320
[  470.144230]  [<ffffffff8104f2b0>] ? manage_workers.clone.26+0x210/0x210
[  470.144237]  [<ffffffff8104f2b0>] ? manage_workers.clone.26+0x210/0x210
[  470.144244]  [<ffffffff81053ca6>] ? kthread+0x96/0xa0
[  470.144253]  [<ffffffff814f8334>] ? kernel_thread_helper+0x4/0x10
[  470.144261]  [<ffffffff81053c10>] ? kthread_worker_fn+0x180/0x180
[  470.144268]  [<ffffffff814f8330>] ? gs_change+0xb/0xb
[  470.144273] ---[ end trace e12ae2b8512b07b3 ]---

Появляется один раз спустя небольшой промежуток времени после загрузки (3-5 минут), далее система работает нормально. Но изредка паникует. Пробовал 2 версии ядра - 3.0 (изначально, как LTS) и 3.2 в надежде на пофиксенный глюк.
Гугель не помог. Какая информация нужна для диагностики, куда рыть? Спасибо.

Память битая? Не перегревается ли?

—

Не грусти, товарищ! Всё хорошо, beautiful good!

Не перегревается точно. Память не тестировал, но по опыту работы с битой памятью - эффекты обычно отнюдь не стабильные (как здесь), а, скорее, заключаются в случайных сегфолтах приложений (того же emerge). Хотя проверю, спасибо за мысль.

проверьте систему под нагрузкой - что-нить типа pbzip2 или app-benchmarks/stress: скорее всего что-то с acpi/apic. возникает тут, когда kworker должен быть idle, а на самом деле - связан с работающим потоком ядра (kernel thread)

1219         WARN_ON_ONCE(gcwq->nr_workers == gcwq->nr_idle &&
1220                      atomic_read(get_gcwq_nr_running(gcwq->cpu)));

имеет смысл поэкспериментировать с прошивками bios и/или с подключенными контроллерами, а также управлением частотой процессора

Протестировал с помощью stress вот так:
stress --cpu 8 --io 4 --vm 2 --vm-bytes 1024M -d 6
Ничего, все работает.
Опыта в отладке ядерных модулей/ядра как-то нет...
А вообще расшифровать то, что попадает в логи(приводил в первом сообщении), как можно?
По поводу контроллеров - есть пара мыслей, стоит в биосе в режиме AHCI, в ядре тоже поддержка только этого режима, остальное повыпиливал. Вместо традиционного харда - SSD. Может, кто спотыкался о такие грабли?
Желания шить биос нет ну никакого, может, есть совет, как запустить отладочный режим, чтобы логи были более информативные?

vamp_sl написал:
Протестировал с помощью stress вот так:
...
Ничего, все работает.

это означает, что с памятью и охлаждением видимых проблем нет. ну и с диском скорее всего - тоже (который работает в ahci, кстати). если mb не 4х- и более летней давности, ahci следует оставить, иначе есть шанс, что ваш ssd может вообще не запуститься, ну или будет работать со скоростью флоппика :)

Цитата:
Опыта в отладке ядерных модулей/ядра как-то нет...
А вообще расшифровать то, что попадает в логи(приводил в первом сообщении), как можно?

выше приведены просто две строчки кода, откуда выдается диагностика с попыткой угадать почему этот warning появляется. там вроде и расшифровывать ничего не надо: модуль, строчка в исходном коде, что подгружено в ядро и стектрейс: как управление передалось на этот warning (в данном случае кажется не очень информативным)

Цитата:
... в ядре тоже поддержка только этого режима, остальное повыпиливал

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

Цитата:
Желания шить биос нет ну никакого

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

Цитата:
может, есть совет, как запустить отладочный режим, чтобы логи были более информативные?

включить debug и идти читать http://kernelnewbies.org/Documents, в двух словах тут не объяснить. по крайней мере, я точно не сумею. однако с большой вероятностью, вам не нужно отлаживать ядро: значительно дешевле будет пробовать различные варианты конфигурации и гуглить на темы появившихся вопросов

На оригинальность не претендую: а может стоит попробовать генкернелом, чтоб уж наверняка ?

—

知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"

И чем он поможет? Там нет ИИ ищущего и отлаживающего проблемы.

Все просто: Кто знает тот не вопрошает,а делает и\или уточняет.....
А не пускает "сферических" "ИИ" в теоретическое пространство...

—

知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"

ну паники я не вижу... ворнинги
что у тебя в разделе Kernel Hacking включено?
можно попробовать отключить там по максимому всё, такие вещи, как дебагеры и трассеры тебе вряд ли нужны

с другой стороны это может не помочь, так как ворнинг вылазит отсюда
http://lxr.free-electrons.com/source/kernel/workqueue.c?v=3.2#L1217
а это кернеловский стандартный механизм рабочих очередей, но чтобы понять кто дергает рабочие очереди трасса у тебя мала...
попробуй поотключай по очереди модули из списка: w83627ehf hwmon_vid i2c_dev radeon k10temp fbcon font bitblit softcursor ttm i2c_piix4 drm_kms_helper
если поможет, то тогда будешь знать кто из них косячит

ЗЫ: если есть более длинная трасса, запость ее сюда, может быть там можно будет понять вызывающий фрагмент кода

Более длинной трассы нет, когда падает - ругается что-то про тот же kworker. Ничего информативного, уверяю. В разделе kernel hacking практически всё выключено, кроме ограничения доступа к /dev/mem, inline functions и magic sysrq key.
Да по поводу конфигурации ядра сомнений практически нет, проблема в каком-то из модулей, но опыта дебага ядра явно не хватает. Буду курить маны, приведенные выше по ссылке, может, багрепорт засабмичу в итоге...
Ну, либо наберусь решимости и перешью биос.

Xватает ли питания? Какой мощности источник?
Поставь мониторинг всех напряжений (заодно и всех температур) и пиши логи на диск почаще (хотя бы поминутно).
После вылета проверь - не проседает ли питание, как там температура и т.п...

Да касательно температуры все вообще шикарно, процессор - в районе 25-27 градусов. С охлаждением все отлично, БП пробовал два - на 600 и 300 ватт, хотя сам комп потребляет в обычном состоянии минимум, где-то около сотни.
Уверен, что проблема программная, а не аппаратная.

Не знаю, ставить ли "решено", но уже неделю работает без паник. Ничего не менял.

vamp_sl написал:
Не знаю, ставить ли "решено", но уже неделю работает без паник. Ничего не менял.

Установил / обновил x11-drivers/radeon-ucode | sys-kernel/linux-firmware и проблема исчезла?

ну вообще модуль радеон в ворнингах фигурировал

Цитата:
w83627ehf hwmon_vid i2c_dev radeon k10temp fbcon font bitblit softcursor ttm i2c_piix4 drm_kms_helper

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