kernel 3.13.0-46.75 and 3.16.0-31.41 fails to boot on arm64

Bug #1426043 reported by Craig Magina
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
High
Kamal Mostafa
Trusty
Fix Released
High
Kamal Mostafa

Bug Description

The failure is:

BUG: failure at /build/buildd/linux-3.13.0/arch/arm64/include/asm/arch_timer.h:143/arch_counter_get_cntpct()!

which comes from this code:

static inline u64 arch_counter_get_cntpct(void)
{
        /*
         * AArch64 kernel and user space mandate the use of CNTVCT.
         */
        BUG();
        return 0;
}

The -46 kernel includes commit 800a366 (corresponding to upstream commit 0b46b8a) clocksource: arch_timer: Fix code to use physical timers when requested. This was added to fix clock problems on certain ARMv7 systems. Unfortunately, it also appears to break ARMv8 systems.

The upstream commit which fixes the ARMv8 breakage from commit 0b46b8a is d6ad369 clocksource: arch_timer: Only use the virtual counter (CNTVCT) on arm64. This commit appears not to have been backported to Trusty.

Here is a full boot log of the failure:

Starting kernel ...

L3C: 8MB
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.13.0-46-generic (buildd@templar) (gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-19ubuntu1) ) #75-Ubuntu SMP Tue Feb 10 21:12:09 UTC 2015 (Ubuntu 3.13.0-46.75-generic 3.13.11-ckt15)
[ 0.000000] CPU: AArch64 Processor [500f0001] revision 1
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] On node 0 totalpages: 16777216
[ 0.000000] Normal zone: 229376 pages used for memmap
[ 0.000000] Normal zone: 16777216 pages, LIFO batch:31
[ 0.000000] PERCPU: Embedded 12 pages/cpu @ffffffcffff72000 s17088 r8192 d23872 u49152
[ 0.000000] pcpu-alloc: s17088 r8192 d23872 u49152 alloc=12*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16547840
[ 0.000000] Kernel command line: console=ttyS0,9600n8r ro earlyprintk=uart8250-32bit,0x1c021000 debug
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes)
[ 0.000000] Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes)
[ 0.000000] software IO TLB [mem 0x4fbc800000-0x4fc0800000] (64MB) mapped at [ffffffcfbc800000-ffffffcfc07fffff]
[ 0.000000] Memory: 65994264K/67108864K available (5718K kernel code, 590K rwdata, 2536K rodata, 304K init, 538K bss, 1114600K reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vmalloc : 0xffffff8000000000 - 0xffffffbbffff0000 (245759 MB)
[ 0.000000] vmemmap : 0xffffffbce0000000 - 0xffffffbd18000000 ( 896 MB)
[ 0.000000] modules : 0xffffffbffc000000 - 0xffffffc000000000 ( 64 MB)
[ 0.000000] memory : 0xffffffc000000000 - 0xffffffd000000000 ( 65536 MB)
[ 0.000000] .init : 0xffffffc000891000 - 0xffffffc0008dd2c0 ( 305 kB)
[ 0.000000] .text : 0xffffffc000080000 - 0xffffffc0008909b4 ( 8259 kB)
[ 0.000000] .data : 0xffffffc0008de000 - 0xffffffc000971848 ( 591 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU dyntick-idle grace-period acceleration is enabled.
[ 0.000000] NR_IRQS:64 nr_irqs:64 0
[ 0.000000] Architected cp15 timer(s) running at 50.00MHz (phys).
[ 0.000000] BUG: failure at /build/buildd/linux-3.13.0/arch/arm64/include/asm/arch_timer.h:143/arch_counter_get_cntpct()!
[ 0.000000] Kernel panic - not syncing: BUG!
[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.13.0-46-generic #75-Ubuntu
[ 0.000000] Call trace:
[ 0.000000] [<ffffffc00008848c>] dump_backtrace+0x0/0x16c
[ 0.000000] [<ffffffc000088608>] show_stack+0x10/0x1c
[ 0.000000] [<ffffffc000603e0c>] dump_stack+0x74/0x94
[ 0.000000] [<ffffffc0005fe040>] panic+0xe0/0x20c
[ 0.000000] [<ffffffc0004eb39c>] arch_counter_get_cntpct+0x30/0x34
[ 0.000000] [<ffffffc0008c28d4>] arch_timer_common_init+0x1d4/0x244
[ 0.000000] [<ffffffc0008c2b88>] arch_timer_init+0x244/0x260
[ 0.000000] [<ffffffc0008c26d8>] clocksource_of_init+0x44/0x6c
[ 0.000000] [<ffffffc000894b0c>] time_init+0x8/0x38
[ 0.000000] [<ffffffc000891694>] start_kernel+0x200/0x360

Tags: trusty
Changed in linux (Ubuntu):
importance: Undecided → High
assignee: nobody → Kamal Mostafa (kamalmostafa)
Changed in linux (Ubuntu Trusty):
importance: Undecided → High
assignee: nobody → Kamal Mostafa (kamalmostafa)
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1426043

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu Trusty):
status: New → Incomplete
tags: added: trusty
Changed in linux (Ubuntu Trusty):
status: Incomplete → Triaged
Changed in linux (Ubuntu):
status: Incomplete → In Progress
Changed in linux (Ubuntu Trusty):
status: Triaged → In Progress
Revision history for this message
Brad Figg (brad-figg) wrote : Re: kernel 3.13.0-46.75 fails to boot on arm64

We have a test kernel available in our PPA. https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa Please verify that this kernel resolves the boot issue.

Revision history for this message
dann frazier (dannf) wrote :

Fix verified on a mustang board. Thanks!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.13.0-46.76

---------------
linux (3.13.0-46.76) trusty; urgency=low

  [ Kamal Mostafa ]

  * Release Tracking Bug
    - LP: #1426060

  [ Upstream Kernel Changes ]

  * clocksource: arch_timer: Only use the virtual counter (CNTVCT) on arm64
    - LP: #1426043
 -- Kamal Mostafa <email address hidden> Thu, 26 Feb 2015 09:53:44 -0800

Changed in linux (Ubuntu Trusty):
status: In Progress → Fix Released
status: In Progress → Fix Released
summary: - kernel 3.13.0-46.75 fails to boot on arm64
+ kernel 3.13.0-46.75 and 3.16.0-31.41 fails to boot on arm64
Po-Hsu Lin (cypressyew)
Changed in linux (Ubuntu):
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.