[Crash-utility] Crash utility on Android

Per Fransson per.fransson.ml at gmail.com
Tue Sep 10 20:42:36 UTC 2013


Hi,


On Fri, Sep 6, 2013 at 4:27 PM, Dave Anderson <anderson at redhat.com> wrote:

>
>
> ----- 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
>
> Not that it's necessarily indicative of the problem at hand, but I am
> curious
> 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 at redhat.com
> > https://www.redhat.com/mailman/listinfo/crash-utility
>
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20130910/e6e3bab6/attachment.htm>


More information about the Crash-utility mailing list