aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-02-20 11:21:33 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-02-20 11:21:33 +0100
commit5abac1920ebb59b4f1691bbba6fac3e3553ef45d (patch)
tree5554043146cbe906c54e694ad0b1839251ed64ce /pkg
parentc8e73b95c61fa26c0f6c2d0b96dee38ba1b13958 (diff)
pkg/report: add format for "workqueue leaked lock or atomic" crashes
Diffstat (limited to 'pkg')
-rw-r--r--pkg/report/linux.go7
-rw-r--r--pkg/report/testdata/linux/report/21126
-rw-r--r--pkg/report/testdata/linux/report/21211
3 files changed, 44 insertions, 0 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go
index fbb5674e3..7b9238904 100644
--- a/pkg/report/linux.go
+++ b/pkg/report/linux.go
@@ -730,6 +730,13 @@ var linuxOopses = []*oops{
},
},
{
+ title: compile("BUG: workqueue leaked lock or atomic"),
+ report: compile("BUG: workqueue leaked lock or atomic(?:.*\\n)+?" +
+ ".*last function: ([a-zA-Z0-9_]+)\\n"),
+ fmt: "BUG: workqueue leaked lock or atomic in %[1]v",
+ noStackTrace: true,
+ },
+ {
title: compile("BUG: executor-detected bug"),
fmt: "BUG: executor-detected bug",
noStackTrace: true,
diff --git a/pkg/report/testdata/linux/report/211 b/pkg/report/testdata/linux/report/211
new file mode 100644
index 000000000..ceea4072d
--- /dev/null
+++ b/pkg/report/testdata/linux/report/211
@@ -0,0 +1,26 @@
+TITLE: BUG: workqueue leaked lock or atomic in addrconf_dad_work
+
+[ 52.362800] BUG: workqueue leaked lock or atomic: kworker/0:1/0x00000000/353
+[ 52.362800] last function: addrconf_dad_work
+[ 52.374928] 1 lock held by kworker/0:1/353:
+[ 52.379256] #0: (rcu_read_lock_bh){......}, at: [<ffffffff8294ef60>] hashlimit_mt_common.isra.11+0x190/0x22a0
+[ 52.390498] CPU: 0 PID: 353 Comm: kworker/0:1 Not tainted 4.3.5+ #124
+[ 52.397063] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
+[ 52.406407] Workqueue: ipv6_addrconf addrconf_dad_work
+[ 52.411790] 0000000000000000 ffff8801d834fc48 ffffffff81da5ce2 ffff8801d7e90300
+[ 52.419811] ffff8801d7e90300 ffff8801d28d8148 ffff8801daa1eac0 ffff8801d8b95400
+[ 52.427836] ffff8801d834fd48 ffffffff813639b5 ffffffff81363286 ffff8801d8b95448
+[ 52.435843] Call Trace:
+[ 52.438419] [<ffffffff81da5ce2>] dump_stack+0xf6/0x184
+[ 52.443770] [<ffffffff813639b5>] process_one_work+0xf25/0x15a0
+[ 52.449813] [<ffffffff81363286>] ? process_one_work+0x7f6/0x15a0
+[ 52.456031] [<ffffffff81362a90>] ? pwq_dec_nr_in_flight+0x280/0x280
+[ 52.462511] [<ffffffff81364111>] worker_thread+0xe1/0xf70
+[ 52.468119] [<ffffffff81000a4e>] ? __schedule+0x3ee/0x13b0
+[ 52.473820] [<ffffffff81379281>] kthread+0x231/0x2c0
+[ 52.478995] [<ffffffff81364030>] ? process_one_work+0x15a0/0x15a0
+[ 52.485297] [<ffffffff81379050>] ? kthread_create_on_node+0x460/0x460
+[ 52.491950] [<ffffffff81379050>] ? kthread_create_on_node+0x460/0x460
+[ 52.498604] [<ffffffff82e2a86c>] ret_from_fork+0x5c/0x90
+[ 52.504131] [<ffffffff81379050>] ? kthread_create_on_node+0x460/0x460
+[ 52.362800] last function: not_the_function_you_are_looking_for
diff --git a/pkg/report/testdata/linux/report/212 b/pkg/report/testdata/linux/report/212
new file mode 100644
index 000000000..a7e8e4870
--- /dev/null
+++ b/pkg/report/testdata/linux/report/212
@@ -0,0 +1,11 @@
+TITLE: BUG: workqueue leaked lock or atomic in addrconf_dad_work
+
+[ 50.490720] IPv6: ADDRCONF(NETDEV_UP): bridge0: link is not ready
+[ 51.132760] BUG: workqueue leaked lock or atomic: kworker/0:0/0x00000000/4
+[ 51.132760] last function: addrconf_dad_work
+[ 51.144513] 1 lock held by kworker/0:0/4:
+[ 51.148666] #0: (rcu_read_lock_bh){......}, at: [<ffffffff8294ef60>] hashlimit_mt_common.isra.11+0x190/0x22a0
+[ 51.159587] CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 4.3.5+ #124
+[ 51.165970] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
+[ 51.175313] Workqueue: ipv6_addrconf addrconf_dad_work
+[ 51.180694] 00000000000