summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/not_oops1.right1
-rw-r--r--examples/not_oops2.right1
-rw-r--r--examples/oops1.right30
-rw-r--r--examples/oops3224
-rw-r--r--examples/oops3.right157
-rw-r--r--lib/Plugins/KerneloopsSysLog.cpp196
-rw-r--r--src/Hooks/dumpoops.cpp7
7 files changed, 520 insertions, 96 deletions
diff --git a/examples/not_oops1.right b/examples/not_oops1.right
new file mode 100644
index 00000000..5f2c00f0
--- /dev/null
+++ b/examples/not_oops1.right
@@ -0,0 +1 @@
+dumpoops: found oopses: 0
diff --git a/examples/not_oops2.right b/examples/not_oops2.right
new file mode 100644
index 00000000..5f2c00f0
--- /dev/null
+++ b/examples/not_oops2.right
@@ -0,0 +1 @@
+dumpoops: found oopses: 0
diff --git a/examples/oops1.right b/examples/oops1.right
new file mode 100644
index 00000000..d2754b50
--- /dev/null
+++ b/examples/oops1.right
@@ -0,0 +1,30 @@
+dumpoops: found oopses: 1
+
+Version: 2.6.27.9-159.fc10.i686
+BUG: unable to handle kernel NULL pointer dereference at 00000000
+IP: [<f88dec25>] :radeon:radeon_cp_init_ring_buffer+0x90/0x302
+*pde = 6f5c6067
+Oops: 0000 [#1] SMP.
+Modules linked in: r8169 mii fuse nfsd lockd nfs_acl auth_rpcgss exportfs bridge stp bnep sco l2cap bl
+Pid: 8003, comm: Xorg Not tainted (2.6.27.9-159.fc10.i686 #1)
+EIP: 0060:[<f88dec25>] EFLAGS: 00213246 CPU: 1
+EIP is at radeon_cp_init_ring_buffer+0x90/0x302 [radeon]
+EAX: 00000000 EBX: f78b4000 ECX: f78b4000 EDX: 00000000
+ESI: f5dbe800 EDI: 00006458 EBP: f0a0cf18 ESP: f0a0cf08
+DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
+Process Xorg (pid: 8003, ti=f0a0c000 task=f2380000 task.ti=f0a0c000)
+Stack: f0a0cf18 f78b4000 f5dbe800 00006458 f0a0cf28 f88e11c7 f8911a24 00000000.
+ f0a0cf4c f88745f8 f30c3ba0 f5dbe800 f88e114a f5dbe828 f890fd78 f097ac00.
+ 00000000 f0a0cf68 c049b1c0 00000000 00006458 f097ac00 f097ac00 00000000.
+Call Trace:
+[<f88e11c7>] ? radeon_cp_resume+0x7d/0xbc [radeon]
+[<f88745f8>] ? drm_ioctl+0x1b0/0x225 [drm]
+[<f88e114a>] ? radeon_cp_resume+0x0/0xbc [radeon]
+[<c049b1c0>] ? vfs_ioctl+0x50/0x69
+[<c049b414>] ? do_vfs_ioctl+0x23b/0x247
+[<c0460a56>] ? audit_syscall_entry+0xf9/0x123
+[<c049b460>] ? sys_ioctl+0x40/0x5c
+[<c0403c76>] ? syscall_call+0x7/0xb
+=======================
+Code: 66 31 d2 09 c2 89 d8 e8 fc e7 ff ff 8b 83 cc 00 00 00 8b 53 34 03 10 8b 86 70 02 00 00 2b 50 44
+EIP: [<f88dec25>] radeon_cp_init_ring_buffer+0x90/0x302 [radeon] SS:ESP 0068:f0a0cf08
diff --git a/examples/oops3 b/examples/oops3
new file mode 100644
index 00000000..570b10ee
--- /dev/null
+++ b/examples/oops3
@@ -0,0 +1,224 @@
+Nov 19 12:33:40 localhost auditd[1632]: Init complete, auditd 2.0.1 listening for events (startup state enable)
+Nov 19 12:33:59 localhost restorecond: Unable to watch (/home/jmoskovc/public_html/*) No such file or directory
+Nov 19 12:34:38 localhost kernel: [drm] Num pipes: 1
+Nov 19 12:34:38 localhost kernel: Process 1473(Xorg) has RLIMIT_CORE set to 0
+Nov 19 12:34:38 localhost kernel: Aborting core
+Nov 19 12:34:38 localhost kernel: general protection fault: 0000 [#1] SMP
+Nov 19 12:34:38 localhost kernel: last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
+Nov 19 12:34:38 localhost kernel: CPU 0
+Nov 19 12:34:38 localhost kernel: Modules linked in: ipt_MASQUERADE iptable_nat nf_nat bridge stp llc sunrpc xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm_intel kvm snd_hda_codec_analog snd_hda_intel snd_hda_codec btusb snd_hwdep joydev ppdev bluetooth snd_seq arc4 snd_seq_device i2c_i801 thinkpad_acpi hwmon ecb parport_pc irda parport crc_ccitt snd_pcm iTCO_wdt iTCO_vendor_support iwl3945 iwlcore snd_timer snd mac80211 soundcore e1000e cfg80211 snd_page_alloc rfkill yenta_socket rsrc_nonstatic video output radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: microcode]
+Nov 19 12:34:38 localhost kernel: Pid: 1473, comm: Xorg Not tainted 2.6.32-0.51.rc7.git2.fc13.x86_64 #1 2007CTO
+Nov 19 12:34:38 localhost kernel: RIP: 0010:[<ffffffffa006c13c>] [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+Nov 19 12:34:38 localhost kernel: RSP: 0018:ffff88007a7c5ad0 EFLAGS: 00010202
+Nov 19 12:34:38 localhost kernel: RAX: ffff88006d9a7110 RBX: ffff880037f918d8 RCX: ffffc900068a8000
+Nov 19 12:34:38 localhost kernel: RDX: 0000000000000028 RSI: 6b6b6b6b6b6b6b6b RDI: ffff880037f918d8
+Nov 19 12:34:38 localhost kernel: RBP: ffff88007a7c5ad0 R08: ffff880037f91ae8 R09: 0000000000000010
+Nov 19 12:34:38 localhost kernel: R10: ffffffffffffffff R11: 0000000000000000 R12: 0000000000000010
+Nov 19 12:34:38 localhost kernel: R13: ffff88007950e1b0 R14: ffff880037f91a58 R15: ffff88007950e3a0
+Nov 19 12:34:38 localhost kernel: FS: 00007fbb5a7797e0(0000) GS:ffff880006000000(0000) knlGS:0000000000000000
+Nov 19 12:34:38 localhost kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+Nov 19 12:34:38 localhost kernel: CR2: 00000000005a450c CR3: 0000000001001000 CR4: 00000000000026f0
+Nov 19 12:34:38 localhost kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+Nov 19 12:34:38 localhost kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
+Nov 19 12:34:38 localhost kernel: Process Xorg (pid: 1473, threadinfo ffff88007a7c4000, task ffff880079058000)
+Nov 19 12:34:38 localhost kernel: Stack:
+Nov 19 12:34:38 localhost kernel: ffff88007a7c5ae0 ffffffffa006c156 ffff88007a7c5af8 ffffffffa006c881
+Nov 19 12:34:38 localhost kernel: <0> ffff880037f918d8 ffff88007a7c5b18 ffffffffa006d84a 0000000000000000
+Nov 19 12:34:38 localhost kernel: <0> ffff880037f918d8 ffff88007a7c5b38 ffffffffa00709e5 ffff880037f918d8
+Nov 19 12:34:38 localhost kernel: Call Trace:
+Nov 19 12:34:38 localhost kernel: [<ffffffffa006c156>] radeon_get_ring_head+0x16/0x41 [radeon]
+Nov 19 12:34:38 localhost kernel: [<ffffffffa006c881>] radeon_commit_ring+0x4d/0x9c [radeon]
+Nov 19 12:34:38 localhost kernel: [<ffffffffa006d84a>] radeon_do_cp_idle+0x145/0x152 [radeon]
+Nov 19 12:34:38 localhost kernel: [<ffffffffa00709e5>] radeon_apply_surface_regs+0x27/0x13d [radeon]
+Nov 19 12:34:38 localhost kernel: [<ffffffffa0070bdd>] free_surface+0xe2/0xf8 [radeon]
+Nov 19 12:34:38 localhost kernel: [<ffffffffa0076284>] radeon_driver_lastclose+0x41/0x5b [radeon]
+Nov 19 12:34:38 localhost kernel: [<ffffffffa0018f04>] drm_lastclose+0x4f/0x2a0 [drm]
+Nov 19 12:34:38 localhost kernel: [<ffffffffa0019997>] drm_release+0x4d6/0x510 [drm]
+Nov 19 12:34:38 localhost kernel: [<ffffffff8112b3db>] __fput+0x12a/0x1df
+Nov 19 12:34:38 localhost kernel: [<ffffffff8112b4aa>] fput+0x1a/0x1c
+Nov 19 12:34:38 localhost kernel: [<ffffffff81127715>] filp_close+0x68/0x72
+Nov 19 12:34:38 localhost kernel: [<ffffffff8105b4be>] put_files_struct+0x6a/0xcc
+Nov 19 12:34:38 localhost kernel: [<ffffffff8105b55b>] exit_files+0x3b/0x40
+Nov 19 12:34:38 localhost kernel: [<ffffffff8105ce2b>] do_exit+0x25e/0x77f
+Nov 19 12:34:38 localhost kernel: [<ffffffff810891d1>] ? lockstat_clock+0x11/0x13
+Nov 19 12:34:38 localhost kernel: [<ffffffff8147cabb>] ? _spin_unlock_irq+0x30/0x3c
+Nov 19 12:34:38 localhost kernel: [<ffffffff8105d3d0>] do_group_exit+0x84/0xb0
+Nov 19 12:34:38 localhost kernel: [<ffffffff8106e1ad>] get_signal_to_deliver+0x356/0x375
+Nov 19 12:34:38 localhost kernel: [<ffffffff81011042>] do_signal+0x72/0x6af
+Nov 19 12:34:38 localhost kernel: [<ffffffff81011caa>] ? sysret_check+0x2e/0x69
+Nov 19 12:34:38 localhost kernel: [<ffffffff8108a863>] ? trace_hardirqs_on_caller+0x111/0x135
+Nov 19 12:34:38 localhost kernel: [<ffffffff810b568e>] ? audit_syscall_entry+0x11e/0x14a
+Nov 19 12:34:38 localhost kernel: [<ffffffff8147c67d>] ? trace_hardirqs_on_thunk+0x3a/0x3f
+Nov 19 12:34:38 localhost kernel: [<ffffffff81011d09>] ? sysret_signal+0x5/0x4e
+Nov 19 12:34:38 localhost kernel: [<ffffffff810116a9>] do_notify_resume+0x2a/0x7c
+Nov 19 12:34:38 localhost kernel: [<ffffffff81011fc1>] int_signal+0x12/0x17
+Nov 19 12:34:38 localhost kernel: Code: 1f 44 00 00 f6 87 0e 04 00 00 08 48 8b 87 10 01 00 00 74 0a 89 f6 48 03 70 18 8b 06 eb 0f c1 ee 02 89 f6 48 c1 e6 02 48 03 70 18 <8b> 06 c9 c3 55 48 89 e5 0f 1f 44 00 00 83 7f 74 00 74 09 31 f6
+Nov 19 12:34:38 localhost kernel: RIP [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+Nov 19 12:34:38 localhost kernel: RSP <ffff88007a7c5ad0>
+Nov 19 12:34:38 localhost kernel: ---[ end trace f1c5b8d28f1b5165 ]---
+Nov 19 12:34:38 localhost kernel: Fixing recursive fault but reboot is needed!
+Nov 19 12:34:56 localhost dnsmasq[1471]: reading /etc/resolv.conf
+Nov 19 12:34:56 localhost dnsmasq[1471]: using nameserver 10.11.255.27#53
+Nov 19 12:34:56 localhost dnsmasq[1471]: using nameserver 10.34.255.7#53
+Nov 19 12:34:56 localhost dnsmasq[1471]: using nameserver 10.32.63.5#53
+Nov 19 12:34:56 localhost dnsmasq[1471]: using nameserver 10.34.32.125#53
+Nov 19 12:35:05 localhost init: tty4 main process (1411) killed by TERM signal
+Nov 19 12:35:05 localhost init: tty5 main process (1412) killed by TERM signal
+Nov 19 12:35:05 localhost init: tty2 main process (1413) killed by TERM signal
+Nov 19 12:35:05 localhost init: tty3 main process (1416) killed by TERM signal
+Nov 19 12:35:05 localhost init: tty6 main process (1417) killed by TERM signal
+Nov 19 12:37:09 localhost dnsmasq[1530]: reading /etc/resolv.conf
+Nov 19 12:37:09 localhost dnsmasq[1530]: using nameserver 10.11.255.27#53
+Nov 19 12:37:09 localhost dnsmasq[1530]: using nameserver 10.34.255.7#53
+Nov 19 12:37:09 localhost dnsmasq[1530]: using nameserver 10.32.63.5#53
+Nov 19 12:37:09 localhost dnsmasq[1530]: using nameserver 10.34.32.125#53
+Nov 19 12:38:08 localhost abrtd: Directory 'kerneloops-1258630688-1' creation detected
+Nov 19 12:38:08 localhost abrtd: Getting local universal unique identification
+Nov 19 12:38:08 localhost abrtd: New crash, saving
+Nov 19 12:38:08 localhost abrtd: Activation of plugin 'RunApp' was not successful: Plugin 'RunApp' is not registered
+Nov 19 12:39:46 localhost abrtd: Getting crash infos...
+Nov 19 12:39:51 localhost abrtd: Creating report...
+Nov 19 12:39:51 localhost abrtd: Getting local universal unique identification
+Nov 19 12:39:51 localhost abrtd: Getting local universal unique identification
+Nov 19 12:39:52 localhost kernel: [drm] Num pipes: 1
+Nov 19 12:39:52 localhost kernel: Process 1525(Xorg) has RLIMIT_CORE set to 0
+Nov 19 12:39:52 localhost kernel: Aborting core
+Nov 19 12:39:52 localhost kernel: general protection fault: 0000 [#1] SMP
+Nov 19 12:39:52 localhost kernel: last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
+Nov 19 12:39:52 localhost kernel: CPU 0
+Nov 19 12:39:52 localhost kernel: Modules linked in: ipt_MASQUERADE iptable_nat nf_nat bridge stp llc sunrpc xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm_intel kvm arc4 snd_hda_codec_analog ecb snd_hda_intel snd_hda_codec iwl3945 snd_hwdep iwlcore snd_seq snd_seq_device mac80211 snd_pcm btusb snd_timer bluetooth snd iTCO_wdt soundcore iTCO_vendor_support ppdev thinkpad_acpi cfg80211 e1000e snd_page_alloc joydev i2c_i801 parport_pc irda hwmon parport rfkill crc_ccitt yenta_socket rsrc_nonstatic video output radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: microcode]
+Nov 19 12:39:52 localhost kernel: Pid: 1525, comm: Xorg Not tainted 2.6.32-0.51.rc7.git2.fc13.x86_64 #1 2007CTO
+Nov 19 12:39:52 localhost kernel: RIP: 0010:[<ffffffffa006c13c>] [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+Nov 19 12:39:52 localhost kernel: RSP: 0018:ffff88007a3d9ad0 EFLAGS: 00010202
+Nov 19 12:39:52 localhost kernel: RAX: ffff88007a398198 RBX: ffff88007921b1b0 RCX: ffffc90006952000
+Nov 19 12:39:52 localhost kernel: RDX: 0000000000000028 RSI: 6b6b6b6b6b6b6b6b RDI: ffff88007921b1b0
+Nov 19 12:39:52 localhost kernel: RBP: ffff88007a3d9ad0 R08: ffff88007921b3c0 R09: 0000000000000010
+Nov 19 12:39:52 localhost kernel: R10: ffffffffffffffff R11: 0000000000000000 R12: 0000000000000010
+Nov 19 12:39:52 localhost kernel: R13: ffff8800794dd168 R14: ffff88007921b330 R15: ffff8800794dd358
+Nov 19 12:39:52 localhost kernel: FS: 00007fb32c7687e0(0000) GS:ffff880006000000(0000) knlGS:0000000000000000
+Nov 19 12:39:52 localhost kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+Nov 19 12:39:52 localhost kernel: CR2: 00000000007cc4b0 CR3: 0000000001001000 CR4: 00000000000026f0
+Nov 19 12:39:52 localhost kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+Nov 19 12:39:52 localhost kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
+Nov 19 12:39:52 localhost kernel: Process Xorg (pid: 1525, threadinfo ffff88007a3d8000, task ffff880069d4c9c0)
+Nov 19 12:39:52 localhost kernel: Stack:
+Nov 19 12:39:52 localhost kernel: ffff88007a3d9ae0 ffffffffa006c156 ffff88007a3d9af8 ffffffffa006c881
+Nov 19 12:39:52 localhost kernel: <0> ffff88007921b1b0 ffff88007a3d9b18 ffffffffa006d84a 0000000000000000
+Nov 19 12:39:52 localhost kernel: <0> ffff88007921b1b0 ffff88007a3d9b38 ffffffffa00709e5 ffff88007921b1b0
+Nov 19 12:39:52 localhost kernel: Call Trace:
+Nov 19 12:39:52 localhost kernel: [<ffffffffa006c156>] radeon_get_ring_head+0x16/0x41 [radeon]
+Nov 19 12:39:52 localhost kernel: [<ffffffffa006c881>] radeon_commit_ring+0x4d/0x9c [radeon]
+Nov 19 12:39:52 localhost kernel: [<ffffffffa006d84a>] radeon_do_cp_idle+0x145/0x152 [radeon]
+Nov 19 12:39:52 localhost kernel: [<ffffffffa00709e5>] radeon_apply_surface_regs+0x27/0x13d [radeon]
+Nov 19 12:39:52 localhost kernel: [<ffffffffa0070bdd>] free_surface+0xe2/0xf8 [radeon]
+Nov 19 12:39:52 localhost kernel: [<ffffffffa0076284>] radeon_driver_lastclose+0x41/0x5b [radeon]
+Nov 19 12:39:52 localhost kernel: [<ffffffffa0018f04>] drm_lastclose+0x4f/0x2a0 [drm]
+Nov 19 12:39:52 localhost kernel: [<ffffffffa0019997>] drm_release+0x4d6/0x510 [drm]
+Nov 19 12:39:52 localhost kernel: [<ffffffff8112b3db>] __fput+0x12a/0x1df
+Nov 19 12:39:52 localhost kernel: [<ffffffff8112b4aa>] fput+0x1a/0x1c
+Nov 19 12:39:52 localhost kernel: [<ffffffff81127715>] filp_close+0x68/0x72
+Nov 19 12:39:52 localhost kernel: [<ffffffff8105b4be>] put_files_struct+0x6a/0xcc
+Nov 19 12:39:52 localhost kernel: [<ffffffff8105b55b>] exit_files+0x3b/0x40
+Nov 19 12:39:52 localhost kernel: [<ffffffff8105ce2b>] do_exit+0x25e/0x77f
+Nov 19 12:39:52 localhost kernel: [<ffffffff810891d1>] ? lockstat_clock+0x11/0x13
+Nov 19 12:39:52 localhost kernel: [<ffffffff8147cabb>] ? _spin_unlock_irq+0x30/0x3c
+Nov 19 12:39:52 localhost kernel: [<ffffffff8105d3d0>] do_group_exit+0x84/0xb0
+Nov 19 12:39:52 localhost kernel: [<ffffffff8106e1ad>] get_signal_to_deliver+0x356/0x375
+Nov 19 12:39:52 localhost kernel: [<ffffffff81011042>] do_signal+0x72/0x6af
+Nov 19 12:39:52 localhost kernel: [<ffffffff81011caa>] ? sysret_check+0x2e/0x69
+Nov 19 12:39:52 localhost kernel: [<ffffffff8108a863>] ? trace_hardirqs_on_caller+0x111/0x135
+Nov 19 12:39:52 localhost kernel: [<ffffffff810b568e>] ? audit_syscall_entry+0x11e/0x14a
+Nov 19 12:39:52 localhost kernel: [<ffffffff8147c67d>] ? trace_hardirqs_on_thunk+0x3a/0x3f
+Nov 19 12:39:52 localhost kernel: [<ffffffff81011d09>] ? sysret_signal+0x5/0x4e
+Nov 19 12:39:52 localhost kernel: [<ffffffff810116a9>] do_notify_resume+0x2a/0x7c
+Nov 19 12:39:52 localhost kernel: [<ffffffff81011fc1>] int_signal+0x12/0x17
+Nov 19 12:39:52 localhost kernel: Code: 1f 44 00 00 f6 87 0e 04 00 00 08 48 8b 87 10 01 00 00 74 0a 89 f6 48 03 70 18 8b 06 eb 0f c1 ee 02 89 f6 48 c1 e6 02 48 03 70 18 <8b> 06 c9 c3 55 48 89 e5 0f 1f 44 00 00 83 7f 74 00 74 09 31 f6
+Nov 19 12:39:52 localhost kernel: RIP [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+Nov 19 12:39:52 localhost kernel: RSP <ffff88007a3d9ad0>
+Nov 19 12:39:52 localhost kernel: ---[ end trace 371f75a80de6ae14 ]---
+Nov 19 12:39:52 localhost kernel: Fixing recursive fault but reboot is needed!
+Nov 19 12:40:02 localhost init: tty4 main process (1471) killed by TERM signal
+Nov 19 12:40:02 localhost init: tty5 main process (1473) killed by TERM signal
+Nov 19 12:40:02 localhost init: tty2 main process (1474) killed by TERM signal
+Nov 19 12:40:02 localhost init: tty3 main process (1475) killed by TERM signal
+Nov 19 12:40:02 localhost init: tty6 main process (1476) killed by TERM signal
+Nov 19 12:40:02 localhost avahi-daemon[1097]: Got SIGTERM, quitting.
+Nov 19 16:02:36 localhost kernel: [drm] Setting GART location based on new memory map
+Nov 19 16:02:36 localhost kernel: [drm] Loading R500 Microcode
+Nov 19 16:02:36 localhost kernel: platform radeon_cp.0: firmware: requesting radeon/R520_cp.bin
+Nov 19 16:02:36 localhost kernel: [drm] Num pipes: 1
+Nov 19 16:02:36 localhost kernel: [drm] writeback test succeeded in 1 usecs
+Nov 19 16:02:36 localhost avahi-daemon[1051]: Registering new address record for fec0::f101:215:58ff:fec8:1bf on eth0.*.
+Nov 19 16:02:36 localhost avahi-daemon[1051]: Withdrawing address record for fe80::215:58ff:fec8:1bf on eth0.
+Nov 19 16:02:37 localhost ntpd[1337]: Listening on interface #7 eth0, fec0::f101:215:58ff:fec8:1bf#123 Enabled
+Nov 19 16:02:43 localhost gnome-session[1600]: WARNING: Could not launch application 'gnome-power-manager.desktop': Unable to start application: Failed to execute child process "gnome-power-manager" (No such file or directory)
+Nov 19 16:02:45 localhost auditd[1662]: Started dispatcher: /sbin/audispd pid: 1664
+Nov 19 16:02:45 localhost audispd: audispd initialized with q_depth=80 and 1 active plugins
+Nov 19 16:02:45 localhost auditd[1662]: Init complete, auditd 2.0.1 listening for events (startup state enable)
+Nov 19 16:02:46 localhost kernel: CE: hpet increasing min_delta_ns to 15000 nsec
+Nov 19 16:03:39 localhost restorecond: Unable to watch (/home/jmoskovc/public_html/*) No such file or directory
+Nov 19 16:04:03 localhost kernel: [drm] Num pipes: 1
+Nov 19 16:04:04 localhost kernel: Process 1503(Xorg) has RLIMIT_CORE set to 0
+Nov 19 16:04:04 localhost kernel: Aborting core
+Nov 19 16:04:04 localhost kernel: general protection fault: 0000 [#1] SMP
+Nov 19 16:04:04 localhost kernel: last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
+Nov 19 16:04:04 localhost kernel: CPU 1
+Nov 19 16:04:04 localhost kernel: Modules linked in: ipt_MASQUERADE iptable_nat nf_nat bridge stp llc vboxnetadp vboxnetflt vboxdrv sunrpc xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm_intel kvm snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device arc4 ppdev snd_pcm btusb ecb bluetooth irda crc_ccitt thinkpad_acpi hwmon parport_pc parport joydev i2c_i801 iwl3945 iwlcore mac80211 snd_timer iTCO_wdt cfg80211 iTCO_vendor_support snd rfkill soundcore e1000e snd_page_alloc yenta_socket rsrc_nonstatic video output radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: microcode]
+Nov 19 16:04:04 localhost kernel: Pid: 1503, comm: Xorg Not tainted 2.6.32-0.51.rc7.git2.fc13.x86_64 #1 2007CTO
+Nov 19 16:04:04 localhost kernel: RIP: 0010:[<ffffffffa006c13c>] [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+Nov 19 16:04:04 localhost kernel: RSP: 0018:ffff88007a3b3ad0 EFLAGS: 00010202
+Nov 19 16:04:04 localhost kernel: RAX: ffff88007a239088 RBX: ffff8800792b8848 RCX: ffffc90006dfe000
+Nov 19 16:04:04 localhost kernel: RDX: 0000000000000028 RSI: 6b6b6b6b6b6b6b6b RDI: ffff8800792b8848
+Nov 19 16:04:04 localhost kernel: RBP: ffff88007a3b3ad0 R08: ffff8800792b8a58 R09: 0000000000000010
+Nov 19 16:04:04 localhost kernel: R10: ffffffffffffffff R11: 0000000000000000 R12: 0000000000000010
+Nov 19 16:04:04 localhost kernel: R13: ffff88007950e1b0 R14: ffff8800792b89c8 R15: ffff88007950e3a0
+Nov 19 16:04:04 localhost kernel: FS: 00007f1802da67e0(0000) GS:ffff880006200000(0000) knlGS:0000000000000000
+Nov 19 16:04:04 localhost kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+Nov 19 16:04:04 localhost kernel: CR2: 00000000007cc4b0 CR3: 0000000001001000 CR4: 00000000000026e0
+Nov 19 16:04:04 localhost kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+Nov 19 16:04:04 localhost kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
+Nov 19 16:04:04 localhost kernel: Process Xorg (pid: 1503, threadinfo ffff88007a3b2000, task ffff880079c9c9c0)
+Nov 19 16:04:04 localhost kernel: Stack:
+Nov 19 16:04:04 localhost kernel: ffff88007a3b3ae0 ffffffffa006c156 ffff88007a3b3af8 ffffffffa006c881
+Nov 19 16:04:04 localhost kernel: <0> ffff8800792b8848 ffff88007a3b3b18 ffffffffa006d84a 0000000000000000
+Nov 19 16:04:04 localhost kernel: <0> ffff8800792b8848 ffff88007a3b3b38 ffffffffa00709e5 ffff8800792b8848
+Nov 19 16:04:04 localhost kernel: Call Trace:
+Nov 19 16:04:04 localhost kernel: [<ffffffffa006c156>] radeon_get_ring_head+0x16/0x41 [radeon]
+Nov 19 16:04:04 localhost kernel: [<ffffffffa006c881>] radeon_commit_ring+0x4d/0x9c [radeon]
+Nov 19 16:04:04 localhost kernel: [<ffffffffa006d84a>] radeon_do_cp_idle+0x145/0x152 [radeon]
+Nov 19 16:04:04 localhost kernel: [<ffffffffa00709e5>] radeon_apply_surface_regs+0x27/0x13d [radeon]
+Nov 19 16:04:04 localhost kernel: [<ffffffffa0070bdd>] free_surface+0xe2/0xf8 [radeon]
+Nov 19 16:04:04 localhost kernel: [<ffffffffa0076284>] radeon_driver_lastclose+0x41/0x5b [radeon]
+Nov 19 16:04:04 localhost kernel: [<ffffffffa0018f04>] drm_lastclose+0x4f/0x2a0 [drm]
+Nov 19 16:04:04 localhost kernel: [<ffffffffa0019997>] drm_release+0x4d6/0x510 [drm]
+Nov 19 16:04:04 localhost kernel: [<ffffffff8112b3db>] __fput+0x12a/0x1df
+Nov 19 16:04:04 localhost kernel: [<ffffffff8112b4aa>] fput+0x1a/0x1c
+Nov 19 16:04:04 localhost kernel: [<ffffffff81127715>] filp_close+0x68/0x72
+Nov 19 16:04:04 localhost kernel: [<ffffffff8105b4be>] put_files_struct+0x6a/0xcc
+Nov 19 16:04:04 localhost kernel: [<ffffffff8105b55b>] exit_files+0x3b/0x40
+Nov 19 16:04:04 localhost kernel: [<ffffffff8105ce2b>] do_exit+0x25e/0x77f
+Nov 19 16:04:04 localhost kernel: [<ffffffff810891d1>] ? lockstat_clock+0x11/0x13
+Nov 19 16:04:04 localhost kernel: [<ffffffff8147cabb>] ? _spin_unlock_irq+0x30/0x3c
+Nov 19 16:04:04 localhost kernel: [<ffffffff8105d3d0>] do_group_exit+0x84/0xb0
+Nov 19 16:04:04 localhost kernel: [<ffffffff8106e1ad>] get_signal_to_deliver+0x356/0x375
+Nov 19 16:04:04 localhost kernel: [<ffffffff81011042>] do_signal+0x72/0x6af
+Nov 19 16:04:04 localhost kernel: [<ffffffff81011caa>] ? sysret_check+0x2e/0x69
+Nov 19 16:04:04 localhost kernel: [<ffffffff8108a863>] ? trace_hardirqs_on_caller+0x111/0x135
+Nov 19 16:04:04 localhost kernel: [<ffffffff810b568e>] ? audit_syscall_entry+0x11e/0x14a
+Nov 19 16:04:04 localhost kernel: [<ffffffff8147c67d>] ? trace_hardirqs_on_thunk+0x3a/0x3f
+Nov 19 16:04:04 localhost kernel: [<ffffffff81011d09>] ? sysret_signal+0x5/0x4e
+Nov 19 16:04:04 localhost kernel: [<ffffffff810116a9>] do_notify_resume+0x2a/0x7c
+Nov 19 16:04:04 localhost kernel: [<ffffffff81011fc1>] int_signal+0x12/0x17
+Nov 19 16:04:04 localhost kernel: Code: 1f 44 00 00 f6 87 0e 04 00 00 08 48 8b 87 10 01 00 00 74 0a 89 f6 48 03 70 18 8b 06 eb 0f c1 ee 02 89 f6 48 c1 e6 02 48 03 70 18 <8b> 06 c9 c3 55 48 89 e5 0f 1f 44 00 00 83 7f 74 00 74 09 31 f6
+Nov 19 16:04:04 localhost kernel: RIP [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+Nov 19 16:04:04 localhost kernel: RSP <ffff88007a3b3ad0>
+Nov 19 16:04:04 localhost kernel: ---[ end trace f5193fb73929a56e ]---
+Nov 19 16:04:04 localhost kernel: Fixing recursive fault but reboot is needed!
+Nov 19 16:04:31 localhost abrtd: Directory 'kerneloops-1258643071-1' creation detected
+Nov 19 16:04:31 localhost abrtd: Getting local universal unique identification
+Nov 19 16:04:31 localhost abrtd: New crash, saving
+Nov 19 16:04:31 localhost abrtd: Activation of plugin 'RunApp' was not successful: Plugin 'RunApp' is not registered
+Nov 19 16:04:32 localhost kernel: ACPI: \_SB_.GDCK - undocking
+Nov 19 16:04:32 localhost kernel: usb 1-6: USB disconnect, address 2
+Nov 19 16:04:32 localhost kernel: usb 1-6.4: USB disconnect, address 5
+Nov 19 16:04:34 localhost kernel: e1000e: eth0 NIC Link is Down
diff --git a/examples/oops3.right b/examples/oops3.right
new file mode 100644
index 00000000..a7711674
--- /dev/null
+++ b/examples/oops3.right
@@ -0,0 +1,157 @@
+dumpoops: found oopses: 3
+
+Version: 2.6.32-0.51.rc7.git2.fc13.x86_64
+general protection fault: 0000 [#1] SMP
+last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
+CPU 0
+Modules linked in: ipt_MASQUERADE iptable_nat nf_nat bridge stp llc sunrpc xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm_intel kvm snd_hda_codec_analog snd_hda_intel snd_hda_codec btusb snd_hwdep joydev ppdev bluetooth snd_seq arc4 snd_seq_device i2c_i801 thinkpad_acpi hwmon ecb parport_pc irda parport crc_ccitt snd_pcm iTCO_wdt iTCO_vendor_support iwl3945 iwlcore snd_timer snd mac80211 soundcore e1000e cfg80211 snd_page_alloc rfkill yenta_socket rsrc_nonstatic video output radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: microcode]
+Pid: 1473, comm: Xorg Not tainted 2.6.32-0.51.rc7.git2.fc13.x86_64 #1 2007CTO
+RIP: 0010:[<ffffffffa006c13c>] [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+RSP: 0018:ffff88007a7c5ad0 EFLAGS: 00010202
+RAX: ffff88006d9a7110 RBX: ffff880037f918d8 RCX: ffffc900068a8000
+RDX: 0000000000000028 RSI: 6b6b6b6b6b6b6b6b RDI: ffff880037f918d8
+RBP: ffff88007a7c5ad0 R08: ffff880037f91ae8 R09: 0000000000000010
+R10: ffffffffffffffff R11: 0000000000000000 R12: 0000000000000010
+R13: ffff88007950e1b0 R14: ffff880037f91a58 R15: ffff88007950e3a0
+FS: 00007fbb5a7797e0(0000) GS:ffff880006000000(0000) knlGS:0000000000000000
+CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+CR2: 00000000005a450c CR3: 0000000001001000 CR4: 00000000000026f0
+DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
+Process Xorg (pid: 1473, threadinfo ffff88007a7c4000, task ffff880079058000)
+Stack:
+ffff88007a7c5ae0 ffffffffa006c156 ffff88007a7c5af8 ffffffffa006c881
+ ffff880037f918d8 ffff88007a7c5b18 ffffffffa006d84a 0000000000000000
+ ffff880037f918d8 ffff88007a7c5b38 ffffffffa00709e5 ffff880037f918d8
+Call Trace:
+[<ffffffffa006c156>] radeon_get_ring_head+0x16/0x41 [radeon]
+[<ffffffffa006c881>] radeon_commit_ring+0x4d/0x9c [radeon]
+[<ffffffffa006d84a>] radeon_do_cp_idle+0x145/0x152 [radeon]
+[<ffffffffa00709e5>] radeon_apply_surface_regs+0x27/0x13d [radeon]
+[<ffffffffa0070bdd>] free_surface+0xe2/0xf8 [radeon]
+[<ffffffffa0076284>] radeon_driver_lastclose+0x41/0x5b [radeon]
+[<ffffffffa0018f04>] drm_lastclose+0x4f/0x2a0 [drm]
+[<ffffffffa0019997>] drm_release+0x4d6/0x510 [drm]
+[<ffffffff8112b3db>] __fput+0x12a/0x1df
+[<ffffffff8112b4aa>] fput+0x1a/0x1c
+[<ffffffff81127715>] filp_close+0x68/0x72
+[<ffffffff8105b4be>] put_files_struct+0x6a/0xcc
+[<ffffffff8105b55b>] exit_files+0x3b/0x40
+[<ffffffff8105ce2b>] do_exit+0x25e/0x77f
+[<ffffffff810891d1>] ? lockstat_clock+0x11/0x13
+[<ffffffff8147cabb>] ? _spin_unlock_irq+0x30/0x3c
+[<ffffffff8105d3d0>] do_group_exit+0x84/0xb0
+[<ffffffff8106e1ad>] get_signal_to_deliver+0x356/0x375
+[<ffffffff81011042>] do_signal+0x72/0x6af
+[<ffffffff81011caa>] ? sysret_check+0x2e/0x69
+[<ffffffff8108a863>] ? trace_hardirqs_on_caller+0x111/0x135
+[<ffffffff810b568e>] ? audit_syscall_entry+0x11e/0x14a
+[<ffffffff8147c67d>] ? trace_hardirqs_on_thunk+0x3a/0x3f
+[<ffffffff81011d09>] ? sysret_signal+0x5/0x4e
+[<ffffffff810116a9>] do_notify_resume+0x2a/0x7c
+[<ffffffff81011fc1>] int_signal+0x12/0x17
+Code: 1f 44 00 00 f6 87 0e 04 00 00 08 48 8b 87 10 01 00 00 74 0a 89 f6 48 03 70 18 8b 06 eb 0f c1 ee 02 89 f6 48 c1 e6 02 48 03 70 18 <8b> 06 c9 c3 55 48 89 e5 0f 1f 44 00 00 83 7f 74 00 74 09 31 f6
+
+Version: 2.6.32-0.51.rc7.git2.fc13.x86_64
+general protection fault: 0000 [#1] SMP
+last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
+CPU 0
+Modules linked in: ipt_MASQUERADE iptable_nat nf_nat bridge stp llc sunrpc xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm_intel kvm arc4 snd_hda_codec_analog ecb snd_hda_intel snd_hda_codec iwl3945 snd_hwdep iwlcore snd_seq snd_seq_device mac80211 snd_pcm btusb snd_timer bluetooth snd iTCO_wdt soundcore iTCO_vendor_support ppdev thinkpad_acpi cfg80211 e1000e snd_page_alloc joydev i2c_i801 parport_pc irda hwmon parport rfkill crc_ccitt yenta_socket rsrc_nonstatic video output radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: microcode]
+Pid: 1525, comm: Xorg Not tainted 2.6.32-0.51.rc7.git2.fc13.x86_64 #1 2007CTO
+RIP: 0010:[<ffffffffa006c13c>] [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+RSP: 0018:ffff88007a3d9ad0 EFLAGS: 00010202
+RAX: ffff88007a398198 RBX: ffff88007921b1b0 RCX: ffffc90006952000
+RDX: 0000000000000028 RSI: 6b6b6b6b6b6b6b6b RDI: ffff88007921b1b0
+RBP: ffff88007a3d9ad0 R08: ffff88007921b3c0 R09: 0000000000000010
+R10: ffffffffffffffff R11: 0000000000000000 R12: 0000000000000010
+R13: ffff8800794dd168 R14: ffff88007921b330 R15: ffff8800794dd358
+FS: 00007fb32c7687e0(0000) GS:ffff880006000000(0000) knlGS:0000000000000000
+CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+CR2: 00000000007cc4b0 CR3: 0000000001001000 CR4: 00000000000026f0
+DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
+Process Xorg (pid: 1525, threadinfo ffff88007a3d8000, task ffff880069d4c9c0)
+Stack:
+ffff88007a3d9ae0 ffffffffa006c156 ffff88007a3d9af8 ffffffffa006c881
+ ffff88007921b1b0 ffff88007a3d9b18 ffffffffa006d84a 0000000000000000
+ ffff88007921b1b0 ffff88007a3d9b38 ffffffffa00709e5 ffff88007921b1b0
+Call Trace:
+[<ffffffffa006c156>] radeon_get_ring_head+0x16/0x41 [radeon]
+[<ffffffffa006c881>] radeon_commit_ring+0x4d/0x9c [radeon]
+[<ffffffffa006d84a>] radeon_do_cp_idle+0x145/0x152 [radeon]
+[<ffffffffa00709e5>] radeon_apply_surface_regs+0x27/0x13d [radeon]
+[<ffffffffa0070bdd>] free_surface+0xe2/0xf8 [radeon]
+[<ffffffffa0076284>] radeon_driver_lastclose+0x41/0x5b [radeon]
+[<ffffffffa0018f04>] drm_lastclose+0x4f/0x2a0 [drm]
+[<ffffffffa0019997>] drm_release+0x4d6/0x510 [drm]
+[<ffffffff8112b3db>] __fput+0x12a/0x1df
+[<ffffffff8112b4aa>] fput+0x1a/0x1c
+[<ffffffff81127715>] filp_close+0x68/0x72
+[<ffffffff8105b4be>] put_files_struct+0x6a/0xcc
+[<ffffffff8105b55b>] exit_files+0x3b/0x40
+[<ffffffff8105ce2b>] do_exit+0x25e/0x77f
+[<ffffffff810891d1>] ? lockstat_clock+0x11/0x13
+[<ffffffff8147cabb>] ? _spin_unlock_irq+0x30/0x3c
+[<ffffffff8105d3d0>] do_group_exit+0x84/0xb0
+[<ffffffff8106e1ad>] get_signal_to_deliver+0x356/0x375
+[<ffffffff81011042>] do_signal+0x72/0x6af
+[<ffffffff81011caa>] ? sysret_check+0x2e/0x69
+[<ffffffff8108a863>] ? trace_hardirqs_on_caller+0x111/0x135
+[<ffffffff810b568e>] ? audit_syscall_entry+0x11e/0x14a
+[<ffffffff8147c67d>] ? trace_hardirqs_on_thunk+0x3a/0x3f
+[<ffffffff81011d09>] ? sysret_signal+0x5/0x4e
+[<ffffffff810116a9>] do_notify_resume+0x2a/0x7c
+[<ffffffff81011fc1>] int_signal+0x12/0x17
+Code: 1f 44 00 00 f6 87 0e 04 00 00 08 48 8b 87 10 01 00 00 74 0a 89 f6 48 03 70 18 8b 06 eb 0f c1 ee 02 89 f6 48 c1 e6 02 48 03 70 18 <8b> 06 c9 c3 55 48 89 e5 0f 1f 44 00 00 83 7f 74 00 74 09 31 f6
+
+Version: 2.6.32-0.51.rc7.git2.fc13.x86_64
+general protection fault: 0000 [#1] SMP
+last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
+CPU 1
+Modules linked in: ipt_MASQUERADE iptable_nat nf_nat bridge stp llc vboxnetadp vboxnetflt vboxdrv sunrpc xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm_intel kvm snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device arc4 ppdev snd_pcm btusb ecb bluetooth irda crc_ccitt thinkpad_acpi hwmon parport_pc parport joydev i2c_i801 iwl3945 iwlcore mac80211 snd_timer iTCO_wdt cfg80211 iTCO_vendor_support snd rfkill soundcore e1000e snd_page_alloc yenta_socket rsrc_nonstatic video output radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: microcode]
+Pid: 1503, comm: Xorg Not tainted 2.6.32-0.51.rc7.git2.fc13.x86_64 #1 2007CTO
+RIP: 0010:[<ffffffffa006c13c>] [<ffffffffa006c13c>] radeon_read_ring_rptr+0x30/0x34 [radeon]
+RSP: 0018:ffff88007a3b3ad0 EFLAGS: 00010202
+RAX: ffff88007a239088 RBX: ffff8800792b8848 RCX: ffffc90006dfe000
+RDX: 0000000000000028 RSI: 6b6b6b6b6b6b6b6b RDI: ffff8800792b8848
+RBP: ffff88007a3b3ad0 R08: ffff8800792b8a58 R09: 0000000000000010
+R10: ffffffffffffffff R11: 0000000000000000 R12: 0000000000000010
+R13: ffff88007950e1b0 R14: ffff8800792b89c8 R15: ffff88007950e3a0
+FS: 00007f1802da67e0(0000) GS:ffff880006200000(0000) knlGS:0000000000000000
+CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
+CR2: 00000000007cc4b0 CR3: 0000000001001000 CR4: 00000000000026e0
+DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
+DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
+Process Xorg (pid: 1503, threadinfo ffff88007a3b2000, task ffff880079c9c9c0)
+Stack:
+ffff88007a3b3ae0 ffffffffa006c156 ffff88007a3b3af8 ffffffffa006c881
+ ffff8800792b8848 ffff88007a3b3b18 ffffffffa006d84a 0000000000000000
+ ffff8800792b8848 ffff88007a3b3b38 ffffffffa00709e5 ffff8800792b8848
+Call Trace:
+[<ffffffffa006c156>] radeon_get_ring_head+0x16/0x41 [radeon]
+[<ffffffffa006c881>] radeon_commit_ring+0x4d/0x9c [radeon]
+[<ffffffffa006d84a>] radeon_do_cp_idle+0x145/0x152 [radeon]
+[<ffffffffa00709e5>] radeon_apply_surface_regs+0x27/0x13d [radeon]
+[<ffffffffa0070bdd>] free_surface+0xe2/0xf8 [radeon]
+[<ffffffffa0076284>] radeon_driver_lastclose+0x41/0x5b [radeon]
+[<ffffffffa0018f04>] drm_lastclose+0x4f/0x2a0 [drm]
+[<ffffffffa0019997>] drm_release+0x4d6/0x510 [drm]
+[<ffffffff8112b3db>] __fput+0x12a/0x1df
+[<ffffffff8112b4aa>] fput+0x1a/0x1c
+[<ffffffff81127715>] filp_close+0x68/0x72
+[<ffffffff8105b4be>] put_files_struct+0x6a/0xcc
+[<ffffffff8105b55b>] exit_files+0x3b/0x40
+[<ffffffff8105ce2b>] do_exit+0x25e/0x77f
+[<ffffffff810891d1>] ? lockstat_clock+0x11/0x13
+[<ffffffff8147cabb>] ? _spin_unlock_irq+0x30/0x3c
+[<ffffffff8105d3d0>] do_group_exit+0x84/0xb0
+[<ffffffff8106e1ad>] get_signal_to_deliver+0x356/0x375
+[<ffffffff81011042>] do_signal+0x72/0x6af
+[<ffffffff81011caa>] ? sysret_check+0x2e/0x69
+[<ffffffff8108a863>] ? trace_hardirqs_on_caller+0x111/0x135
+[<ffffffff810b568e>] ? audit_syscall_entry+0x11e/0x14a
+[<ffffffff8147c67d>] ? trace_hardirqs_on_thunk+0x3a/0x3f
+[<ffffffff81011d09>] ? sysret_signal+0x5/0x4e
+[<ffffffff810116a9>] do_notify_resume+0x2a/0x7c
+[<ffffffff81011fc1>] int_signal+0x12/0x17
+Code: 1f 44 00 00 f6 87 0e 04 00 00 08 48 8b 87 10 01 00 00 74 0a 89 f6 48 03 70 18 8b 06 eb 0f c1 ee 02 89 f6 48 c1 e6 02 48 03 70 18 <8b> 06 c9 c3 55 48 89 e5 0f 1f 44 00 00 83 7f 74 00 74 09 31 f6
diff --git a/lib/Plugins/KerneloopsSysLog.cpp b/lib/Plugins/KerneloopsSysLog.cpp
index cb15fccb..4e32f040 100644
--- a/lib/Plugins/KerneloopsSysLog.cpp
+++ b/lib/Plugins/KerneloopsSysLog.cpp
@@ -87,7 +87,6 @@ int extract_oopses(vector_string_t &oopses, char *buffer, size_t buflen)
while (c < buffer + buflen) {
char linelevel;
char *c9;
- char *linepointer;
c9 = (char*)memchr(c, '\n', buffer + buflen - c); /* a \n will always be found */
assert(c9);
@@ -124,6 +123,7 @@ int extract_oopses(vector_string_t &oopses, char *buffer, size_t buflen)
* "hostname abrt: Kerneloops: Reported 1 kernel oopses to Abrt"
* we know we submitted everything upto here already */
if (strstr(c, "abrt:") && strstr(c, "Abrt")) {
+ VERB3 log("Found our marker at line %d, restarting line count from 0", linecount);
linecount = 0;
lines_info_alloc = 0;
free(lines_info);
@@ -142,23 +142,20 @@ int extract_oopses(vector_string_t &oopses, char *buffer, size_t buflen)
}
/* remove jiffies time stamp counter if present */
if (*c == '[') {
- char *c2, *c3;
- c2 = strchr(c, '.');
- c3 = strchr(c, ']');
+ char *c2 = strchr(c, '.');
+ char *c3 = strchr(c, ']');
if (c2 && c3 && (c2 < c3) && (c3-c) < 14 && (c2-c) < 8) {
c = c3 + 1;
if (*c == ' ')
c++;
}
}
- linepointer = c;
-
if (linecount >= lines_info_alloc) {
lines_info_alloc += REALLOC_CHUNK;
lines_info = (line_info*)xrealloc(lines_info,
lines_info_alloc * sizeof(struct line_info));
}
- lines_info[linecount].ptr = linepointer;
+ lines_info[linecount].ptr = c;
lines_info[linecount].level = linelevel;
linecount++;
next_line:
@@ -170,68 +167,66 @@ next_line:
int i;
char prevlevel = 0;
int oopsstart = -1;
- int oopsend = linecount;
int inbacktrace = 0;
int oopsesfound = 0;
i = 0;
while (i < linecount) {
- char *c = lines_info[i].ptr;
+ char *const curline = lines_info[i].ptr;
- if (c == NULL) {
+ if (curline == NULL) {
i++;
continue;
}
if (oopsstart < 0) {
/* find start-of-oops markers */
- if (strstr(c, "general protection fault:"))
+ if (strstr(curline, "general protection fault:"))
oopsstart = i;
- else if (strstr(c, "BUG:"))
+ else if (strstr(curline, "BUG:"))
oopsstart = i;
- else if (strstr(c, "kernel BUG at"))
+ else if (strstr(curline, "kernel BUG at"))
oopsstart = i;
- else if (strstr(c, "do_IRQ: stack overflow:"))
+ else if (strstr(curline, "do_IRQ: stack overflow:"))
oopsstart = i;
- else if (strstr(c, "RTNL: assertion failed"))
+ else if (strstr(curline, "RTNL: assertion failed"))
oopsstart = i;
- else if (strstr(c, "Eeek! page_mapcount(page) went negative!"))
+ else if (strstr(curline, "Eeek! page_mapcount(page) went negative!"))
oopsstart = i;
- else if (strstr(c, "near stack overflow (cur:"))
+ else if (strstr(curline, "near stack overflow (cur:"))
oopsstart = i;
- else if (strstr(c, "double fault:"))
+ else if (strstr(curline, "double fault:"))
oopsstart = i;
- else if (strstr(c, "Badness at"))
+ else if (strstr(curline, "Badness at"))
oopsstart = i;
- else if (strstr(c, "NETDEV WATCHDOG"))
+ else if (strstr(curline, "NETDEV WATCHDOG"))
oopsstart = i;
- else if (strstr(c, "WARNING:") &&
- !strstr(c, "appears to be on the same physical disk"))
+ else if (strstr(curline, "WARNING:")
+ && !strstr(curline, "appears to be on the same physical disk")
+ ) {
oopsstart = i;
- else if (strstr(c, "Unable to handle kernel"))
+ }
+ else if (strstr(curline, "Unable to handle kernel"))
oopsstart = i;
- else if (strstr(c, "sysctl table check failed"))
+ else if (strstr(curline, "sysctl table check failed"))
oopsstart = i;
- else if (strstr(c, "------------[ cut here ]------------"))
+ else if (strstr(curline, "------------[ cut here ]------------"))
oopsstart = i;
- else if (strstr(c, "list_del corruption."))
+ else if (strstr(curline, "list_del corruption."))
oopsstart = i;
- else if (strstr(c, "list_add corruption."))
+ else if (strstr(curline, "list_add corruption."))
oopsstart = i;
- if (strstr(c, "Oops:") && i >= 3)
+ if (strstr(curline, "Oops:") && i >= 3)
oopsstart = i-3;
-#if DEBUG
- /* debug information */
- if (oopsstart >= 0) {
- printf("Found start of oops at line %i\n", oopsstart);
- printf(" start line is -%s-\n", lines_info[oopsstart].ptr);
- if (oopsstart != i)
- printf(" trigger line is -%s-\n", c);
- }
-#endif
- /* try to find the end marker */
+
if (oopsstart >= 0) {
- int i2;
- i2 = i+1;
+ /* debug information */
+ VERB3 {
+ log("Found oops at line %d: '%s'", oopsstart, lines_info[oopsstart].ptr);
+ if (oopsstart != i)
+ log("Trigger line is %d: '%s'", i, c);
+ }
+ /* try to find the end marker */
+ int i2 = i + 1;
while (i2 < linecount && i2 < (i+50)) {
if (strstr(lines_info[i2].ptr, "---[ end trace")) {
inbacktrace = 1;
@@ -243,61 +238,58 @@ next_line:
}
}
- /* a calltrace starts with "Call Trace:" or with the " [<.......>] function+0xFF/0xAA" pattern */
- if (oopsstart >= 0 && strstr(lines_info[i].ptr, "Call Trace:"))
- inbacktrace = 1;
-
- else if (oopsstart >= 0 && inbacktrace == 0 && strlen(lines_info[i].ptr) > 8) {
- char *c1, *c2, *c3;
- c1 = strstr(lines_info[i].ptr, ">]");
- c2 = strstr(lines_info[i].ptr, "+0x");
- c3 = strstr(lines_info[i].ptr, "/0x");
- if (lines_info[i].ptr[0] == ' '
- && lines_info[i].ptr[1] == '['
- && lines_info[i].ptr[2] == '<'
- && c1 && c2 && c3
+ /* Are we entering a call trace part? */
+ /* a call trace starts with "Call Trace:" or with the " [<.......>] function+0xFF/0xAA" pattern */
+ if (oopsstart >= 0 && !inbacktrace) {
+ if (strstr(curline, "Call Trace:"))
+ inbacktrace = 1;
+ else
+ if (strnlen(curline, 9) > 8
+ && curline[0] == ' ' && curline[1] == '[' && curline[2] == '<'
+ && strstr(curline, ">]")
+ && strstr(curline, "+0x")
+ && strstr(curline, "/0x")
) {
inbacktrace = 1;
}
}
- /* try to see if we're at the end of an oops */
- else if (oopsstart >= 0 && inbacktrace > 0) {
- char c2, c3;
- c2 = lines_info[i].ptr[0];
- c3 = lines_info[i].ptr[1];
-
- /* line needs to start with " [" or have "] ["*/
- if ((c2 != ' ' || c3 != '[')
- && strstr(lines_info[i].ptr, "] [") == NULL
- && strstr(lines_info[i].ptr, "--- Exception") == NULL
- && strstr(lines_info[i].ptr, " LR =") == NULL
- && strstr(lines_info[i].ptr, "<#DF>") == NULL
- && strstr(lines_info[i].ptr, "<IRQ>") == NULL
- && strstr(lines_info[i].ptr, "<EOI>") == NULL
- && strstr(lines_info[i].ptr, "<<EOE>>") == NULL
+ /* Are we at the end of an oops? */
+ else if (oopsstart >= 0 && inbacktrace) {
+ int oopsend = INT_MAX;
+
+ /* The Code: line means we're done with the backtrace */
+ if (strstr(curline, "Code:") != NULL)
+ oopsend = i;
+ /* line needs to start with " [" or have "] [" if it is still a call trace */
+ /* example: "[<ffffffffa006c156>] radeon_get_ring_head+0x16/0x41 [radeon]" */
+ else if ((curline[0] != ' ' || curline[1] != '[')
+ && curline[0] != '[' /* in syslog format, leading space is lost */
+ && strstr(curline, "] [") == NULL
+ && strstr(curline, "--- Exception") == NULL
+ && strstr(curline, " LR =") == NULL
+ && strstr(curline, "<#DF>") == NULL
+ && strstr(curline, "<IRQ>") == NULL
+ && strstr(curline, "<EOI>") == NULL
+ && strstr(curline, "<<EOE>>") == NULL
) {
- oopsend = i-1;
+ oopsend = i-1; /* not a call trace line */
}
-
- /* oops lines are always more than 8 long */
- if (strlen(lines_info[i].ptr) < 8)
+ /* oops lines are always more than 8 chars long */
+ else if (strnlen(curline, 8) < 8)
oopsend = i-1;
/* single oopses are of the same loglevel */
- if (lines_info[i].level != prevlevel)
+ else if (lines_info[i].level != prevlevel)
oopsend = i-1;
- /* The Code: line means we're done with the backtrace */
- if (strstr(lines_info[i].ptr, "Code:") != NULL)
- oopsend = i;
- if (strstr(lines_info[i].ptr, "Instruction dump::") != NULL)
+ else if (strstr(curline, "Instruction dump::") != NULL) /* why "::"? is it a typo? */
oopsend = i;
/* if a new oops starts, this one has ended */
- if (strstr(lines_info[i].ptr, "WARNING:") != NULL && oopsstart != i)
+ else if (strstr(curline, "WARNING:") != NULL && oopsstart != i)
oopsend = i-1;
- if (strstr(lines_info[i].ptr, "Unable to handle") != NULL && oopsstart != i)
+ else if (strstr(curline, "Unable to handle") != NULL && oopsstart != i)
oopsend = i-1;
/* kernel end-of-oops marker */
- if (strstr(lines_info[i].ptr, "---[ end trace") != NULL)
+ else if (strstr(curline, "---[ end trace") != NULL)
oopsend = i;
if (oopsend <= i) {
@@ -307,6 +299,8 @@ next_line:
char *oops;
char *version;
+ VERB3 log("End of oops at line %d (%d): '%s'", oopsend, i, lines_info[oopsend].ptr);
+
len = 2;
for (q = oopsstart; q <= oopsend; q++)
len += strlen(lines_info[q].ptr) + 1;
@@ -327,27 +321,38 @@ next_line:
if (strlen(oops) > 100) {
queue_oops(oopses, oops, version);
oopsesfound++;
+ } else {
+ VERB3 log("Dropped oops: too short");
}
oopsstart = -1;
inbacktrace = 0;
- oopsend = linecount;
free(oops);
free(version);
}
}
+
prevlevel = lines_info[i].level;
i++;
- if (oopsstart > 0 && i-oopsstart > 50) {
- oopsstart = -1;
- inbacktrace = 0;
- oopsend = linecount;
- }
- if (oopsstart > 0 && !inbacktrace && i-oopsstart > 30) {
- oopsstart = -1;
- inbacktrace = 0;
- oopsend = linecount;
+
+ if (oopsstart >= 0) {
+ /* Do we have a suspiciously long oops? Cancel it */
+ if (i-oopsstart > 50) {
+ inbacktrace = 0;
+ oopsstart = -1;
+ VERB3 log("Dropped oops, too long");
+ continue;
+ }
+ if (!inbacktrace && i-oopsstart > 30) {
+ /*inbacktrace = 0; - already is */
+ oopsstart = -1;
+ VERB3 log("Dropped oops, too long");
+ continue;
+ }
}
- }
+ } /* while (i < linecount) */
+
+ /* process last oops if we have one */
+// TODO: do not duplicate code
if (oopsstart >= 0) {
int q;
int len;
@@ -355,7 +360,9 @@ next_line:
char *oops;
char *version;
- oopsend = i-1;
+ int oopsend = i-1;
+
+ VERB3 log("End of oops at line %d (end of file): '%s'", oopsend, lines_info[oopsend].ptr);
len = 2;
while (oopsend > 0 && lines_info[oopsend].ptr == NULL)
@@ -377,10 +384,9 @@ next_line:
if (strlen(oops) > 100) {
queue_oops(oopses, oops, version);
oopsesfound++;
+ } else {
+ VERB3 log("Dropped oops: too short");
}
- oopsstart = -1;
- inbacktrace = 0;
- oopsend = linecount;
free(oops);
free(version);
}
diff --git a/src/Hooks/dumpoops.cpp b/src/Hooks/dumpoops.cpp
index b031d39c..4b6778d0 100644
--- a/src/Hooks/dumpoops.cpp
+++ b/src/Hooks/dumpoops.cpp
@@ -45,7 +45,7 @@ int main(int argc, char **argv)
/* Parse options */
bool opt_d = 0, opt_s = 0;
int opt;
- while ((opt = getopt(argc, argv, "ds")) != -1) {
+ while ((opt = getopt(argc, argv, "dsv")) != -1) {
switch (opt) {
case 'd':
opt_d = 1;
@@ -53,6 +53,10 @@ int main(int argc, char **argv)
case 's':
opt_s = 1;
break;
+ case 'v':
+ /* Kerneloops code uses VERB3, thus: */
+ g_verbose = 3;
+ break;
default:
usage:
error_msg_and_die(
@@ -60,6 +64,7 @@ int main(int argc, char **argv)
"Options:\n"
"\t-d\tCreate ABRT dump for every oops found\n"
"\t-s\tPrint found oopses on standard output\n"
+ "\t-v\tVerbose\n"
, program_name
);
}