Jakub Filak c83982
From 9d9e0b94573e668bc242a68f4007e67c3eef4ddf Mon Sep 17 00:00:00 2001
Jakub Filak c83982
From: Laura Abbott <labbott@fedoraproject.org>
Jakub Filak c83982
Date: Wed, 27 May 2015 16:27:32 -0700
Jakub Filak c83982
Subject: [PATCH] abrt: Fixup component of select kernel backtraces
Jakub Filak c83982
Jakub Filak c83982
The kernel is a big project and certain parts of it
Jakub Filak c83982
may need to be tracked under different components.
Jakub Filak c83982
Fixup results related to those parts and assign a
Jakub Filak c83982
different component.
Jakub Filak c83982
Jakub Filak c83982
Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
Jakub Filak c83982
Jakub Filak c83982
- ported to Python 3
Jakub Filak c83982
- removed a left over
Jakub Filak c83982
- extended a log message
Jakub Filak c83982
Jakub Filak c83982
Signed-off-by: Jakub Filak <jfilak@redhat.com>
Jakub Filak c83982
---
Jakub Filak c83982
 .gitignore                                         |  1 +
Jakub Filak c83982
 abrt.spec.in                                       |  1 +
Jakub Filak c83982
 configure.ac                                       |  1 +
Jakub Filak c83982
 examples/oops-32bit-graphics.right                 | 73 +++++++++++++++++
Jakub Filak c83982
 examples/oops-32bit-graphics.test                  | 71 +++++++++++++++++
Jakub Filak c83982
 examples/oops-noveau.right                         | 39 +++++++++
Jakub Filak c83982
 examples/oops-noveau.test                          | 38 +++++++++
Jakub Filak c83982
 src/plugins/Makefile.am                            |  3 +
Jakub Filak c83982
 .../abrt-action-check-oops-for-alt-component.in    | 93 ++++++++++++++++++++++
Jakub Filak c83982
 src/plugins/koops_event.conf                       |  3 +
Jakub Filak c83982
 src/plugins/vmcore_event.conf                      |  1 +
Jakub Filak c83982
 11 files changed, 324 insertions(+)
Jakub Filak c83982
 create mode 100644 examples/oops-32bit-graphics.right
Jakub Filak c83982
 create mode 100644 examples/oops-32bit-graphics.test
Jakub Filak c83982
 create mode 100644 examples/oops-noveau.right
Jakub Filak c83982
 create mode 100644 examples/oops-noveau.test
Jakub Filak c83982
 create mode 100644 src/plugins/abrt-action-check-oops-for-alt-component.in
Jakub Filak c83982
Jakub Filak c83982
diff --git a/.gitignore b/.gitignore
Jakub Filak c83982
index 66410cb..f5a93e4 100644
Jakub Filak c83982
--- a/.gitignore
Jakub Filak c83982
+++ b/.gitignore
Jakub Filak c83982
@@ -30,6 +30,7 @@ src/plugins/abrt-action-analyze-python
Jakub Filak c83982
 src/plugins/abrt-action-analyze-vmcore
Jakub Filak c83982
 src/plugins/abrt-action-analyze-xorg
Jakub Filak c83982
 src/plugins/abrt-action-check-oops-for-hw-error
Jakub Filak c83982
+src/plugins/abrt-action-check-oops-for-alt-component
Jakub Filak c83982
 src/plugins/abrt-action-generate-backtrace
Jakub Filak c83982
 src/plugins/abrt-action-install-debuginfo-to-abrt-cache
Jakub Filak c83982
 src/plugins/abrt-action-perform-ccpp-analysis
Jakub Filak c83982
diff --git a/abrt.spec.in b/abrt.spec.in
Jakub Filak c83982
index 08eb93f..c73eaf6 100644
Jakub Filak c83982
--- a/abrt.spec.in
Jakub Filak c83982
+++ b/abrt.spec.in
Jakub Filak c83982
@@ -975,6 +975,7 @@ killall abrt-dbus >/dev/null 2>&1 || :
Jakub Filak c83982
 %endif
Jakub Filak c83982
 %{_sbindir}/abrt-harvest-vmcore
Jakub Filak c83982
 %{_bindir}/abrt-action-analyze-vmcore
Jakub Filak c83982
+%{_bindir}/abrt-action-check-oops-for-alt-component
Jakub Filak c83982
 %{_bindir}/abrt-action-check-oops-for-hw-error
Jakub Filak c83982
 %{_mandir}/man1/abrt-harvest-vmcore.1*
Jakub Filak c83982
 %{_mandir}/man5/abrt-vmcore.conf.5*
Jakub Filak c83982
diff --git a/configure.ac b/configure.ac
Jakub Filak c83982
index 2958807..b372e12 100644
Jakub Filak c83982
--- a/configure.ac
Jakub Filak c83982
+++ b/configure.ac
Jakub Filak c83982
@@ -429,6 +429,7 @@ AC_CONFIG_FILES([
Jakub Filak c83982
 	src/plugins/abrt-action-install-debuginfo
Jakub Filak c83982
 	src/plugins/abrt-action-analyze-vmcore
Jakub Filak c83982
 	src/plugins/abrt-action-check-oops-for-hw-error
Jakub Filak c83982
+	src/plugins/abrt-action-check-oops-for-alt-component
Jakub Filak c83982
 	src/python-problem/Makefile
Jakub Filak c83982
 	src/python-problem/doc/Makefile
Jakub Filak c83982
 	src/python-problem/tests/Makefile
Jakub Filak c83982
diff --git a/examples/oops-32bit-graphics.right b/examples/oops-32bit-graphics.right
Jakub Filak c83982
new file mode 100644
Jakub Filak c83982
index 0000000..9891d02
Jakub Filak c83982
--- /dev/null
Jakub Filak c83982
+++ b/examples/oops-32bit-graphics.right
Jakub Filak c83982
@@ -0,0 +1,73 @@
Jakub Filak c83982
+abrt-dump-oops: Found oopses: 2
Jakub Filak c83982
+abrt-dump-oops: Kernel is tainted 'GD'
Jakub Filak c83982
+
Jakub Filak c83982
+Version: 4.0.3-201.fc21.i686+PAE
Jakub Filak c83982
+BUG: unable to handle kernel NULL pointer dereference at 00000008
Jakub Filak c83982
+IP: [<f83f9f24>] radeon_audio_detect+0x54/0x140 [radeon]
Jakub Filak c83982
+*pdpt = 0000000033260001 *pde = 0000000000000000 
Jakub Filak c83982
+Oops: 0000 [#1] SMP 
Jakub Filak c83982
+Modules linked in: radeon i2c_algo_bit drm_kms_helper e1000 ttm e100 drm ata_generic pata_acpi mii
Jakub Filak c83982
+CPU: 0 PID: 222 Comm: plymouthd Not tainted 4.0.3-201.fc21.i686+PAE #1
Jakub Filak c83982
+Hardware name: Dell Inc.                 Dimension 4700               /0M3918, BIOS A10 01/04/2006
Jakub Filak c83982
+task: f325f640 ti: f33b8000 task.ti: f33b8000
Jakub Filak c83982
+EIP: 0060:[<f83f9f24>] EFLAGS: 00010246 CPU: 0
Jakub Filak c83982
+EIP is at radeon_audio_detect+0x54/0x140 [radeon]
Jakub Filak c83982
+EAX: f6884240 EBX: f339dc00 ECX: 00000000 EDX: 00000000
Jakub Filak c83982
+ESI: f3364320 EDI: f681c000 EBP: f33b9d14 ESP: f33b9d04
Jakub Filak c83982
+ DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Jakub Filak c83982
+CR0: 80050033 CR2: 00000008 CR3: 33209000 CR4: 000007f0
Jakub Filak c83982
+Stack:
Jakub Filak c83982
+ f6884240 f339dc00 00000001 f7374800 f33b9d48 f833bb78 00000001 f33be600
Jakub Filak c83982
+ 4ac04888 00000000 f33be600 f33b9d68 00000001 f681c000 f339dc30 f339dc00
Jakub Filak c83982
+ 00000001 f33b9d94 f809287b f3259580 f775d500 f325f640 f33b9fec f33e0540
Jakub Filak c83982
+Call Trace:
Jakub Filak c83982
+ [<f833bb78>] radeon_dvi_detect+0x2d8/0x4b0 [radeon]
Jakub Filak c83982
+ [<f809287b>] drm_helper_probe_single_connector_modes_merge_bits+0x27b/0x4a0 [drm_kms_helper]
Jakub Filak c83982
+ [<c0a8abc0>] ? mutex_lock+0x10/0x30
Jakub Filak c83982
+ [<f8092ab7>] drm_helper_probe_single_connector_modes+0x17/0x20 [drm_kms_helper]
Jakub Filak c83982
+ [<f80c5f2d>] drm_mode_getconnector+0x28d/0x320 [drm]
Jakub Filak c83982
+ [<f80c5ca0>] ? drm_mode_getcrtc+0xd0/0xd0 [drm]
Jakub Filak c83982
+ [<f80b81a5>] drm_ioctl+0x1f5/0x560 [drm]
Jakub Filak c83982
+ [<f80c5ca0>] ? drm_mode_getcrtc+0xd0/0xd0 [drm]
Jakub Filak c83982
+ [<c05064a7>] ? do_seccomp+0x2d7/0x6e0
Jakub Filak c83982
+ [<c07043a6>] ? _copy_to_user+0x26/0x30
Jakub Filak c83982
+ [<c0823931>] ? __pm_runtime_resume+0x51/0x70
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+ [<f831503e>] radeon_drm_ioctl+0x3e/0x70 [radeon]
Jakub Filak c83982
+ [<f8315000>] ? 0xf8315000
Jakub Filak c83982
+ [<c05b69b2>] do_vfs_ioctl+0x322/0x540
Jakub Filak c83982
+ [<c0690c42>] ? inode_has_perm.isra.32+0x32/0x50
Jakub Filak c83982
+ [<c0690da7>] ? file_has_perm+0x97/0xa0
Jakub Filak c83982
+ [<c06919cb>] ? selinux_file_ioctl+0x4b/0xe0
Jakub Filak c83982
+ [<c05b6c30>] SyS_ioctl+0x60/0x90
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+ [<c0a8d0df>] sysenter_do_call+0x12/0x12
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+Code: 44 8b 93 0c 02 00 00 8b 02 8b b2 20 01 00 00 8b 78 18 8b 86 e4 00 00 00 85 c0 74 29 83 7d f0 01 74 35 8b 50 10 8b 8f 70 1c 00 00 <8b> 59 08 85 db 74 0c 89 f8 31 c9 ff d3 8b 86 e4 00 00 00 c7 40
Jakub Filak c83982
+EIP: [<f83f9f24>] radeon_audio_detect+0x54/0x140 [radeon] SS:ESP 0068:f33b9d04
Jakub Filak c83982
+CR2: 0000000000000008
Jakub Filak c83982
+
Jakub Filak c83982
+Version: 4.0.3-201.fc21.i686+PAE
Jakub Filak c83982
+WARNING: CPU: 1 PID: 263 at lib/list_debug.c:62 __list_del_entry+0xf4/0x100()
Jakub Filak c83982
+list_del corruption. next->prev should be f3215564, but was   (null)
Jakub Filak c83982
+Modules linked in: radeon i2c_algo_bit drm_kms_helper e1000 ttm e100 drm ata_generic pata_acpi mii
Jakub Filak c83982
+CPU: 1 PID: 263 Comm: plymouth Tainted: G      D         4.0.3-201.fc21.i686+PAE #1
Jakub Filak c83982
+Hardware name: Dell Inc.                 Dimension 4700               /0M3918, BIOS A10 01/04/2006
Jakub Filak c83982
+ c0d3c9c7 b9171629 00000000 f3337eb4 c0a878b6 f3337ef8 f3337ee8 c0466c1b
Jakub Filak c83982
+ c0c929c4 f3337f18 00000107 c0c91c9f 0000003e c0712794 0000003e c0712794
Jakub Filak c83982
+ 00000000 00000001 f32150a0 f3337f04 c0466c8e 00000009 f3337ef8 c0c929c4
Jakub Filak c83982
+Call Trace:
Jakub Filak c83982
+ [<c0a878b6>] dump_stack+0x41/0x52
Jakub Filak c83982
+ [<c0466c1b>] warn_slowpath_common+0x8b/0xc0
Jakub Filak c83982
+ [<c0712794>] ? __list_del_entry+0xf4/0x100
Jakub Filak c83982
+ [<c0712794>] ? __list_del_entry+0xf4/0x100
Jakub Filak c83982
+ [<c0466c8e>] warn_slowpath_fmt+0x3e/0x60
Jakub Filak c83982
+ [<c0712794>] __list_del_entry+0xf4/0x100
Jakub Filak c83982
+ [<c04e8a63>] cgroup_exit+0x33/0x100
Jakub Filak c83982
+ [<c0469208>] do_exit+0x2b8/0x950
Jakub Filak c83982
+ [<c0457a72>] ? __do_page_fault+0x252/0x4a0
Jakub Filak c83982
+ [<c0469917>] do_group_exit+0x37/0xa0
Jakub Filak c83982
+ [<c0469996>] SyS_exit_group+0x16/0x20
Jakub Filak c83982
+ [<c0a8d0df>] sysenter_do_call+0x12/0x12
Jakub Filak c83982
diff --git a/examples/oops-32bit-graphics.test b/examples/oops-32bit-graphics.test
Jakub Filak c83982
new file mode 100644
Jakub Filak c83982
index 0000000..da3d716
Jakub Filak c83982
--- /dev/null
Jakub Filak c83982
+++ b/examples/oops-32bit-graphics.test
Jakub Filak c83982
@@ -0,0 +1,71 @@
Jakub Filak c83982
+BUG: unable to handle kernel NULL pointer dereference at 00000008
Jakub Filak c83982
+IP: [<f83f9f24>] radeon_audio_detect+0x54/0x140 [radeon]
Jakub Filak c83982
+*pdpt = 0000000033260001 *pde = 0000000000000000 
Jakub Filak c83982
+Oops: 0000 [#1] SMP 
Jakub Filak c83982
+Modules linked in: radeon i2c_algo_bit drm_kms_helper e1000 ttm e100 drm ata_generic pata_acpi mii
Jakub Filak c83982
+CPU: 0 PID: 222 Comm: plymouthd Not tainted 4.0.3-201.fc21.i686+PAE #1
Jakub Filak c83982
+Hardware name: Dell Inc.                 Dimension 4700               /0M3918, BIOS A10 01/04/2006
Jakub Filak c83982
+task: f325f640 ti: f33b8000 task.ti: f33b8000
Jakub Filak c83982
+EIP: 0060:[<f83f9f24>] EFLAGS: 00010246 CPU: 0
Jakub Filak c83982
+EIP is at radeon_audio_detect+0x54/0x140 [radeon]
Jakub Filak c83982
+EAX: f6884240 EBX: f339dc00 ECX: 00000000 EDX: 00000000
Jakub Filak c83982
+ESI: f3364320 EDI: f681c000 EBP: f33b9d14 ESP: f33b9d04
Jakub Filak c83982
+ DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Jakub Filak c83982
+CR0: 80050033 CR2: 00000008 CR3: 33209000 CR4: 000007f0
Jakub Filak c83982
+Stack:
Jakub Filak c83982
+ f6884240 f339dc00 00000001 f7374800 f33b9d48 f833bb78 00000001 f33be600
Jakub Filak c83982
+ 4ac04888 00000000 f33be600 f33b9d68 00000001 f681c000 f339dc30 f339dc00
Jakub Filak c83982
+ 00000001 f33b9d94 f809287b f3259580 f775d500 f325f640 f33b9fec f33e0540
Jakub Filak c83982
+Call Trace:
Jakub Filak c83982
+ [<f833bb78>] radeon_dvi_detect+0x2d8/0x4b0 [radeon]
Jakub Filak c83982
+ [<f809287b>] drm_helper_probe_single_connector_modes_merge_bits+0x27b/0x4a0 [drm_kms_helper]
Jakub Filak c83982
+ [<c0a8abc0>] ? mutex_lock+0x10/0x30
Jakub Filak c83982
+ [<f8092ab7>] drm_helper_probe_single_connector_modes+0x17/0x20 [drm_kms_helper]
Jakub Filak c83982
+ [<f80c5f2d>] drm_mode_getconnector+0x28d/0x320 [drm]
Jakub Filak c83982
+ [<f80c5ca0>] ? drm_mode_getcrtc+0xd0/0xd0 [drm]
Jakub Filak c83982
+ [<f80b81a5>] drm_ioctl+0x1f5/0x560 [drm]
Jakub Filak c83982
+ [<f80c5ca0>] ? drm_mode_getcrtc+0xd0/0xd0 [drm]
Jakub Filak c83982
+ [<c05064a7>] ? do_seccomp+0x2d7/0x6e0
Jakub Filak c83982
+ [<c07043a6>] ? _copy_to_user+0x26/0x30
Jakub Filak c83982
+ [<c0823931>] ? __pm_runtime_resume+0x51/0x70
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+ [<f831503e>] radeon_drm_ioctl+0x3e/0x70 [radeon]
Jakub Filak c83982
+ [<f8315000>] ? 0xf8315000
Jakub Filak c83982
+ [<c05b69b2>] do_vfs_ioctl+0x322/0x540
Jakub Filak c83982
+ [<c0690c42>] ? inode_has_perm.isra.32+0x32/0x50
Jakub Filak c83982
+ [<c0690da7>] ? file_has_perm+0x97/0xa0
Jakub Filak c83982
+ [<c06919cb>] ? selinux_file_ioctl+0x4b/0xe0
Jakub Filak c83982
+ [<c05b6c30>] SyS_ioctl+0x60/0x90
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+ [<c0a8d0df>] sysenter_do_call+0x12/0x12
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
Jakub Filak c83982
+Code: 44 8b 93 0c 02 00 00 8b 02 8b b2 20 01 00 00 8b 78 18 8b 86 e4 00 00 00 85 c0 74 29 83 7d f0 01 74 35 8b 50 10 8b 8f 70 1c 00 00 <8b> 59 08 85 db 74 0c 89 f8 31 c9 ff d3 8b 86 e4 00 00 00 c7 40
Jakub Filak c83982
+EIP: [<f83f9f24>] radeon_audio_detect+0x54/0x140 [radeon] SS:ESP 0068:f33b9d04
Jakub Filak c83982
+CR2: 0000000000000008
Jakub Filak c83982
+---[ end trace c37768228d821e9f ]---
Jakub Filak c83982
+------------[ cut here ]------------
Jakub Filak c83982
+WARNING: CPU: 1 PID: 263 at lib/list_debug.c:62 __list_del_entry+0xf4/0x100()
Jakub Filak c83982
+list_del corruption. next->prev should be f3215564, but was   (null)
Jakub Filak c83982
+Modules linked in: radeon i2c_algo_bit drm_kms_helper e1000 ttm e100 drm ata_generic pata_acpi mii
Jakub Filak c83982
+CPU: 1 PID: 263 Comm: plymouth Tainted: G      D         4.0.3-201.fc21.i686+PAE #1
Jakub Filak c83982
+Hardware name: Dell Inc.                 Dimension 4700               /0M3918, BIOS A10 01/04/2006
Jakub Filak c83982
+ c0d3c9c7 b9171629 00000000 f3337eb4 c0a878b6 f3337ef8 f3337ee8 c0466c1b
Jakub Filak c83982
+ c0c929c4 f3337f18 00000107 c0c91c9f 0000003e c0712794 0000003e c0712794
Jakub Filak c83982
+ 00000000 00000001 f32150a0 f3337f04 c0466c8e 00000009 f3337ef8 c0c929c4
Jakub Filak c83982
+Call Trace:
Jakub Filak c83982
+ [<c0a878b6>] dump_stack+0x41/0x52
Jakub Filak c83982
+ [<c0466c1b>] warn_slowpath_common+0x8b/0xc0
Jakub Filak c83982
+ [<c0712794>] ? __list_del_entry+0xf4/0x100
Jakub Filak c83982
+ [<c0712794>] ? __list_del_entry+0xf4/0x100
Jakub Filak c83982
+ [<c0466c8e>] warn_slowpath_fmt+0x3e/0x60
Jakub Filak c83982
+ [<c0712794>] __list_del_entry+0xf4/0x100
Jakub Filak c83982
+ [<c04e8a63>] cgroup_exit+0x33/0x100
Jakub Filak c83982
+ [<c0469208>] do_exit+0x2b8/0x950
Jakub Filak c83982
+ [<c0457a72>] ? __do_page_fault+0x252/0x4a0
Jakub Filak c83982
+ [<c0469917>] do_group_exit+0x37/0xa0
Jakub Filak c83982
+ [<c0469996>] SyS_exit_group+0x16/0x20
Jakub Filak c83982
+ [<c0a8d0df>] sysenter_do_call+0x12/0x12
Jakub Filak c83982
+---[ end trace c37768228d821ea0 ]---
Jakub Filak c83982
+
Jakub Filak c83982
diff --git a/examples/oops-noveau.right b/examples/oops-noveau.right
Jakub Filak c83982
new file mode 100644
Jakub Filak c83982
index 0000000..d6c87a2
Jakub Filak c83982
--- /dev/null
Jakub Filak c83982
+++ b/examples/oops-noveau.right
Jakub Filak c83982
@@ -0,0 +1,39 @@
Jakub Filak c83982
+abrt-dump-oops: Found oopses: 1
Jakub Filak c83982
+
Jakub Filak c83982
+Version: 3.19.5-200.fc21.x86_64
Jakub Filak c83982
+WARNING: CPU: 0 PID: 16684 at arch/x86/mm/ioremap.c:197 __ioremap_caller+0x2aa/0x3a0()
Jakub Filak c83982
+Info: mapping multiple BARs. Your kernel is fine.
Jakub Filak c83982
+Modules linked in:
Jakub Filak c83982
+ bnep bluetooth rfkill xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack bridge stp llc snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec fuse snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer edac_core usblp kvm_amd snd serio_raw kvm k10temp edac_mce_amd sp5100_tco i2c_piix4 shpchp soundcore acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc ata_generic pata_acpi nouveau video mxm_wmi wmi i2c_algo_bit drm_kms_helper ttm drm pata_atiixp r8169 mii
Jakub Filak c83982
+CPU: 0 PID: 16684 Comm: firefox Not tainted 3.19.5-200.fc21.x86_64 #1
Jakub Filak c83982
+Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./970A-DS3P, BIOS F1 04/08/2013
Jakub Filak c83982
+ 0000000000000000 0000000087b0a5f7 ffff8802e1b9b768 ffffffff8176ead5
Jakub Filak c83982
+ 0000000000000000 ffff8802e1b9b7c0 ffff8802e1b9b7a8 ffffffff8109bc1a
Jakub Filak c83982
+ ffff8802e1b9b7d8 ffffc9001c180000 00000000d206d000 0000000000100000
Jakub Filak c83982
+Call Trace:
Jakub Filak c83982
+ [<ffffffff8176ead5>] dump_stack+0x45/0x57
Jakub Filak c83982
+ [<ffffffff8109bc1a>] warn_slowpath_common+0x8a/0xc0
Jakub Filak c83982
+ [<ffffffff8109bca5>] warn_slowpath_fmt+0x55/0x70
Jakub Filak c83982
+ [<ffffffff810643aa>] __ioremap_caller+0x2aa/0x3a0
Jakub Filak c83982
+ [<ffffffff810644b7>] ioremap_nocache+0x17/0x20
Jakub Filak c83982
+ [<ffffffffa00e8036>] nouveau_barobj_ctor+0xd6/0x110 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e69d1>] nouveau_object_ctor+0x41/0xf0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e80af>] nouveau_bar_alloc+0x3f/0x70 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e3795>] nouveau_gpuobj_create_+0x2a5/0x2f0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e382c>] _nouveau_gpuobj_ctor+0x4c/0x70 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e69d1>] nouveau_object_ctor+0x41/0xf0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e38ab>] nouveau_gpuobj_new+0x5b/0x80 [nouveau]
Jakub Filak c83982
+ [<ffffffffa0132173>] nouveau_vm_get+0x183/0x2f0 [nouveau]
Jakub Filak c83982
+ [<ffffffff811dd04a>] ? map_vm_area+0x2a/0x40
Jakub Filak c83982
+ [<ffffffffa0182744>] nouveau_bo_vma_add+0x34/0x90 [nouveau]
Jakub Filak c83982
+ [<ffffffffa017aee9>] nouveau_channel_prep+0x269/0x3b0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa017b0b3>] nouveau_channel_new+0x83/0x800 [nouveau]
Jakub Filak c83982
+ [<ffffffffa01782fa>] ? nvif_device_init+0x3a/0x50 [nouveau]
Jakub Filak c83982
+ [<ffffffff811fbba6>] ? kmem_cache_alloc_trace+0x1f6/0x230
Jakub Filak c83982
+ [<ffffffffa0185770>] nouveau_abi16_ioctl_channel_alloc+0x120/0x3a0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa0031a9f>] drm_ioctl+0x1df/0x680 [drm]
Jakub Filak c83982
+ [<ffffffff811cf196>] ? handle_mm_fault+0x8a6/0xff0
Jakub Filak c83982
+ [<ffffffffa0179222>] nouveau_drm_ioctl+0x72/0xd0 [nouveau]
Jakub Filak c83982
+ [<ffffffff8122e318>] do_vfs_ioctl+0x2f8/0x500
Jakub Filak c83982
+ [<ffffffff8122e5a1>] SyS_ioctl+0x81/0xa0
Jakub Filak c83982
+ [<ffffffff817752c9>] system_call_fastpath+0x12/0x17
Jakub Filak c83982
diff --git a/examples/oops-noveau.test b/examples/oops-noveau.test
Jakub Filak c83982
new file mode 100644
Jakub Filak c83982
index 0000000..8678a7d
Jakub Filak c83982
--- /dev/null
Jakub Filak c83982
+++ b/examples/oops-noveau.test
Jakub Filak c83982
@@ -0,0 +1,38 @@
Jakub Filak c83982
+------------[ cut here ]------------
Jakub Filak c83982
+WARNING: CPU: 0 PID: 16684 at arch/x86/mm/ioremap.c:197 __ioremap_caller+0x2aa/0x3a0()
Jakub Filak c83982
+Info: mapping multiple BARs. Your kernel is fine.
Jakub Filak c83982
+Modules linked in:
Jakub Filak c83982
+ bnep bluetooth rfkill xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack bridge stp llc snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec fuse snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer edac_core usblp kvm_amd snd serio_raw kvm k10temp edac_mce_amd sp5100_tco i2c_piix4 shpchp soundcore acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc ata_generic pata_acpi nouveau video mxm_wmi wmi i2c_algo_bit drm_kms_helper ttm drm pata_atiixp r8169 mii
Jakub Filak c83982
+CPU: 0 PID: 16684 Comm: firefox Not tainted 3.19.5-200.fc21.x86_64 #1
Jakub Filak c83982
+Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./970A-DS3P, BIOS F1 04/08/2013
Jakub Filak c83982
+ 0000000000000000 0000000087b0a5f7 ffff8802e1b9b768 ffffffff8176ead5
Jakub Filak c83982
+ 0000000000000000 ffff8802e1b9b7c0 ffff8802e1b9b7a8 ffffffff8109bc1a
Jakub Filak c83982
+ ffff8802e1b9b7d8 ffffc9001c180000 00000000d206d000 0000000000100000
Jakub Filak c83982
+Call Trace:
Jakub Filak c83982
+ [<ffffffff8176ead5>] dump_stack+0x45/0x57
Jakub Filak c83982
+ [<ffffffff8109bc1a>] warn_slowpath_common+0x8a/0xc0
Jakub Filak c83982
+ [<ffffffff8109bca5>] warn_slowpath_fmt+0x55/0x70
Jakub Filak c83982
+ [<ffffffff810643aa>] __ioremap_caller+0x2aa/0x3a0
Jakub Filak c83982
+ [<ffffffff810644b7>] ioremap_nocache+0x17/0x20
Jakub Filak c83982
+ [<ffffffffa00e8036>] nouveau_barobj_ctor+0xd6/0x110 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e69d1>] nouveau_object_ctor+0x41/0xf0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e80af>] nouveau_bar_alloc+0x3f/0x70 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e3795>] nouveau_gpuobj_create_+0x2a5/0x2f0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e382c>] _nouveau_gpuobj_ctor+0x4c/0x70 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e69d1>] nouveau_object_ctor+0x41/0xf0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa00e38ab>] nouveau_gpuobj_new+0x5b/0x80 [nouveau]
Jakub Filak c83982
+ [<ffffffffa0132173>] nouveau_vm_get+0x183/0x2f0 [nouveau]
Jakub Filak c83982
+ [<ffffffff811dd04a>] ? map_vm_area+0x2a/0x40
Jakub Filak c83982
+ [<ffffffffa0182744>] nouveau_bo_vma_add+0x34/0x90 [nouveau]
Jakub Filak c83982
+ [<ffffffffa017aee9>] nouveau_channel_prep+0x269/0x3b0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa017b0b3>] nouveau_channel_new+0x83/0x800 [nouveau]
Jakub Filak c83982
+ [<ffffffffa01782fa>] ? nvif_device_init+0x3a/0x50 [nouveau]
Jakub Filak c83982
+ [<ffffffff811fbba6>] ? kmem_cache_alloc_trace+0x1f6/0x230
Jakub Filak c83982
+ [<ffffffffa0185770>] nouveau_abi16_ioctl_channel_alloc+0x120/0x3a0 [nouveau]
Jakub Filak c83982
+ [<ffffffffa0031a9f>] drm_ioctl+0x1df/0x680 [drm]
Jakub Filak c83982
+ [<ffffffff811cf196>] ? handle_mm_fault+0x8a6/0xff0
Jakub Filak c83982
+ [<ffffffffa0179222>] nouveau_drm_ioctl+0x72/0xd0 [nouveau]
Jakub Filak c83982
+ [<ffffffff8122e318>] do_vfs_ioctl+0x2f8/0x500
Jakub Filak c83982
+ [<ffffffff8122e5a1>] SyS_ioctl+0x81/0xa0
Jakub Filak c83982
+ [<ffffffff817752c9>] system_call_fastpath+0x12/0x17
Jakub Filak c83982
+---[ end trace d72a6ef9c44bed66 ]---
Jakub Filak c83982
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
Jakub Filak c83982
index d90bb76..aa426ff 100644
Jakub Filak c83982
--- a/src/plugins/Makefile.am
Jakub Filak c83982
+++ b/src/plugins/Makefile.am
Jakub Filak c83982
@@ -74,6 +74,7 @@ PYTHON_FILES = \
Jakub Filak c83982
     abrt-action-list-dsos \
Jakub Filak c83982
     abrt-action-analyze-core \
Jakub Filak c83982
     abrt-action-analyze-vulnerability \
Jakub Filak c83982
+    abrt-action-check-oops-for-alt-component.in \
Jakub Filak c83982
     abrt-action-check-oops-for-hw-error.in \
Jakub Filak c83982
     abrt-action-perform-ccpp-analysis.in \
Jakub Filak c83982
     abrt-action-notify
Jakub Filak c83982
@@ -101,6 +102,7 @@ EXTRA_DIST = \
Jakub Filak c83982
 if BUILD_ADDON_VMCORE
Jakub Filak c83982
 bin_SCRIPTS += \
Jakub Filak c83982
     abrt-action-analyze-vmcore \
Jakub Filak c83982
+    abrt-action-check-oops-for-alt-component \
Jakub Filak c83982
     abrt-action-check-oops-for-hw-error
Jakub Filak c83982
 
Jakub Filak c83982
 dist_events_DATA += \
Jakub Filak c83982
@@ -115,6 +117,7 @@ PYTHON_FILES += \
Jakub Filak c83982
 EXTRA_DIST += \
Jakub Filak c83982
     analyze_VMcore.xml.in \
Jakub Filak c83982
     abrt-action-analyze-vmcore \
Jakub Filak c83982
+    abrt-action-check-oops-for-alt-component \
Jakub Filak c83982
     abrt-action-check-oops-for-hw-error
Jakub Filak c83982
 endif
Jakub Filak c83982
 
Jakub Filak c83982
diff --git a/src/plugins/abrt-action-check-oops-for-alt-component.in b/src/plugins/abrt-action-check-oops-for-alt-component.in
Jakub Filak c83982
new file mode 100644
Jakub Filak c83982
index 0000000..3dce42e
Jakub Filak c83982
--- /dev/null
Jakub Filak c83982
+++ b/src/plugins/abrt-action-check-oops-for-alt-component.in
Jakub Filak c83982
@@ -0,0 +1,93 @@
Jakub Filak c83982
+#!/usr/bin/python3 -u
Jakub Filak c83982
+
Jakub Filak c83982
+import sys
Jakub Filak c83982
+import os
Jakub Filak c83982
+import locale
Jakub Filak c83982
+import gettext
Jakub Filak c83982
+import hashlib
Jakub Filak c83982
+import re
Jakub Filak c83982
+
Jakub Filak c83982
+GETTEXT_PROGNAME = "abrt"
Jakub Filak c83982
+
Jakub Filak c83982
+_ = gettext.lgettext
Jakub Filak c83982
+
Jakub Filak c83982
+tags = [
Jakub Filak c83982
+"WARNING:",
Jakub Filak c83982
+"[ER]IP[^:]",
Jakub Filak c83982
+" \[<[a-f0-9]{8,16}>\]"
Jakub Filak c83982
+]
Jakub Filak c83982
+
Jakub Filak c83982
+checks = [
Jakub Filak c83982
+ ("i915", "xorg-x11-drv-intel"),
Jakub Filak c83982
+ ("nouveau", "xorg-x11-drv-nouveau"),
Jakub Filak c83982
+ ("radeon", "xorg-x11-drv-ati"),
Jakub Filak c83982
+ ("qxl", "xorg-x11-drv-qxl"),
Jakub Filak c83982
+]
Jakub Filak c83982
+
Jakub Filak c83982
+def check_tag(line):
Jakub Filak c83982
+    for tag in tags:
Jakub Filak c83982
+        if re.match(tag, line) is not None:
Jakub Filak c83982
+            for (mod, component) in checks:
Jakub Filak c83982
+                if re.search(mod, line) is not None:
Jakub Filak c83982
+                    return component
Jakub Filak c83982
+    return None
Jakub Filak c83982
+
Jakub Filak c83982
+def get_new_component(filename):
Jakub Filak c83982
+    try:
Jakub Filak c83982
+        f = open(filename, "r")
Jakub Filak c83982
+    except IOError as e:
Jakub Filak c83982
+        return None
Jakub Filak c83982
+    for line in f:
Jakub Filak c83982
+        c = check_tag(line)
Jakub Filak c83982
+        if c is not None:
Jakub Filak c83982
+            f.close()
Jakub Filak c83982
+            return c
Jakub Filak c83982
+    f.close()
Jakub Filak c83982
+    return None
Jakub Filak c83982
+
Jakub Filak c83982
+def open_or_die(filename, mode):
Jakub Filak c83982
+    try:
Jakub Filak c83982
+        f = open(filename, mode)
Jakub Filak c83982
+    except IOError as e:
Jakub Filak c83982
+        sys.stderr.write(str(e) + "\n")
Jakub Filak c83982
+        sys.exit(1)
Jakub Filak c83982
+    return f
Jakub Filak c83982
+
Jakub Filak c83982
+
Jakub Filak c83982
+if __name__ == "__main__":
Jakub Filak c83982
+    try:
Jakub Filak c83982
+        locale.setlocale(locale.LC_ALL, "")
Jakub Filak c83982
+    except locale.Error:
Jakub Filak c83982
+        os.environ['LC_ALL'] = 'C'
Jakub Filak c83982
+        locale.setlocale(locale.LC_ALL, "")
Jakub Filak c83982
+
Jakub Filak c83982
+    # Defeat "AttributeError: 'module' object has no attribute 'nl_langinfo'"
Jakub Filak c83982
+    try:
Jakub Filak c83982
+        gettext.bind_textdomain_codeset(GETTEXT_PROGNAME,
Jakub Filak c83982
+                                        locale.nl_langinfo(locale.CODESET))
Jakub Filak c83982
+    except AttributeError:
Jakub Filak c83982
+        pass
Jakub Filak c83982
+
Jakub Filak c83982
+    gettext.bindtextdomain(GETTEXT_PROGNAME, '/usr/share/locale')
Jakub Filak c83982
+    gettext.textdomain(GETTEXT_PROGNAME)
Jakub Filak c83982
+
Jakub Filak c83982
+    #
Jakub Filak c83982
+    # Certain drivers are in the kernel but need to be tracked separtely
Jakub Filak c83982
+    # in other components. This fixes those components.
Jakub Filak c83982
+    #
Jakub Filak c83982
+
Jakub Filak c83982
+    new_component = get_new_component("backtrace")
Jakub Filak c83982
+    if new_component is None:
Jakub Filak c83982
+        sys.exit(0)
Jakub Filak c83982
+
Jakub Filak c83982
+    print("Oops looks like a problem in kernel module, new component {0}"
Jakub Filak c83982
+            .format(new_component))
Jakub Filak c83982
+
Jakub Filak c83982
+    f = open_or_die("component", "w")
Jakub Filak c83982
+    f.write(new_component)
Jakub Filak c83982
+    f.close()
Jakub Filak c83982
+
Jakub Filak c83982
+    # keep kernel maint in the loop even if the component gets changed
Jakub Filak c83982
+    f = open_or_die("extra-cc", "w")
Jakub Filak c83982
+    f.write("kernel-maint@redhat.com")
Jakub Filak c83982
+    f.close()
Jakub Filak c83982
diff --git a/src/plugins/koops_event.conf b/src/plugins/koops_event.conf
Jakub Filak c83982
index a811077..2379d7d 100644
Jakub Filak c83982
--- a/src/plugins/koops_event.conf
Jakub Filak c83982
+++ b/src/plugins/koops_event.conf
Jakub Filak c83982
@@ -8,6 +8,9 @@ EVENT=post-create type=Kerneloops
Jakub Filak c83982
             abrt-action-check-oops-for-hw-error
