** 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 Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1354349

Title:
  The "crash" utility doesn't run in ARM64 based devices

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/crash/+bug/1354349/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to