Re: DAMON KUNIT test failure in latest mm-everything

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
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@xxxxxxxxxx
Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
Cc: Brendan Higgins <brendanhiggins@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Shuah Khan <shuah@xxxxxxxxxx>
Cc: Yun Levi <ppbuk5246@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux