Hello at all, I am started with kallsyms in order to debug my kernel deadlock and I don't understand at all the output, that are some lines of the calltrace: [ 462.125000] Call Trace: [ 462.128000] [<80019440>] show_stack+0x48/0x78 [ 462.132000] [<8014e680>] showacpu+0xc4/0xf4 [ 462.137000] [<8014e6c4>] sysrq_handle_showallcpus+0x14/0x50 [ 462.142000] [<8014e318>] __handle_sysrq+0xd4/0x1ac [ 462.147000] [<8019e3dc>] bcm63xx_int+0x1b0/0x2f4 [ 462.152000] [<80062a74>] handle_IRQ_event+0xb8/0x4c0 [ 462.157000] [<80064f24>] handle_level_irq+0xd4/0x148 [ 462.162000] [<80011870>] plat_irq_dispatch+0x224/0x284 What do mean the couple of addresses like 0x224/0x284 ? I used to decode address by hands and what I expected is a single offset inside the function, but there I can see two address. Many thanks for your help, I am struggling and I am really frustrated!:-( Pietro.
plat_irq_dispatch+0x224/0x284, in this 0x224 is offset in the function plat_irq_dispatch and 0x284 is the length/size of the function (total instructions). -sumeet On Fri, Nov 16, 2012 at 3:54 PM, Pietro Paolini <P.Paolini@ext.adbglobal.com
wrote:
Hello at all,
I am started with kallsyms in order to debug my kernel deadlock and I don't understand at all the output, that are some lines of the calltrace: [ 462.125000] Call Trace:
[ 462.128000] [<80019440>] show_stack+0x48/0x78
[ 462.132000] [<8014e680>] showacpu+0xc4/0xf4
[ 462.137000] [<8014e6c4>] sysrq_handle_showallcpus+0x14/0x50
[ 462.142000] [<8014e318>] __handle_sysrq+0xd4/0x1ac
[ 462.147000] [<8019e3dc>] bcm63xx_int+0x1b0/0x2f4
[ 462.152000] [<80062a74>] handle_IRQ_event+0xb8/0x4c0
[ 462.157000] [<80064f24>] handle_level_irq+0xd4/0x148
[ 462.162000] [<80011870>] plat_irq_dispatch+0x224/0x284
What do mean the couple of addresses like 0x224/0x284 ? I used to decode address by hands and what I expected is a single offset inside the function, but there I can see two address. Many thanks for your help, I am struggling and I am really frustrated!:-( Pietro.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Lines like : ip_finish_output+0x0/0x360 Sounds a bit ambiguous for me, they are just parameters ? Thanks, Pietro From: sumeet gandhare [mailto:sumeetgandhare@gmail.com] Sent: venerdì 16 novembre 2012 11:36 To: Pietro Paolini Cc: kernelnewbies@kernelnewbies.org Subject: Re: Kallsyms plat_irq_dispatch+0x224/0x284, in this 0x224 is offset in the function plat_irq_dispatch and 0x284 is the length/size of the function (total instructions). -sumeet On Fri, Nov 16, 2012 at 3:54 PM, Pietro Paolini <P.Paolini@ext.adbglobal.com<mailto:P.Paolini@ext.adbglobal.com>> wrote: Hello at all, I am started with kallsyms in order to debug my kernel deadlock and I don't understand at all the output, that are some lines of the calltrace: [ 462.125000] Call Trace: [ 462.128000] [<80019440>] show_stack+0x48/0x78 [ 462.132000] [<8014e680>] showacpu+0xc4/0xf4 [ 462.137000] [<8014e6c4>] sysrq_handle_showallcpus+0x14/0x50 [ 462.142000] [<8014e318>] __handle_sysrq+0xd4/0x1ac [ 462.147000] [<8019e3dc>] bcm63xx_int+0x1b0/0x2f4 [ 462.152000] [<80062a74>] handle_IRQ_event+0xb8/0x4c0 [ 462.157000] [<80064f24>] handle_level_irq+0xd4/0x148 [ 462.162000] [<80011870>] plat_irq_dispatch+0x224/0x284 What do mean the couple of addresses like 0x224/0x284 ? I used to decode address by hands and what I expected is a single offset inside the function, but there I can see two address. Many thanks for your help, I am struggling and I am really frustrated!:-( Pietro. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org<mailto:Kernelnewbies@kernelnewbies.org> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Fri, Nov 16, 2012 at 12:48 PM, Pietro Paolini <P.Paolini@ext.adbglobal.com> wrote:
Lines like :
ip_finish_output+0x0/0x360
Hello, I encountered a similar problem once. The reason was that I was passing a NULL pointer or trying to pass a field of a structure that was NULL. So your call to ip_finish_output may look like: struct sk_buff *my_skb; ip_finish_output(my_skb); or struct my_struct { struct sk_buff *my_skb; }; my_struct *m; ip_finish_output(m->my_skb); In the first case the problem would be that my_skb is NULL. In the second case the problem would be that m or my_skb are NULL. Hope this helps you. -- Silviu Popescu
participants (3)
-
Pietro Paolini -
Silviu Popescu -
sumeet gandhare