[llvmlinux] "make test" for x86_64 target just hung there, why?

Sedat Dilek sedat.dilek at gmail.com
Sun Sep 6 16:16:40 UTC 2015


On Sun, Sep 6, 2015 at 1:46 PM, Sedat Dilek <sedat.dilek at gmail.com> wrote:
> On Tue, Aug 11, 2015 at 2:43 AM, Peter Teoh <htmldeveloper at gmail.com> wrote:
>>
>>
>> On Tue, Aug 11, 2015 at 7:57 AM, Jan-Simon Moeller <dl9pf at gmx.de> wrote:
>>>
>>> Some progress:
>>>
>>> I bisected from 4.1 to 4.2-rc1 and found this.
>>> Sounds scary with clang in mind. This really assumes gcc ;).
>>>
>>> @David: what do you think? Can clang deal with it ?
>>>
>>>
>>> be6cb02779ca74d83481f017db21578cfe92891c is the first bad commit
>>> commit be6cb02779ca74d83481f017db21578cfe92891c
>>> Author: Ingo Molnar <mingo at kernel.org>
>>> Date:   Fri Apr 10 14:08:46 2015 +0200
>>>
>>
>> Thank you Jan, Woodhouse and everyone, tested with the latest reversal patch
>> and it worked:
>>
>> commit 8cb2f092ee1fbfe17cb9c58cd3636ff60a74d88b
>> Author: Jan-Simon Möller <dl9pf at gmx.de>
>> Date:   Tue Aug 11 02:20:33 2015 +0200
>>
>>     Temporarily revert this patch until we discussed a solution.
>>
>
> Hi Peter,
>
> can you boot your 64-bit also on bare metal (not only in QEMU)?
>
> Which QEMU version do you use and how looks your qemu-line?
>
> I tried Linux v4.2 and v4.1.6 (patches arch/all and arch/x86_64 from
> llvmlinux-git) with my customized kernel-config and LLVM/Clang v3.7.0,
> but it does not boot here.
>
> Thanks in advance.
>
> Regards,
> - Sedat -

Hi,

I just played a bit more with my llvmlinux setup here.

Unfortunately, I killed my important files for Linux v4.2, but I have
the files for v4.1.6 kept.

I played with KVM and QEMU a bit and I got a cool command-line for
QEMU [1] and can see a NULL pointer dereference...

[    0.000000] Command line: root=/dev/ram0 console=ttyS0
hung_task_panic=1 earlyprintk=ttyS0,115200

root# echo $KPATH
/home/wearefam/src/linux-kernel/archive/dileks-kernels/LATEST-llvmlinux-4.1.y/important-files

root# LC_ALL=C ll $KPATH
total 40292
drwxr-xr-x 2 wearefam wearefam     4096 Sep  6 17:30 ./
drwxr-xr-x 3 wearefam wearefam     4096 Sep  6 13:30 ../
-rw-r--r-- 1 wearefam wearefam  3463333 Sep  6 13:24 System.map
-rw-r--r-- 1 wearefam wearefam  4563728 Sep  6 13:25 bzImage
-rw-r--r-- 1 wearefam wearefam 11893248 Sep  6 14:22 initrd.img
-rwxr-xr-x 1 wearefam wearefam 27376499 Sep  6 13:24 vmlinux*

