** Description changed: - **************** - HOW TO REPRODUCE - **************** + [Impact] + Crash is useless on trusty/arm64 - On an system that uses the ARM64 architecture, run the "crash" utility. + [Test Case] + BAD (today): + dannf@mustang:~$ sudo crash /usr/lib/debug/boot/vmlinux-3.13.0-37-generic - ****************** - EXPECTED BEHAVIOUR - ****************** + crash 7.0.3 + Copyright (C) 2002-2013 Red Hat, Inc. + Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation + Copyright (C) 1999-2006 Hewlett-Packard Co + Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited + Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. + Copyright (C) 2005, 2011 NEC Corporation + Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc. + Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc. + This program is free software, covered by the GNU General Public License, + and you are welcome to change it and/or distribute copies of it under + certain conditions. Enter "help copying" to see the conditions. + This program has absolutely no warranty. Enter "help warranty" for details. + + WARNING: arm64_verify_symbol: function not implemented + WARNING: arm64_verify_symbol: function not implemented + [repeats, ad nauseum] + WARNING: arm64_verify_symbol: function not implemented + WARNING: arm64_verify_symbol: function not implemented + GNU gdb (GDB) 7.6 + Copyright (C) 2013 Free Software Foundation, Inc. + License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> + This is free software: you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. Type "show copying" + and "show warranty" for details. + This GDB was configured as "aarch64-unknown-linux-gnu"... - - The "crash" utility to work. + crash: read error: kernel virtual address: ffffffc000612ce0 type: "cpu_possible_mask" + dannf@mustang:~$ - ************** - REAL BEHAVIOUR - ************** - - The "crash" utility doesn't work. + GOOD: + dannf@mustang:~$ sudo crash /usr/lib/debug/boot/vmlinux-3.13.0-37-generic - ************ - PROPOSED FIX - ************ + crash 7.0.3 + Copyright (C) 2002-2013 Red Hat, Inc. + Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation + Copyright (C) 1999-2006 Hewlett-Packard Co + Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited + Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. + Copyright (C) 2005, 2011 NEC Corporation + Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc. + Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc. + This program is free software, covered by the GNU General Public License, + and you are welcome to change it and/or distribute copies of it under + certain conditions. Enter "help copying" to see the conditions. + This program has absolutely no warranty. Enter "help warranty" for details. + + GNU gdb (GDB) 7.6 + Copyright (C) 2013 Free Software Foundation, Inc. + License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> + This is free software: you are free to change and redistribute it. + There is NO WARRANTY, to the extent permitted by law. Type "show copying" + and "show warranty" for details. + This GDB was configured as "aarch64-unknown-linux-gnu"... - - To clean merge into Ubuntu the <https://github.com/crash- - utility/crash/commit/0f6d989aa091a97e979ea01fb15e05cc22673de7> commit, - which updates the ARM64 implementation to support Linux 3.13 and later. + KERNEL: /usr/lib/debug/boot/vmlinux-3.13.0-37-generic + DUMPFILE: /dev/mem + CPUS: 8 + DATE: Tue Sep 30 15:24:37 2014 + UPTIME: 2 days, 05:04:47 + LOAD AVERAGE: 0.20, 0.59, 0.62 + TASKS: 150 + NODENAME: mustang + RELEASE: 3.13.0-37-generic + VERSION: #64-Ubuntu SMP Mon Sep 22 21:32:32 UTC 2014 + MACHINE: aarch64 (unknown Mhz) + MEMORY: 16 GB + PID: 19911 + COMMAND: "crash" + TASK: ffffffc21d18c200 [THREAD_INFO: ffffffc3e6978000] + CPU: 3 + STATE: TASK_RUNNING (ACTIVE) - - Since the change only affects the ARM64 architecture, there is no - potential regression. + crash> dis sys_read + 0xffffffc0001a6bc0 <SyS_read>: stp x29, x30, [sp,#-80]! + 0xffffffc0001a6bc4 <sys_read+4>: mov x29, sp + 0xffffffc0001a6bc8 <sys_read+8>: stp x19, x20, [sp,#16] + 0xffffffc0001a6bcc <sys_read+12>: mov x20, x1 + 0xffffffc0001a6bd0 <sys_read+16>: add x1, x29, #0x48 + 0xffffffc0001a6bd4 <sys_read+20>: str x21, [sp,#32] + 0xffffffc0001a6bd8 <sys_read+24>: str x2, [x29,#56] + 0xffffffc0001a6bdc <sys_read+28>: bl 0xffffffc0001c1d4c <fget_light> + 0xffffffc0001a6be0 <sys_read+32>: mov x19, x0 + 0xffffffc0001a6be4 <sys_read+36>: ldr w21, [x29,#72] + 0xffffffc0001a6be8 <sys_read+40>: ldr x2, [x29,#56] + 0xffffffc0001a6bec <sys_read+44>: cbz x0, 0xffffffc0001a6c48 <sys_read+136> + 0xffffffc0001a6bf0 <sys_read+48>: ldr x4, [x0,#72] + 0xffffffc0001a6bf4 <sys_read+52>: mov x1, x20 + 0xffffffc0001a6bf8 <sys_read+56>: add x3, x29, #0x48 + 0xffffffc0001a6bfc <sys_read+60>: str x4, [x29,#72] + 0xffffffc0001a6c00 <sys_read+64>: bl 0xffffffc0001a6080 <vfs_read> + 0xffffffc0001a6c04 <sys_read+68>: mov x20, x0 + 0xffffffc0001a6c08 <sys_read+72>: tbnz x20, #63, 0xffffffc0001a6c14 <sys_read+84> + 0xffffffc0001a6c0c <sys_read+76>: ldr x0, [x29,#72] + 0xffffffc0001a6c10 <sys_read+80>: str x0, [x19,#72] + 0xffffffc0001a6c14 <sys_read+84>: cbnz w21, 0xffffffc0001a6c2c <sys_read+108> + 0xffffffc0001a6c18 <sys_read+88>: mov x0, x20 + 0xffffffc0001a6c1c <sys_read+92>: ldr x21, [sp,#32] + 0xffffffc0001a6c20 <sys_read+96>: ldp x19, x20, [sp,#16] + 0xffffffc0001a6c24 <sys_read+100>: ldp x29, x30, [sp],#80 + 0xffffffc0001a6c28 <sys_read+104>: ret + 0xffffffc0001a6c2c <sys_read+108>: mov x0, x19 + 0xffffffc0001a6c30 <sys_read+112>: bl 0xffffffc0001a7d54 <fput> + 0xffffffc0001a6c34 <sys_read+116>: mov x0, x20 + 0xffffffc0001a6c38 <sys_read+120>: ldr x21, [sp,#32] + 0xffffffc0001a6c3c <sys_read+124>: ldp x19, x20, [sp,#16] + 0xffffffc0001a6c40 <sys_read+128>: ldp x29, x30, [sp],#80 + 0xffffffc0001a6c44 <sys_read+132>: ret + 0xffffffc0001a6c48 <sys_read+136>: mov x20, #0xfffffffffffffff7 // #-9 + 0xffffffc0001a6c4c <sys_read+140>: b 0xffffffc0001a6c18 <SyS_read+88> + crash> quit + dannf@mustang:~$ - **************** - RELEVANT DETAILS - **************** - - - The package's affected versions are the 7.0.3 based. - - - Dave Anderson at - <http://people.redhat.com/anderson/crash.changelog.html> said that some - commands, most notably "bt", don't work yet. + [Regression Risk] + With Ming's proposed backport, risk is low because it only touches code built on arm64. Since crash was useless before, can't get much worse :)
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to crash in Ubuntu. https://bugs.launchpad.net/bugs/1354349 Title: The "crash" utility doesn't run in ARM64 based devices Status in “crash” package in Ubuntu: Fix Released Status in “crash” source package in Trusty: Triaged Status in “crash” source package in Utopic: Fix Released Bug description: [Impact] Crash is useless on trusty/arm64 [Test Case] BAD (today): dannf@mustang:~$ sudo crash /usr/lib/debug/boot/vmlinux-3.13.0-37-generic crash 7.0.3 Copyright (C) 2002-2013 Red Hat, Inc. Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation Copyright (C) 1999-2006 Hewlett-Packard Co Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. Copyright (C) 2005, 2011 NEC Corporation Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc. Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc. This program is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Enter "help copying" to see the conditions. This program has absolutely no warranty. Enter "help warranty" for details. WARNING: arm64_verify_symbol: function not implemented WARNING: arm64_verify_symbol: function not implemented [repeats, ad nauseum] WARNING: arm64_verify_symbol: function not implemented WARNING: arm64_verify_symbol: function not implemented GNU gdb (GDB) 7.6 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-unknown-linux-gnu"... crash: read error: kernel virtual address: ffffffc000612ce0 type: "cpu_possible_mask" dannf@mustang:~$ GOOD: dannf@mustang:~$ sudo crash /usr/lib/debug/boot/vmlinux-3.13.0-37-generic crash 7.0.3 Copyright (C) 2002-2013 Red Hat, Inc. Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation Copyright (C) 1999-2006 Hewlett-Packard Co Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. Copyright (C) 2005, 2011 NEC Corporation Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc. Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc. This program is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Enter "help copying" to see the conditions. This program has absolutely no warranty. Enter "help warranty" for details. GNU gdb (GDB) 7.6 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "aarch64-unknown-linux-gnu"... KERNEL: /usr/lib/debug/boot/vmlinux-3.13.0-37-generic DUMPFILE: /dev/mem CPUS: 8 DATE: Tue Sep 30 15:24:37 2014 UPTIME: 2 days, 05:04:47 LOAD AVERAGE: 0.20, 0.59, 0.62 TASKS: 150 NODENAME: mustang RELEASE: 3.13.0-37-generic VERSION: #64-Ubuntu SMP Mon Sep 22 21:32:32 UTC 2014 MACHINE: aarch64 (unknown Mhz) MEMORY: 16 GB PID: 19911 COMMAND: "crash" TASK: ffffffc21d18c200 [THREAD_INFO: ffffffc3e6978000] CPU: 3 STATE: TASK_RUNNING (ACTIVE) crash> dis sys_read 0xffffffc0001a6bc0 <SyS_read>: stp x29, x30, [sp,#-80]! 0xffffffc0001a6bc4 <sys_read+4>: mov x29, sp 0xffffffc0001a6bc8 <sys_read+8>: stp x19, x20, [sp,#16] 0xffffffc0001a6bcc <sys_read+12>: mov x20, x1 0xffffffc0001a6bd0 <sys_read+16>: add x1, x29, #0x48 0xffffffc0001a6bd4 <sys_read+20>: str x21, [sp,#32] 0xffffffc0001a6bd8 <sys_read+24>: str x2, [x29,#56] 0xffffffc0001a6bdc <sys_read+28>: bl 0xffffffc0001c1d4c <fget_light> 0xffffffc0001a6be0 <sys_read+32>: mov x19, x0 0xffffffc0001a6be4 <sys_read+36>: ldr w21, [x29,#72] 0xffffffc0001a6be8 <sys_read+40>: ldr x2, [x29,#56] 0xffffffc0001a6bec <sys_read+44>: cbz x0, 0xffffffc0001a6c48 <sys_read+136> 0xffffffc0001a6bf0 <sys_read+48>: ldr x4, [x0,#72] 0xffffffc0001a6bf4 <sys_read+52>: mov x1, x20 0xffffffc0001a6bf8 <sys_read+56>: add x3, x29, #0x48 0xffffffc0001a6bfc <sys_read+60>: str x4, [x29,#72] 0xffffffc0001a6c00 <sys_read+64>: bl 0xffffffc0001a6080 <vfs_read> 0xffffffc0001a6c04 <sys_read+68>: mov x20, x0 0xffffffc0001a6c08 <sys_read+72>: tbnz x20, #63, 0xffffffc0001a6c14 <sys_read+84> 0xffffffc0001a6c0c <sys_read+76>: ldr x0, [x29,#72] 0xffffffc0001a6c10 <sys_read+80>: str x0, [x19,#72] 0xffffffc0001a6c14 <sys_read+84>: cbnz w21, 0xffffffc0001a6c2c <sys_read+108> 0xffffffc0001a6c18 <sys_read+88>: mov x0, x20 0xffffffc0001a6c1c <sys_read+92>: ldr x21, [sp,#32] 0xffffffc0001a6c20 <sys_read+96>: ldp x19, x20, [sp,#16] 0xffffffc0001a6c24 <sys_read+100>: ldp x29, x30, [sp],#80 0xffffffc0001a6c28 <sys_read+104>: ret 0xffffffc0001a6c2c <sys_read+108>: mov x0, x19 0xffffffc0001a6c30 <sys_read+112>: bl 0xffffffc0001a7d54 <fput> 0xffffffc0001a6c34 <sys_read+116>: mov x0, x20 0xffffffc0001a6c38 <sys_read+120>: ldr x21, [sp,#32] 0xffffffc0001a6c3c <sys_read+124>: ldp x19, x20, [sp,#16] 0xffffffc0001a6c40 <sys_read+128>: ldp x29, x30, [sp],#80 0xffffffc0001a6c44 <sys_read+132>: ret 0xffffffc0001a6c48 <sys_read+136>: mov x20, #0xfffffffffffffff7 // #-9 0xffffffc0001a6c4c <sys_read+140>: b 0xffffffc0001a6c18 <SyS_read+88> crash> quit dannf@mustang:~$ [Regression Risk] With Ming's proposed backport, risk is low because it only touches code built on arm64. Since crash was useless before, can't get much worse :) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/crash/+bug/1354349/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp