From: Hyeonggon Yoo <42.hyeyoo@gmail.com>
To: sj@kernel.org
Cc: linux-mm@kvack.org, akpm@linux-foundation.org, damon@lists.linux.dev
Subject: Re: DAMON KUNIT test failure in latest mm-everything
Date: Sun, 2 Oct 2022 16:24:29 +0900 [thread overview]
Message-ID: <Yzk8rfGNTTiU3tH0@hyeyoo> (raw)
In-Reply-To: <YzkSd/oug4Gus2tJ@hyeyoo>
On Sun, Oct 02, 2022 at 01:24:23PM +0900, Hyeonggon Yoo wrote:
> Hi guys, yesterday I just built and booted latest mm-everything,
> and I got following report from KUNIT test.
>
> Environment:
> - x86_64, gcc 11.2.0
> - mm-everything (tag: mm-everything-2022-10-01-01-55)
> - config attached
>
> Report (stacktrace decoded):
FYI, below is the bad commit from git bisection ;)
Thanks!
065530b966a42d63f214ba40427dc8d00345f573 is the first bad commit
commit 065530b966a42d63f214ba40427dc8d00345f573
Author: SeongJae Park <sj@kernel.org>
Date: Fri Sep 9 20:28:57 2022 +0000
mm/damon/core-test: test damon_set_regions
Preceding commit fixes a bug in 'damon_set_regions()', which allows holes
in the new monitoring target ranges. This commit adds a kunit test case
for the problem to avoid any regression.
Link: https://lkml.kernel.org/r/20220909202901.57977-4-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Yun Levi <ppbuk5246@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core-test.h | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
> [ 37.158892] ok 5 - damon_test_merge_two
> [ 37.159934] ok 6 - damon_test_merge_regions_of
> [ 37.196173] ok 7 - damon_test_split_regions_of
> [ 37.198029] ok 8 - damon_test_ops_registration
> [ 37.199802] list_del corruption, ffff88811f1c21a0->next is NULL
> [ 37.201069] ------------[ cut here ]------------
> [ 37.201553] kernel BUG at lib/list_debug.c:49!
> [ 37.202026] invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
> [ 37.202632] CPU: 16 PID: 375 Comm: kunit_try_catch Tainted: G B N 6.0.0-rc3+ #1841
> [ 37.203544] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014
> [ 37.204680] RIP: 0010:__list_del_entry_valid.cold (lib/list_debug.c:49 (discriminator 3))
> [ 37.205642] Code: c7 c7 20 b9 51 83 e8 a3 08 fd ff 0f 0b 48 c7 c7 c0 b8 51 83 e8 95 08 fd ff 0f 0b 48 89 ee 48 c7 c7 80 ba 51 83 e8 84 08 fd ff <0f> 0b 4c 89 e1 4c 89 f6 48 c7 c7 80 bc 51 83 e8 70 08 fd ff 0f 0b
> All code
> ========
> 0: c7 c7 20 b9 51 83 mov $0x8351b920,%edi
> 6: e8 a3 08 fd ff call 0xfffffffffffd08ae
> b: 0f 0b ud2
> d: 48 c7 c7 c0 b8 51 83 mov $0xffffffff8351b8c0,%rdi
> 14: e8 95 08 fd ff call 0xfffffffffffd08ae
> 19: 0f 0b ud2
> 1b: 48 89 ee mov %rbp,%rsi
> 1e: 48 c7 c7 80 ba 51 83 mov $0xffffffff8351ba80,%rdi
> 25: e8 84 08 fd ff call 0xfffffffffffd08ae
> 2a:* 0f 0b ud2 <-- trapping instruction
> 2c: 4c 89 e1 mov %r12,%rcx
> 2f: 4c 89 f6 mov %r14,%rsi
> 32: 48 c7 c7 80 bc 51 83 mov $0xffffffff8351bc80,%rdi
> 39: e8 70 08 fd ff call 0xfffffffffffd08ae
> 3e: 0f 0b ud2
>
> Code starting with the faulting instruction
> ===========================================
> 0: 0f 0b ud2
> 2: 4c 89 e1 mov %r12,%rcx
> 5: 4c 89 f6 mov %r14,%rsi
> 8: 48 c7 c7 80 bc 51 83 mov $0xffffffff8351bc80,%rdi
> f: e8 70 08 fd ff call 0xfffffffffffd0884
> 14: 0f 0b ud2
> [ 37.209099] RSP: 0018:ffff88811f9e7d48 EFLAGS: 00010286
> [ 37.210008] RAX: 0000000000000033 RBX: ffff88811f1c2170 RCX: 0000000000000000
> [ 37.211292] RDX: ffff888113d736c0 RSI: 0000000000000000 RDI: ffffed1023f3cf9b
> [ 37.212637] RBP: ffff88811f1c21a0 R08: 0000000000000033 R09: ffff88811f9e7a47
> [ 37.213961] R10: 0000000080000000 R11: 0000000000000001 R12: 0000000000000000
> [ 37.215324] R13: 0000000000000000 R14: ffff88811f1c21a8 R15: 000000000000001c
> [ 37.216678] FS: 0000000000000000(0000) GS:ffff8881e3600000(0000) knlGS:0000000000000000
> [ 37.218165] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 37.219225] CR2: 00007fd98b8a3e40 CR3: 000000000442c000 CR4: 0000000000750ee0
> [ 37.220622] PKRU: 55555554
> [ 37.221132] Call Trace:
> [ 37.221554] <TASK>
> [ 37.221927] damon_test_set_regions (./include/linux/list.h:134 ./include/linux/list.h:148 mm/damon/core.c:354 mm/damon/core.c:368 mm/damon/core-test.h:289)
> [ 37.222765] ? damon_set_regions (mm/damon/core-test.h:271)
> [ 37.223571] ? rcu_read_lock_sched_held (kernel/rcu/update.c:104 kernel/rcu/update.c:123)
> [ 37.224495] ? lock_acquire (kernel/locking/lockdep.c:5639)
> [ 37.225203] ? lock_release (kernel/locking/lockdep.c:115 kernel/locking/lockdep.c:5679)
> [ 37.225912] ? rcu_read_lock_sched_held (kernel/rcu/update.c:104 kernel/rcu/update.c:123)
> [ 37.226806] ? __kthread_parkme (./include/linux/instrumented.h:72 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 kernel/kthread.c:270)
> [ 37.227587] ? lock_acquired (kernel/locking/lockdep.c:115 kernel/locking/lockdep.c:5913)
> [ 37.228357] ? lock_downgrade (kernel/locking/lockdep.c:5674)
> [ 37.229127] ? io_schedule_timeout (kernel/sched/core.c:6391)
> [ 37.229940] ? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4273)
> [ 37.230864] ? kunit_try_catch_throw (lib/kunit/try-catch.c:25)
> [ 37.231699] kunit_try_run_case (lib/kunit/test.c:382)
> [ 37.232492] ? kunit_catch_run_case (lib/kunit/test.c:367)
> [ 37.233310] ? kunit_try_catch_throw (lib/kunit/try-catch.c:25)
> [ 37.234099] kunit_generic_run_threadfn_adapter (lib/kunit/try-catch.c:30)
> [ 37.235099] kthread (kernel/kthread.c:376)
> [ 37.235663] ? kthread_complete_and_exit (kernel/kthread.c:331)
> [ 37.236556] ret_from_fork (arch/x86/entry/entry_64.S:312)
> [ 37.237242] </TASK>
> [ 37.237662] Modules linked in:
> [ 37.238298] ---[ end trace 0000000000000000 ]---
> [ 37.239157] RIP: 0010:__list_del_entry_valid.cold (lib/list_debug.c:49 (discriminator 3))
> [ 37.240247] Code: c7 c7 20 b9 51 83 e8 a3 08 fd ff 0f 0b 48 c7 c7 c0 b8 51 83 e8 95 08 fd ff 0f 0b 48 89 ee 48 c7 c7 80 ba 51 83 e8 84 08 fd ff <0f> 0b 4c 89 e1 4c 89 f6 48 c7 c7 80 bc 51 83 e8 70 08 fd ff 0f 0b
> All code
> ========
> 0: c7 c7 20 b9 51 83 mov $0x8351b920,%edi
> 6: e8 a3 08 fd ff call 0xfffffffffffd08ae
> b: 0f 0b ud2
> d: 48 c7 c7 c0 b8 51 83 mov $0xffffffff8351b8c0,%rdi
> 14: e8 95 08 fd ff call 0xfffffffffffd08ae
> 19: 0f 0b ud2
> 1b: 48 89 ee mov %rbp,%rsi
> 1e: 48 c7 c7 80 ba 51 83 mov $0xffffffff8351ba80,%rdi
> 25: e8 84 08 fd ff call 0xfffffffffffd08ae
> 2a:* 0f 0b ud2 <-- trapping instruction
> 2c: 4c 89 e1 mov %r12,%rcx
> 2f: 4c 89 f6 mov %r14,%rsi
> 32: 48 c7 c7 80 bc 51 83 mov $0xffffffff8351bc80,%rdi
> 39: e8 70 08 fd ff call 0xfffffffffffd08ae
> 3e: 0f 0b ud2
>
> Code starting with the faulting instruction
> ===========================================
> 0: 0f 0b ud2
> 2: 4c 89 e1 mov %r12,%rcx
> 5: 4c 89 f6 mov %r14,%rsi
> 8: 48 c7 c7 80 bc 51 83 mov $0xffffffff8351bc80,%rdi
> f: e8 70 08 fd ff call 0xfffffffffffd0884
> 14: 0f 0b ud2
> [ 37.243633] RSP: 0018:ffff88811f9e7d48 EFLAGS: 00010286
> [ 37.244691] RAX: 0000000000000033 RBX: ffff88811f1c2170 RCX: 0000000000000000
> [ 37.246006] RDX: ffff888113d736c0 RSI: 0000000000000000 RDI: ffffed1023f3cf9b
> [ 37.247321] RBP: ffff88811f1c21a0 R08: 0000000000000033 R09: ffff88811f9e7a47
> [ 37.248700] R10: 0000000080000000 R11: 0000000000000001 R12: 0000000000000000
> [ 37.250023] R13: 0000000000000000 R14: ffff88811f1c21a8 R15: 000000000000001c
> [ 37.251355] FS: 0000000000000000(0000) GS:ffff8881e3600000(0000) knlGS:0000000000000000
> [ 37.252914] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 37.254000] CR2: 00007fd98b8a3e40 CR3: 000000000442c000 CR4: 0000000000750ee0
> [ 37.255357] PKRU: 55555554
>
> --
> Thanks,
> Hyeonggon
next prev parent reply other threads:[~2022-10-02 7:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-02 4:24 DAMON KUNIT test failure in latest mm-everything Hyeonggon Yoo
2022-10-02 7:24 ` Hyeonggon Yoo [this message]
2022-10-02 19:36 ` SeongJae Park
2022-10-03 6:37 ` Hyeonggon Yoo
2022-10-03 16:48 ` SeongJae Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yzk8rfGNTTiU3tH0@hyeyoo \
--to=42.hyeyoo@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=damon@lists.linux.dev \
--cc=linux-mm@kvack.org \
--cc=sj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.