root# qemu-system-x86_64 -enable-kvm -M pc -kernel $KPATH/bzImage
-initrd $KPATH/initrd.img -m 512 -net none -serial stdio -append
"root=/dev/ram0 console=ttyS0 hung_task_panic=1
earlyprintk=ttyS0,115200"

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.1.6-1-llvmlinux-small
(sedat.dilek at gmail.com@fambox) (clang version 3.7.0
(tags/RELEASE_370/final)) #1 SMP Sun Sep 6 13:24:30 CEST 2015
[    0.000000] Command line: root=/dev/ram0 console=ttyS0
hung_task_panic=1 earlyprintk=ttyS0,115200
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009f3ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009f400-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffcfff] usable
[    0.000000] BIOS-e820: [mem 0x000000001fffd000-0x000000001fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] bootconsole [earlyser0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[    0.000000] Hypervisor detected: KVM
[    0.000000] AGP: No AGP bridge found
[    0.000000] e820: last_pfn = 0x1fffd max_arch_pfn = 0x400000000
[    0.000000] PAT not supported by CPU.
[    0.000000] found SMP MP-table at [mem 0x000fdb00-0x000fdb0f]
mapped at [ffff8800000fdb00]
[    0.000000] Scanning 1 areas for low memory corruption
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000] init_memory_mapping: [mem 0x1f200000-0x1f3fffff]
[    0.000000] init_memory_mapping: [mem 0x00100000-0x1f1fffff]
[    0.000000] init_memory_mapping: [mem 0x1f400000-0x1fffcfff]
[    0.000000] RAMDISK: [mem 0x1f498000-0x1ffeffff]
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000000FD9A0 000014 (v00 BOCHS )
[    0.000000] ACPI: RSDT 0x000000001FFFD7B0 000034 (v01 BOCHS
BXPCRSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: FACP 0x000000001FFFFF80 000074 (v01 BOCHS
BXPCFACP 00000001 BXPC 00000001)
[    0.000000] ACPI: DSDT 0x000000001FFFD9B0 002589 (v01 BXPC   BXDSDT
  00000001 INTL 20100528)
[    0.000000] ACPI: FACS 0x000000001FFFFF40 000040
[    0.000000] ACPI: SSDT 0x000000001FFFD910 00009E (v01 BOCHS
BXPCSSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: APIC 0x000000001FFFD830 000072 (v01 BOCHS
BXPCAPIC 00000001 BXPC 00000001)
[    0.000000] ACPI: HPET 0x000000001FFFD7F0 000038 (v01 BOCHS
BXPCHPET 00000001 BXPC 00000001)
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000001fffcfff]
[    0.000000] NODE_DATA(0) allocated [mem 0x1fff8000-0x1fffcfff]
[    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000000] kvm-clock: cpu 0, msr 0:1fff4001, primary cpu clock
[    0.000000] clocksource kvm-clock: mask: 0xffffffffffffffff
max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.000000]   DMA32    [mem 0x0000000001000000-0x000000001fffcfff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.000000]   node   0: [mem 0x0000000000100000-0x000000001fffcfff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000001fffcfff]
[    0.000000] ACPI: PM-Timer IO Port: 0xb008
[    0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
[    0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.000000] e820: [mem 0x20000000-0xfeffbfff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on KVM
[    0.000000] clocksource refined-jiffies: mask: 0xffffffff
max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256
nr_cpu_ids:1 nr_node_ids:1
[    0.000000] BUG: unable to handle kernel NULL pointer dereference
at 0000000000000009
[    0.000000] IP: [<ffffffff81488bd0>] __bitmap_weight+0x20/0x60
[    0.000000] PGD 0
[    0.000000] Oops: 0000 [#1] SMP
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted
4.1.6-1-llvmlinux-small #1
[    0.000000] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
[    0.000000] task: ffffffff81e164b0 ti: ffffffff81e00000 task.ti:
ffffffff81e00000
[    0.000000] RIP: 0010:[<ffffffff81488bd0>]  [<ffffffff81488bd0>]
__bitmap_weight+0x20/0x60
[    0.000000] RSP: 0000:ffffffff81e03e10  EFLAGS: 00010006
[    0.000000] RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0000000000000009
[    0.000000] RDX: 0000000000000001 RSI: 0000000000000100 RDI: 0000000000000001
[    0.000000] RBP: ffffffff81e03e88 R08: ffffffff81f16400 R09: 0000000000000004
[    0.000000] R10: 0000000000000003 R11: 0000000000000001 R12: 000000007fffffff
[    0.000000] R13: 0000000000000008 R14: 0000000000000001 R15: 0000000000000007
[    0.000000] FS:  0000000000000000(0000) GS:ffffffff81f22000(0000)
knlGS:0000000000000000
[    0.000000] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.000000] CR2: 0000000000000009 CR3: 0000000001e0f000 CR4: 00000000000000b0
[    0.000000] Stack:
[    0.000000]  ffffffff81f7d61c ffffffff81e03ea8 0000000000007ff8
0000000000002000
[    0.000000]  0000000000200000 0000000000000000 0000000000200000
0000004000000001
[    0.000000]  0000000000000000 0000000000000001 0000000000002000
0000000000007000
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff81f7d61c>] ? pcpu_build_alloc_info+0x31c/0x6e0
[    0.000000]  [<ffffffff81f59d60>] ? pcpu_cpu_distance+0x80/0x80
[    0.000000]  [<ffffffff81f59ce0>] ? setup_per_cpu_areas+0x290/0x290
[    0.000000]  [<ffffffff81f7ceea>] pcpu_embed_first_chunk+0x3a/0x450
[    0.000000]  [<ffffffff81103335>] ? printk+0x55/0x60
[    0.000000]  [<ffffffff81f59e30>] ? pcpu_fc_alloc+0xd0/0xd0
[    0.000000]  [<ffffffff81f59abd>] setup_per_cpu_areas+0x6d/0x290
[    0.000000]  [<ffffffff81f3d177>] start_kernel+0x197/0x650
[    0.000000]  [<ffffffff818e8177>] ? memblock_reserve+0x57/0x60
[    0.000000]  [<ffffffff81f3c8db>] x86_64_start_kernel+0x26b/0x280
[    0.000000] Code: b8 01 00 00 00 c3 0f 1f 44 00 00 49 89 f8 31 d2
41 89 f1 41 c1 e9 06 b8 00 00 00 00 74 26 31 d2 45 89 ca 4c 89 c1 0f
1f 44 00 00 <48> 8b 39 e8 e8 c6 00 00 89 d2 48 01 c2 48 83 c1 08 41 ff
ca 75
[    0.000000] RIP  [<ffffffff81488bd0>] __bitmap_weight+0x20/0x60
[    0.000000]  RSP <ffffffff81e03e10>
[    0.000000] CR2: 0000000000000009
[    0.000000] ---[ end trace a814ade7fccce039 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.000000] BUG: unable to handle kernel NULL pointer dereference
at 0000000000000009
[    0.000000] IP: [<ffffffff81488bd0>] __bitmap_weight+0x20/0x60
[    0.000000] PGD 0
[    0.000000] Oops: 0000 [#2] SMP
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G      D
4.1.6-1-llvmlinux-small #1
[    0.000000] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007
[    0.000000] task: ffffffff81e164b0 ti: ffffffff81e00000 task.ti:
ffffffff81e00000
[    0.000000] RIP: 0010:[<ffffffff81488bd0>]  [<ffffffff81488bd0>]
__bitmap_weight+0x20/0x60
[    0.000000] RSP: 0000:ffffffff81e03950  EFLAGS: 00010006
[    0.000000] RAX: 0000000000000001 RBX: ffffffff81c452f7 RCX: 0000000000000009
[    0.000000] RDX: 0000000000000001 RSI: 0000000000000100 RDI: 0000000000000001
[    0.000000] RBP: ffffffff81e03978 R08: ffffffff81f16420 R09: 0000000000000004
[    0.000000] R10: 0000000000000003 R11: 203a676e69636e79 R12: 0000000000000009
[    0.000000] R13: 0000000000000000 R14: ffffffff81f16420 R15: 0000000000000000
[    0.000000] FS:  0000000000000000(0000) GS:ffffffff81f22000(0000)
knlGS:0000000000000000
[    0.000000] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.000000] CR2: 0000000000000009 CR3: 0000000001e0f000 CR4: 00000000000000b0
[    0.000000] Stack:
[    0.000000]  ffffffff81057fbf 0000000000000000 ffffffff81c452f7
0000000000000000
[    0.000000]  ffffffff81e164b0 ffffffff81e039f8 ffffffff8108d172
0000000000000009
[    0.000000]  0000000000000000 ffffffff81e164b0 00000000ffffffff
0000000000000000
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff81057fbf>] ? native_stop_other_cpus+0x3f/0x210
[    0.000000]  [<ffffffff8108d172>] panic+0x112/0x270
[    0.000000]  [<ffffffff81090055>] do_exit+0xb65/0xb90
[    0.000000]  [<ffffffff81107441>] ? rcu_lock_release+0x21/0x30
[    0.000000]  [<ffffffff81106aac>] ? kmsg_dump+0x17c/0x190
[    0.000000]  [<ffffffff8101af6b>] oops_end+0x10b/0x130
[    0.000000]  [<ffffffff81076500>] no_context+0x410/0x460
[    0.000000]  [<ffffffff8110f1e9>] ? debug_lockdep_rcu_enabled+0x9/0x40
[    0.000000]  [<ffffffff810b5756>] ? __kernel_text_address+0x76/0xb0
[    0.000000]  [<ffffffff8101a939>] ? print_context_stack+0x59/0x150
[    0.000000]  [<ffffffff810767c3>] __bad_area_nosemaphore+0x53/0x2a0
[    0.000000]  [<ffffffff8148243a>] ? sprintf+0x4a/0x50
[    0.000000]  [<ffffffff8148106d>] ? vsnprintf+0x8d/0x510
[    0.000000]  [<ffffffff81104ba4>] ? vprintk_emit+0x464/0x6a0
[    0.000000]  [<ffffffff81075f6b>] bad_area_nosemaphore+0x2b/0x40
[    0.000000]  [<ffffffff81075ad2>] __do_page_fault+0x592/0x5b0
[    0.000000]  [<ffffffff81075b62>] do_page_fault+0x72/0xc0
[    0.000000]  [<ffffffff818f2228>] page_fault+0x28/0x30
[    0.000000]  [<ffffffff81488bd0>] ? __bitmap_weight+0x20/0x60
[    0.000000]  [<ffffffff81f7d61c>] ? pcpu_build_alloc_info+0x31c/0x6e0
[    0.000000]  [<ffffffff81f59d60>] ? pcpu_cpu_distance+0x80/0x80
[    0.000000]  [<ffffffff81f59ce0>] ? setup_per_cpu_areas+0x290/0x290
[    0.000000]  [<ffffffff81f7ceea>] pcpu_embed_first_chunk+0x3a/0x450
[    0.000000]  [<ffffffff81103335>] ? printk+0x55/0x60
[    0.000000]  [<ffffffff81f59e30>] ? pcpu_fc_alloc+0xd0/0xd0