Jakub Filak c83982
         fi
Jakub Filak c83982
         {
Jakub Filak c83982
+        abrt-action-check-oops-for-alt-component || true
Jakub Filak c83982
+        } &&
Jakub Filak c83982
+        {
Jakub Filak c83982
         # run abrt-action-analyze-oops only if check-hw-error didn't create the
Jakub Filak c83982
         # required files
Jakub Filak c83982
         if test ! -f uuid -a ! -f duphash; then
Jakub Filak c83982
diff --git a/src/plugins/vmcore_event.conf b/src/plugins/vmcore_event.conf
Jakub Filak c83982
index 43fa7f0..6870332 100644
Jakub Filak c83982
--- a/src/plugins/vmcore_event.conf
Jakub Filak c83982
+++ b/src/plugins/vmcore_event.conf
Jakub Filak c83982
@@ -29,6 +29,7 @@ EVENT=post-create type=vmcore
Jakub Filak c83982
         # Do not fail the event (->do not delete problem dir)
Jakub Filak c83982
         # if check-oops-for-hw-error exits nonzero:
Jakub Filak c83982
         { abrt-action-check-oops-for-hw-error || true; }
Jakub Filak c83982
+        { abrt-action-check-oops-for-alt-component || true; }
Jakub Filak c83982
 
Jakub Filak c83982
 # analyze
Jakub Filak c83982
 EVENT=analyze_VMcore type=vmcore
Jakub Filak c83982
-- 
Jakub Filak c83982
2.4.3
Jakub Filak c83982