crash tool fail to analyze the image
by Jack Jing
Hi
I just use the crash tool get from crash-utility.git for arm64 kernel panic analyze, we found that the crash tool fails to analyze, so what is the status of crash support for arm64? And could you please help to check the log in attachment? I have deleted more than 100,000 lines of "WARNING: arm64_verify_symbol: function not implemented" in attachment. Thanks
I used command "./crash vmlinux emmd003@Mar-18-2014" to analyze.
Due to crash and vmlinux is too big in the mail loop, so I didn't attach them. if you need them, you can give me a space, I can share it to you, thanks.
FYI
jgjing@APSE-OSE-AP-SERVER:~/emmd_test$ readelf -h emmd003@Mar-18-2014
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: CORE (Core file)
Machine: <unknown>: 0xb7
Version: 0x1
Entry point address: 0x0
Start of program headers: 64 (bytes into file)
Start of section headers: 0 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 3
Size of section headers: 0 (bytes)
Number of section headers: 0
Section header string table index: 0
ng@APSE-OSE-AP-SERVER:~/emmd_test$ hd emmd003@Mar-18-2014
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 04 00 b7 00 01 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |@...............|
00000030 00 00 00 00 40 00 38 00 03 00 00 00 00 00 00 00 |....@.8.........|
00000040 04 00 00 00 00 00 00 00 e8 00 00 00 00 00 00 00 |................|
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000070 00 00 00 00 00 00 00 00 01 00 00 00 07 00 00 00 |................|
00000080 e8 00 00 00 00 00 00 00 00 00 00 c0 00 00 00 00 |................|
00000090 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 00 |................|
000000a0 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000b0 01 00 00 00 07 00 00 00 e8 00 00 09 00 00 00 00 |................|
000000c0 00 00 00 d2 00 00 00 00 00 00 00 12 00 00 00 00 |................|
000000d0 00 00 00 6d 00 00 00 00 00 00 00 6d 00 00 00 00 |...m.......m....|
000000e0 00 00 00 00 00 00 00 00 40 42 38 d5 1f 30 00 f1 |........@B8..0..|
000000f0 e1 0d 01 54 00 06 80 d2 00 00 40 b2 00 00 78 b2 |...T......@...x.|
00000100 00 00 76 b2 00 11 1e d5 5f 11 1e d5 20 f2 39 d5 |..v....._... .9.|
00000110 00 00 7a b2 20 f2 19 d5 c0 00 00 58 00 e0 1b d5 |..z. ......X....|
00000120 72 00 00 94 1f 10 1c d5 3e 08 00 14 00 00 00 00 |r.......>.......|
00000130 50 97 31 00 00 00 00 00 00 00 00 00 00 00 00 00 |P.1.............|
00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
10 years, 8 months
extension module: crash-extscript
by vinayak menon
Hi Dave,
I have uploaded an extension module named extscript to github
Link: https://github.com/vinayakmenon/crash-extscript
Will it be possible to advertise it on crash utility extension page ?
>From the readme of the project:
Extension module for crash utility, to talk to external scripts
What is extscript utility for ? At times we need to execute a series
of crash commands to arrive at a result. i.e. we execute a command,
get the output, pick an element from it, use it with the next command
and so on. There are cases when this may take several steps. This
utility is to automate these steps. Another use can be to execute a
series of predefined crash commands, parse it to get relevant info and
to generate a bug report.
A brief on the components in this package. (1) A crash utility
extension called 'extscript'. This provides a crash command of the
same name. (2) A script. perlfc.pl is an example script, which can
talk to extscript extension. This script can be used as an example to
write utilities that can talk to extscript extension. (3) A protocol
definition, for communication between 'extscript' and the external
script.
The external script is run as a server by crash utility, when you
invoke the extscript command. The external script serves the crash
utility by additonal commands. The script is not executed as is. We
invoke the script from crash command line. In other words, we talk to
the script from within the crash utility command line.
An example. (1) Copy the extscript.c to extensions folder (2) make
extensions (3) Copy perlfc.pl to crash directory.
crash> extend extensions/extscript.so
crash> extscript -f perl -a perl -a ./perlfc.pl
crash> extscript -b vmallocinfo
crash> extscript -b help
The first command loads the extscript module and adds the command
"extscript" to crash utility. The second command sets up the
environement. This is similar to how we pass arguments to execlp. The
last argument is the script path. This command has to be modified
depending on the kind of script that we are running. The third command
is the bypass command which actually executes the command we have
encoded in the script. In this case "vmallocinfo" is a command that is
defined in perlfc.pl. The extecript bypasses this command to the
script. The output in this case will be vmallocinfo similar
/proc/vmallocinfo, displayed on crash console. Thus in simple words we
are extending crash with additoinal commands encoded in a script. The
"help" command shows all the commands supported by the script and its
usage.
See project page in github for more info.
Thanks,
Vinayak
10 years, 8 months