[    0.000000]  [<ffffffff81f59abd>] setup_per_cpu_areas+0x6d/0x290
[    0.000000]  [<ffffffff81f3d177>] start_kernel+0x197/0x650
[    0.000000]  [<ffffffff818e8177>] ? memblock_reserve+0x57/0x60
[    0.000000]  [<ffffffff81f3c8db>] x86_64_start_kernel+0x26b/0x280
[    0.000000] Code: b8 01 00 00 00 c3 0f 1f 44 00 00 49 89 f8 31 d2
41 89 f1 41 c1 e9 06 b8 00 00 00 00 74 26 31 d2 45 89 ca 4c 89 c1 0f
1f 44 00 00 <48> 8b 39 e8 e8 c6 00 00 89 d2 48 01 c2 48 83 c1 08 41 ff
ca 75
[    0.000000] RIP  [<ffffffff81488bd0>] __bitmap_weight+0x20/0x60
[    0.000000]  RSP <ffffffff81e03950>
[    0.000000] CR2: 0000000000000009
[    0.000000] ---[ end trace a814ade7fccce03a ]---

If you have any idea please let me know.

Peter, can you try that qemu-line and see if you get some output w/o
the reverted patch?
( Might be I hit a totally different issue. )

I will poke some friends from linux-x86 (maybe on IRC).

Thanks.

Regards,
- Sedat -

[1] https://lkml.org/lkml/2015/4/29/276


More information about the LLVMLinux mailing list