From 5abac1920ebb59b4f1691bbba6fac3e3553ef45d Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 20 Feb 2018 11:21:33 +0100 Subject: pkg/report: add format for "workqueue leaked lock or atomic" crashes --- pkg/report/linux.go | 7 +++++++ pkg/report/testdata/linux/report/211 | 26 ++++++++++++++++++++++++++ pkg/report/testdata/linux/report/212 | 11 +++++++++++ 3 files changed, 44 insertions(+) create mode 100644 pkg/report/testdata/linux/report/211 create mode 100644 pkg/report/testdata/linux/report/212 (limited to 'pkg') 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 @@ -729,6 +729,13 @@ var linuxOopses = []*oops{ skip: []string{"dump_stack", "preemption", "preempt"}, }, }, + { + 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", 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: [] 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] [] dump_stack+0xf6/0x184 +[ 52.443770] [] process_one_work+0xf25/0x15a0 +[ 52.449813] [] ? process_one_work+0x7f6/0x15a0 +[ 52.456031] [] ? pwq_dec_nr_in_flight+0x280/0x280 +[ 52.462511] [] worker_thread+0xe1/0xf70 +[ 52.468119] [] ? __schedule+0x3ee/0x13b0 +[ 52.473820] [] kthread+0x231/0x2c0 +[ 52.478995] [] ? process_one_work+0x15a0/0x15a0 +[ 52.485297] [] ? kthread_create_on_node+0x460/0x460 +[ 52.491950] [] ? kthread_create_on_node+0x460/0x460 +[ 52.498604] [] ret_from_fork+0x5c/0x90 +[ 52.504131] [] ? 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: [] 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 -- cgit mrf-deployment