Hi,
On Fri, Sep 6, 2013 at 4:27 PM, Dave Anderson <anderson@xxxxxxxxxx> wrote:
The arm_get_crash_notes() function in arm.c expects to find the kernel 'crash_notes' filled in. The idea is for this to happen in the error handling code of the kernel. Here to be precise: http://lxr.linux.no/#linux+v3.11/kernel/kexec.c#L1197.
When it comes to the unwind table stuff it's hard to say without a dump and a vmlinux.
Not that it's necessarily indicative of the problem at hand, but I am curious
----- Original Message -----
> Hi ,
> I am going to using crash utility for kernel issue on my Android device , It
> is a ARM cortex chip with Qualcomm platform , So I download crash source
> code and built it as ARM target , but looks problem as below , I also attach
> build log , thanks a lot for your kindly help ,
>
>
> Br
> Jordan
as to how your build came up with a target of "arm-linux-androideabi"?
When building crash with "make target=ARM", the configure command argument
passed to the embedded gdb build is "--target =arm-elf-linux", and on a RHEL or
Fedora x86_64 host, "gnu" gets appended to it, such that the resultant target
is shown like this in the gdb banner:
This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=arm-elf-linux"...
Is your x86_64 host machine also running an Android environment?
Anyway, it actually made it quite far into the initialization before
it fails with the "crash: cannot hash task_struct entries", which I
believe is caused by a bug in the ARM code here in the unwind_arm.c
function init_module_unwind_tables():
hq_open();
cnt = do_list(&ld);
if (cnt == -1) {
error(WARNING, "UNWIND: failed to gather unwind_table list");
return FALSE;
}
If you put a call to hq_close() here, it should at least continue on a bit farther
in the initialization sequence:
hq_open();
cnt = do_list(&ld);
if (cnt == -1) {
error(WARNING, "UNWIND: failed to gather unwind_table list");
+ hq_close();
return FALSE;
}
I'm not sure what's happening w/respect to the crash_notes and unwind info
gathering. The ARM guys on this list may have some ideas about that?
The arm_get_crash_notes() function in arm.c expects to find the kernel 'crash_notes' filled in. The idea is for this to happen in the error handling code of the kernel. Here to be precise: http://lxr.linux.no/#linux+v3.11/kernel/kexec.c#L1197.
When it comes to the unwind table stuff it's hard to say without a dump and a vmlinux.
I'm also curious about the target of "arm-linux-androideabi", by the way.
Regards,
Per
Also, when posting crash initialization-type failures, can you also attach
a full debug output by putting "-d8" on the crash command line?
Thanks,
Dave
> --
> --------------Crash
> Log-------------------------------------------------------------
> crash 7.0.2
> 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 "--host=x86_64-unknown-linux-gnu
> --target=arm-linux-androideabi"...
>
> WARNING: invalid note (n_type != NT_PRSTATUS)
> WARNING: could not retrieve crash_notes
>
> crash: invalid list entry: 90a0909
> WARNING: UNWIND: failed to gather unwind_table listWARNING: UNWIND: failed to
> initialize module unwind tables
> please wait... (gathering task table data)
> crash: cannot hash task_struct entries
>
>
> Crash-utility mailing list
> Crash-utility@xxxxxxxxxx
> https://www.redhat.com/mailman/listinfo/crash-utility
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility
-- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility