diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-02-20 11:21:33 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-02-20 11:21:33 +0100 |
| commit | 5abac1920ebb59b4f1691bbba6fac3e3553ef45d (patch) | |
| tree | 5554043146cbe906c54e694ad0b1839251ed64ce | |
| parent | c8e73b95c61fa26c0f6c2d0b96dee38ba1b13958 (diff) | |
pkg/report: add format for "workqueue leaked lock or atomic" crashes
| -rw-r--r-- | pkg/report/linux.go | 7 | ||||
| -rw-r--r-- | pkg/report/testdata/linux/report/211 | 26 | ||||
| -rw-r--r-- | pkg/report/testdata/linux/report/212 | 11 |
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 |
