LINUX.ORG.RU

чем дебажить мёртвые зависоны линукса (не паники)?


2

3

началось недавно.
в рандомное время (обычно на 3-4 дне аптайма) начал зависать ноут. ни кернелпаника, ни реакции на Magic sysrq, ни пинга до ноута, естественно, нет.
чаще всего виснет при включении музыки втентаклике с помощью флеш плеера, иногда виснет просто так, без причины.
как это можно словить и отдебажить?

★★★★★

Ответ на: комментарий от i_gnatenko_brain

Там что, всё-таки делают чёрный список? Из начала обсуждения я понял, что таких ноутов слишком много и они хотели вообще отключить регулировку яркости посредством таблиц acpi по умолчанию. Я понял неправильно?

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

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

i_gnatenko_brain ★★★★
()

ТС - покажите dmesg после загрузки системы (не сразу а через 1 минуту работы)

reprimand ★★★★★
()
Ответ на: комментарий от i-rinat
On 10/16/2013 07:33 AM, Rafael J. Wysocki wrote:
> On Friday, October 11, 2013 09:27:42 PM Aaron Lu wrote:
>> v5:
>> 1 Introduce video.use_native_backlight module parameter and set its
>>   value to false by default as suggested by Rafael. For Win8 systems
>>   which have broken ACPI video backlight control, the parameter can be
>>   set to 1 in kernel cmdline to skip registering ACPI video's backlight
>>   interface. Due to this change, the acpi_video_verify_backlight_support
>>   is moved from video_detect.c to video.c - patch 3/4;
>> 2 Rename bd_list_head and bd_list_mutex in backlight.c to
>>   backlight_dev_list and backlight_dev_list_mutex as suggested by Rafael
>>   - patch 1/4.
>>
>> v4:
>> Remove decleration and stub for acpi_video_unregister_backlight in
>> video.h of patch 2/4 since that function doesn't exist anymore in v3.
>>
>> v3:
>> 1 Add a new patch 4/4 to fix some problems in thinkpad-acpi module;
>> 2 Remove unnecessary function acpi_video_unregister_backlight introduced
>>   in patch 2/4 as pointed out by Jani Nikula.
>>
>> v2:
>> v1 has the subject of "Rework ACPI video driver" and is posted here:
>> http://lkml.org/lkml/2013/9/9/74
>> Since the objective is really to fix Win8 backlight issues, I changed
>> the subject in this version, sorry about that.
>>
>> This patchset has four patches, the first introduced a new API named
>> backlight_device_registered in backlight layer that can be used for
>> backlight interface provider module to check if a specific type backlight
>> interface has been registered, see changelog for patch 1/4 for details.
>> Then patch 2/4 does the cleanup to sepeate the backlight control and
>> event delivery functionality in the ACPI video module and patch 3/4
>> solves some Win8 backlight control problems by avoiding register ACPI
>> video's backlight interface if:
>> 1 Kernel cmdline option acpi_backlight=video is not given;
>> 2 This is a Win8 system;
>> 3 Native backlight control interface exists.
>> Patch 4/4 fixes some problems in thinkpad-acpi module.
>>
>> Technically, patch 2/4 is not required to fix the issue here. So if you
>> think it is not necessary, I can remove it from the series.
>>
>> Aaron Lu (4):
>>   backlight: introduce backlight_device_registered
>>   ACPI / video: seperate backlight control and event interface
>>   ACPI / video: Do not register backlight if win8 and native interface
>>     exists
>>   thinkpad-acpi: fix handle locate for video and query of _BCL
>>
>>  drivers/acpi/internal.h              |   4 +-
>>  drivers/acpi/video.c                 | 457 ++++++++++++++++++++---------------
>>  drivers/acpi/video_detect.c          |   4 +-
>>  drivers/platform/x86/thinkpad_acpi.c |  31 ++-
>>  drivers/video/backlight/backlight.c  |  31 +++
>>  include/linux/backlight.h            |   4 +
>>  6 files changed, 326 insertions(+), 205 deletions(-)
> 
> I've added this series to my queue for 3.13.
> 
> Since the next step will be to introduce a list of systems that need
> video.use_native_backlight=1 *and* don't break in that configuration, I don't
> see much point adding another Kconfig option for the default.
> 
> Hopefully, in the future we'll be able to fix the problems causing
> video.use_native_backlight=1 to fail of the systems where it fails and then
> we'll be able to make that the default behavior and drop the option altogether.

I've prepared a patch(at the end of the mail) to set use_native_backlight
by default for some systems. There are 3 systems currently that I'm
kind of sure that should be added:

The ThinkPad T430s and X230 is:
Reported-by: Theodore Tso <tytso@mit.edu>
Reported-and-tested-by: Peter Weber <bugs@ttyhoney.com>
Reported-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=51231

The Lenovo Yoga is:
Reported-by: Lennart Poettering <lennart@poettering.net>
Reference: https://lkml.org/lkml/2013/10/13/178

From: Aaron Lu <aaron.lu@intel.com>
Subject: [PATCH] ACPI / video: Add systems that should favor native backlight
 interface

Some system's ACPI video backlight control interface is broken and the
native backlight control interface should be used by default. This patch
sets the use_native_backlight parameter to true for those systems so
that video backlight control interface will not be created. To be
clear, the ThinkPad T430s/X230 and Lenovo Yoga 13 are added here.

Reported-by: Theodore Tso <tytso@mit.edu>
Reported-and-tested-by: Peter Weber <bugs@ttyhoney.com>
Reported-by: Lennart Poettering <lennart@poettering.net>
Reported-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
---
 drivers/acpi/video.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index d020df5..9a80a94 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -412,6 +412,12 @@ static int video_ignore_initial_backlight(const struct dmi_system_id *d)
 	return 0;
 }
 
+static int __init video_set_use_native_backlight(const struct dmi_system_id *d)
+{
+	use_native_backlight = true;
+	return 0;
+}
+
 static struct dmi_system_id video_dmi_table[] __initdata = {
 	/*
 	 * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
@@ -504,6 +510,30 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion m4 Notebook PC"),
 		},
 	},
+	{
+	 .callback = video_set_use_native_backlight,
+	 .ident = "ThinkPad T430s",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430s"),
+		},
+	},
+	{
+	 .callback = video_set_use_native_backlight,
+	 .ident = "ThinkPad X230",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X230"),
+		},
+	},
+	{
+	 .callback = video_set_use_native_backlight,
+	 .ident = "Lenovo Yoga 13",
+	 .matches = {
+		 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		 DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo IdeaPad Yoga 13"),
+		},
+	},
 	{}
 };
 
-- 
1.8.4.39.ga0d3f10
i_gnatenko_brain ★★★★
()
Последнее исправление: i_gnatenko_brain (всего исправлений: 1)
Ответ на: комментарий от i_gnatenko_brain
Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Dell Inc.
        Product Name: Inspiron 7520
        Version: A10
        Serial Number: XXXXXXX
        UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
        Wake-up Type: Power Switch
        SKU Number: Inspiron 7520
        Family: 103C_5335KV

(Я только затёр серийник, во имя паранойи.) Видимо, нужно добавить что-то вроде:

+	{
+	 .callback = video_set_use_native_backlight,
+	 .ident = "Dell Inspiron 7520",
+	 .matches = {
+		 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+		 DMI_MATCH(DMI_PRODUCT_VERSION, "Inspiron 7520"),
+		},
+	},

i-rinat ★★★★★
()
Ответ на: комментарий от snoopcat

Если тебе годится любой kernel panic, для проверки что ты всё правильно настроил и готов поймать трейс, то

не выполнять, вызывает kernel panic

# echo 1 > /proc/sys/kernel/sysrq
# echo c > /proc/sysrq-trigger

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

Бывает когда железо кашляет, cat /var/log/messages |grep -i nmi recieved [-A 1 -B 1] чего нибудь выдает

Алсо, у опа же

Oct 22 12:57:19 somewhere kernel: [308352.142968] [drm] Wrong MCH_SSKPD value: 0x16040307
  Oct 22 12:57:19 somewhere kernel: [308352.142969] [drm] This can cause pipe underruns and display issues.
  Oct 22 12:57:19 somewhere kernel: [308352.142970] [drm] Please upgrade your BIOS to fix this
что-то тоже не так?

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

ну паника(?)-то рандомная, пока что

up 1 day, 22:47

нету:)

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

а почему именно 3.9?

Вероятно потому что у меня были подобные баги с ноутом на 3.10. Именно с флэшем и видео. А вот на 3.9.7 все идеально. Не знаю в чем баг, но 3.10 я пропущу.

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

сделал apt-get upgrade, теперь всё ок, по-прежнему 3.10

annelin@somewhere ~/Desktop/php-sip $ uname -a
Linux somewhere 3.10-3-686-pae #1 SMP Debian 3.10.11-1 (2013-09-10) i686 GNU/Linux
annelin@somewhere ~/Desktop/php-sip $ uptime
19:48:48 up 13 days, 1:57, 5 users, load average: 0,32, 0,34, 0,33

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

У меня больше недели не держит. Но я подозреваю, что тут нвидия замешана. Я давно слышал, что блобы хорошо работают только на старых ядрах, которые оттестированы лучше. Когда-то нечто подобное было с броадкомом, хорошо работал только на 2.6.32

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