Re: [mm] c566586818: BUG:kernel_hang_in_early-boot_stage,last_printk:Probing_EDD(edd=off_to_disable)...ok
From: Rong Chen
Date: Sun Aug 23 2020 - 22:48:12 EST
On 8/21/20 9:01 AM, Qian Cai wrote:
On Tue, Aug 18, 2020 at 08:23:51AM +0800, kernel test robot wrote:
Greeting,
FYI, we noticed the following commit (built with gcc-9):
commit: c5665868183fec689dbab9fb8505188b2c4f0757 ("mm: kmemleak: use the memory pool for early allocations")
I might see one of those early boot failure before. In my case, the bare-metal
system was reset. Can you try to narrow down to a smaller
CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE (assume 0 works if your bisecting was
correct) that works?
Hi Qian,
Adding CONFIG_EARLY_PRINTK=y to the kconfig file, and the boot hangs in
the below position:
[ 0.715834] Kernel command line: root=/dev/ram0 hung_task_panic=1
debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100
net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1
nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0
drbd.minor_count=8
systemd.log_level=err ignore_loglevel console=tty0
earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw
rcuperf.shutdown=0 watchdog_thresh=60
[ 0.719688] sysrq: sysrq always enabled.
[ 0.801005] Dentry cache hash table entries: 2097152 (order: 12,
16777216 bytes, linear)
[ 0.805588] Inode-cache hash table entries: 1048576 (order: 11,
8388608 bytes, linear)
[ 0.806464] mem auto-init: stack:off, heap alloc:on, heap free:off
[ 1.080978] Memory: 12319196K/12680692K available (10243K kernel
code, 2414K rwdata, 8184K rodata, 856K init, 20772K bss, 361496K
reserved, 0K cma-reserved)
qemu-system-x86_64: terminating on signal 2
The problem disappeared if CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=400:
[ 1.064575] Kernel command line: root=/dev/ram0 hung_task_panic=1
debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100
net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1
nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0
drbd.minor_count=8
systemd.log_level=err ignore_loglevel console=tty0
earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw
rcuperf.shutdown=0 watchdog_thresh=60
[ 1.068883] sysrq: sysrq always enabled.
[ 1.108720] Dentry cache hash table entries: 2097152 (order: 12,
16777216 bytes, linear)
[ 1.148852] Inode-cache hash table entries: 1048576 (order: 11,
8388608 bytes, linear)
[ 1.150271] mem auto-init: stack:off, heap alloc:on, heap free:off
[ 1.835309] Memory: 12325340K/12680692K available (10243K kernel
code, 2414K rwdata, 8192K rodata, 856K init, 14628K bss, 355352K
reserved, 0K cma-reserved)
[ 3.487078] general protection fault: 0000 [#1] DEBUG_PAGEALLOC PTI
[ 3.488185] CPU: 0 PID: 0 Comm: swapper Not tainted
5.3.0-11792-gc5665868183fe #1
[ 3.489581] RIP: 0010:lookup_address_in_pgd+0xd1/0x158
[ 3.490566] Code: 80 e0 01 0f 84 a7 00 00 00 49 89 f0 b8 11 ff ff 01
48 21 f9 49 c1 e8 12 48 c1 e0 27 41 81 e0 f8 0f 00 00 49 01 c0 49 8d 04
08 <48> f7 00 9f ff ff ff 0f 84 34 ff ff ff c7 02 02 00 00 00 48 8b 38
[ 3.494020] RSP: 0000:ffffffff8239e700 EFLAGS: 00010086
[ 3.494959] RAX: ffff110302110d90 RBX: 0000000000000001 RCX:
ffff888302110000
[ 3.496222] RDX: ffffffff8239e72c RSI: ffff88833653b000 RDI:
ffff88833653a000
[ 3.497363] RBP: ffffffff8239e808 R08: ffff888000000d90 R09:
0000000000346000
[ 3.498467] R10: 0000000000000001 R11: 0000000000000000 R12:
0000000000000001
[ 3.499554] R13: 0000000000000000 R14: ffff88833653b000 R15:
0000000000000000
[ 3.500638] FS: 0000000000000000(0000) GS:ffffffff8243d000(0000)
knlGS:0000000000000000
[ 3.501863] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 3.503036] CR2: ffff8883447ff000 CR3: 0000000002420000 CR4:
00000000000006b0
[ 3.504116] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[ 3.505156] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400
[ 3.506225] Call Trace:
[ 3.506597] Modules linked in:
[ 3.507255] random: get_random_bytes called from
init_oops_id+0x1d/0x2c with crng_init=0
[ 3.508734] ---[ end trace 0000000000000000 ]---
Best Regards,
Rong Chen