linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
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


  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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox