Skip to contentSkip to conversation

Format of an 'oops' call trace (in show_trace)

DISCUSSION Amir Hermelin 2 participants 6 messages Oct 7, 2003 – Oct 10, 2003

lore
Share & tools
lore
#0 lore raw

Hi,
Can someone please point me to a description of what I see in the Call of the oops dump? I tried looking into show_trace and lookup_symbol functions, but I couldn't understand some things. For example, in this following trace:

Oct  7 17:13:54 joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))
Oct  7 17:13:54 joji kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0)) 

I don't understand the relevance to reqrdata (since it's not a function, but a data structure, and isn't the parameter to the mymod function). And could someone please explain what the 0x0 in the lines mean? From the code I understood it to be the offset of the symbol within the module, but that can't be right if both symbols translate to the same offset - so I must've understood it wrong.

Thanks for any help,
Amir.

Oct  7 17:13:54 joji kernel:  printing eip:
Oct  7 17:13:54 joji kernel: e01b090b
Oct  7 17:13:54 joji kernel: *pde = 00000000
Oct  7 17:13:54 joji kernel: Oops: 0002
Oct  7 17:13:54 joji kernel: nfsd nfs lockd sunrpc bcm5700 parport_pc lp
parport autofs sg sr_mod ide-scsi scsi_mod ide-cd cdrom key mymod bdev
mousedev hid input usb-uhci ehci-hcd usbcore ext3 
Oct  7 17:13:54 joji kernel: CPU:    0
Oct  7 17:13:54 joji kernel: EIP:    0060:[<e01b090b>]    Not tainted
Oct  7 17:13:54 joji kernel: EFLAGS: 00010282
Oct  7 17:13:54 joji kernel: 
Oct  7 17:13:54 joji kernel: EIP is at rtp_recv [mymod] 0x5b
(2.4.20-8custom)
Oct  7 17:13:54 joji kernel: eax: 00000000   ebx: d5542000   ecx: 00000001
edx: c0374c88
Oct  7 17:13:54 joji kernel: esi: e01bae00   edi: d76aa400   ebp: d5543fcc
esp: d5543f98
Oct  7 17:13:54 joji kernel: ds: 0068   es: 0068   ss: 0068
Oct  7 17:13:54 joji kernel: Process mymod (pid: 6978, stackpage=d5543000) 
Oct  7 17:13:54 joji kernel: Stack: e01bae00 d76aa400 d5542000 00000000
d76aa400 ffffffff e01a5308 e01bae00 
Oct  7 17:13:54 joji kernel:        d76aa400 d5543fcc d5542000 d5542000
dbd15900 00000000 d54f3fd0 d5533fd0 
Oct  7 17:13:54 joji kernel:        d5542000 00000000 e01a5220 00000000
00000000 00000000 c010742d d76aa400 
Oct  7 17:13:54 joji kernel: Call Trace:   [<e01bae00>] reqrdata [mymod] 0x0
(0xd5543f98))
Oct  7 17:13:54 joji kernel: [<e01a5308>] mymod [mymod] 0xe8 (0xd5543fb0)) 
Oct  7 17:13:54 joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))
Oct  7 17:13:54 joji kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0)) 
Oct  7 17:13:54 joji kernel: [<c010742d>] kernel_thread_helper [kernel] 0x5
(0xd5543ff0)) 
Oct  7 17:13:54 joji kernel: 
Oct  7 17:13:54 joji kernel: 
Oct  7 17:13:54 joji kernel: Code: ff 40 1c 8b 56 10 8b 52 1c 89 97 98 01 00

00 01 50 24 89 7c

#1 lore raw

On Tue, 7 Oct 2003 17:56:38 +0200 "Amir Hermelin" <[email protected]> wrote:

| Hi,
| Can someone please point me to a description of what I see in the Call of
| the oops dump?  I tried looking into show_trace and lookup_symbol functions,
| but I couldn't understand some things.  For example, in this following
| trace:
| Oct  7 17:13:54 joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))
| 
| Oct  7 17:13:54 joji kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0)) 
| I don't understand the relevance to reqrdata (since it's not a function, but
| a data structure, and isn't the parameter to the mymod function).
| And could
| someone please explain what the 0x0 in the lines mean? From the code I
| understood it to be the offset of the symbol within the module, but that
| can't be right if both symbols translate to the same offset - so I must've
| understood it wrong.

Hi,

What kernel version is this?
Any patches applied to it?

~Randy

| Oct  7 17:13:54 joji kernel:  printing eip:
| Oct  7 17:13:54 joji kernel: e01b090b
| Oct  7 17:13:54 joji kernel: *pde = 00000000
| Oct  7 17:13:54 joji kernel: Oops: 0002
| Oct  7 17:13:54 joji kernel: nfsd nfs lockd sunrpc bcm5700 parport_pc lp
| parport autofs sg sr_mod ide-scsi scsi_mod ide-cd cdrom key mymod bdev
| mousedev hid input usb-uhci ehci-hcd usbcore ext3 
| Oct  7 17:13:54 joji kernel: CPU:    0
| Oct  7 17:13:54 joji kernel: EIP:    0060:[<e01b090b>]    Not tainted
| Oct  7 17:13:54 joji kernel: EFLAGS: 00010282
| Oct  7 17:13:54 joji kernel: 
| Oct  7 17:13:54 joji kernel: EIP is at rtp_recv [mymod] 0x5b
| (2.4.20-8custom)
| Oct  7 17:13:54 joji kernel: eax: 00000000   ebx: d5542000   ecx: 00000001
| edx: c0374c88
| Oct  7 17:13:54 joji kernel: esi: e01bae00   edi: d76aa400   ebp: d5543fcc
| esp: d5543f98
| Oct  7 17:13:54 joji kernel: ds: 0068   es: 0068   ss: 0068
| Oct  7 17:13:54 joji kernel: Process mymod (pid: 6978, stackpage=d5543000) 
| Oct  7 17:13:54 joji kernel: Stack: e01bae00 d76aa400 d5542000 00000000
| d76aa400 ffffffff e01a5308 e01bae00 
| Oct  7 17:13:54 joji kernel:        d76aa400 d5543fcc d5542000 d5542000
| dbd15900 00000000 d54f3fd0 d5533fd0 
| Oct  7 17:13:54 joji kernel:        d5542000 00000000 e01a5220 00000000
| 00000000 00000000 c010742d d76aa400 
| Oct  7 17:13:54 joji kernel: Call Trace:   [<e01bae00>] reqrdata [mymod] 0x0
| (0xd5543f98))
| Oct  7 17:13:54 joji kernel: [<e01a5308>] mymod [mymod] 0xe8 (0xd5543fb0)) 
| Oct  7 17:13:54 joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))
| 
| Oct  7 17:13:54 joji kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0)) 
| Oct  7 17:13:54 joji kernel: [<c010742d>] kernel_thread_helper [kernel] 0x5
| (0xd5543ff0)) 
| Oct  7 17:13:54 joji kernel: 
| Oct  7 17:13:54 joji kernel: 
| Oct  7 17:13:54 joji kernel: Code: ff 40 1c 8b 56 10 8b 52 1c 89 97 98 01 00
| 00 01 50 24 89 7c 
#2 lore raw

Oops,
I forgot that part :) It's RH 2.4.20-8

Thanks,
Amir.

-----Original Message-----
From: Randy.Dunlap [mailto:[email protected]]
Sent: Tuesday, October 07, 2003 9:27 PM
To: Amir Hermelin
Cc: [email protected]
Subject: Re: Format of an 'oops' call trace (in show_trace)

On Tue, 7 Oct 2003 17:56:38 +0200 "Amir Hermelin" <[email protected]> wrote:

| Hi,
| Can someone please point me to a description of what I see in the Call 
| of the oops dump?  I tried looking into show_trace and lookup_symbol 
| functions, but I couldn't understand some things.  For example, in 
| this following
| trace:
| Oct  7 17:13:54 joji kernel: [<e01bae00>] reqrdata [mymod] 0x0
(0xd5543fb4))
| 
| Oct  7 17:13:54 joji kernel: [<e01a5220>] mymod [mymod] 0x0 
| (0xd5543fe0))
| I don't understand the relevance to reqrdata (since it's not a function,
but
| a data structure, and isn't the parameter to the mymod function).
| And could
| someone please explain what the 0x0 in the lines mean? From the code I
| understood it to be the offset of the symbol within the module, but that
| can't be right if both symbols translate to the same offset - so I must've
| understood it wrong.

Hi,

What kernel version is this?
Any patches applied to it?

~Randy

| Oct  7 17:13:54 joji kernel:  printing eip:
| Oct  7 17:13:54 joji kernel: e01b090b
| Oct  7 17:13:54 joji kernel: *pde = 00000000
| Oct  7 17:13:54 joji kernel: Oops: 0002
| Oct  7 17:13:54 joji kernel: nfsd nfs lockd sunrpc bcm5700 parport_pc 
| lp parport autofs sg sr_mod ide-scsi scsi_mod ide-cd cdrom key mymod 
| bdev mousedev hid input usb-uhci ehci-hcd usbcore ext3
| Oct  7 17:13:54 joji kernel: CPU:    0
| Oct  7 17:13:54 joji kernel: EIP:    0060:[<e01b090b>]    Not tainted
| Oct  7 17:13:54 joji kernel: EFLAGS: 00010282
| Oct  7 17:13:54 joji kernel:
| Oct  7 17:13:54 joji kernel: EIP is at rtp_recv [mymod] 0x5b
| (2.4.20-8custom)
| Oct  7 17:13:54 joji kernel: eax: 00000000   ebx: d5542000   ecx: 00000001
| edx: c0374c88
| Oct  7 17:13:54 joji kernel: esi: e01bae00   edi: d76aa400   ebp: d5543fcc
| esp: d5543f98
| Oct  7 17:13:54 joji kernel: ds: 0068   es: 0068   ss: 0068
| Oct  7 17:13:54 joji kernel: Process mymod (pid: 6978, stackpage=d5543000)
| Oct  7 17:13:54 joji kernel: Stack: e01bae00 d76aa400 d5542000 00000000
| d76aa400 ffffffff e01a5308 e01bae00 
| Oct  7 17:13:54 joji kernel:        d76aa400 d5543fcc d5542000 d5542000
| dbd15900 00000000 d54f3fd0 d5533fd0 
| Oct  7 17:13:54 joji kernel:        d5542000 00000000 e01a5220 00000000
| 00000000 00000000 c010742d d76aa400 
| Oct  7 17:13:54 joji kernel: Call Trace:   [<e01bae00>] reqrdata [mymod]

0x0
| (0xd5543f98))
| Oct 7 17:13:54 joji kernel: [<e01a5308>] mymod [mymod] 0xe8 (0xd5543fb0))

| Oct 7 17:13:54 joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))

| 
| Oct  7 17:13:54 joji kernel: [<e01a5220>] mymod [mymod] 0x0 
| (0xd5543fe0))
| Oct  7 17:13:54 joji kernel: [<c010742d>] kernel_thread_helper [kernel]
0x5
| (0xd5543ff0)) 
| Oct  7 17:13:54 joji kernel: 
| Oct  7 17:13:54 joji kernel: 
| Oct  7 17:13:54 joji kernel: Code: ff 40 1c 8b 56 10 8b 52 1c 89 97 98 01

00
| 00 01 50 24 89 7c

#3 lore raw

On Wed, 8 Oct 2003 13:25:44 +0200 "Amir Hermelin" <[email protected]> wrote:

| Oops, 
| I forgot that part :)  It's RH 2.4.20-8
| 
| Thanks,
| Amir.
| 
| 
| On Tue, 7 Oct 2003 17:56:38 +0200 "Amir Hermelin" <[email protected]> wrote:
| 
| | Hi,
| | Can someone please point me to a description of what I see in the Call 
| | of the oops dump?  I tried looking into show_trace and lookup_symbol 
| | functions, but I couldn't understand some things.  For example, in 
| | this following trace:

The basic format (in RH 2.4.20-8) is:

[<address>] symbol_name [module_name] 0xoffset_from_symbol (where address is on stack)

offset_from_symbol is hex bytes from symbol to <address>, so 0x0 is an exact match.

| | joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))
| | joji kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0))
| | I don't understand the relevance to reqrdata (since it's not a function,
| but
| | a data structure, and isn't the parameter to the mymod function).

It looks for any addresses in the kernel text (code) space and tries to find symbol names for them.

| | And could
| | someone please explain what the 0x0 in the lines mean? From the code I
| | understood it to be the offset of the symbol within the module, but that
| | can't be right if both symbols translate to the same offset - so I must've
| | understood it wrong.

See above.

| | joji kernel:  printing eip:
| | joji kernel: e01b090b
| | joji kernel: *pde = 00000000
| | joji kernel: Oops: 0002
| | joji kernel: CPU:    0
| | joji kernel: EIP:    0060:[<e01b090b>]    Not tainted
| | joji kernel: EFLAGS: 00010282
| | joji kernel:
| | joji kernel: EIP is at rtp_recv [mymod] 0x5b (2.4.20-8custom)
| | joji kernel: eax: 00000000   ebx: d5542000   ecx: 00000001
| | edx: c0374c88
| | joji kernel: esi: e01bae00   edi: d76aa400   ebp: d5543fcc
| | esp: d5543f98
| | joji kernel: ds: 0068   es: 0068   ss: 0068
| | joji kernel: Process mymod (pid: 6978, stackpage=d5543000)
| 
| | joji kernel: Stack: e01bae00 d76aa400 d5542000 00000000
| | d76aa400 ffffffff e01a5308 e01bae00 
| | joji kernel:        d76aa400 d5543fcc d5542000 d5542000
| | dbd15900 00000000 d54f3fd0 d5533fd0 
| | joji kernel:        d5542000 00000000 e01a5220 00000000
| | 00000000 00000000 c010742d d76aa400 
| | joji kernel: Call Trace:
| |   [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543f98))
| | joji kernel: [<e01a5308>] mymod [mymod] 0xe8 (0xd5543fb0))
| 
| | joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))
| | 
| | joji kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0))
| | joji kernel: [<c010742d>] kernel_thread_helper [kernel] 0x5 (0xd5543ff0)) 

HTH.

--
~Randy

#4 lore raw

Thanks Randy.

Since the information doesn't tell me much other than which function dropped, is there any way I could get more than a hunch of where the fault occurred, assuming this is a loadable module?

Thanks,
Amir.

-----Original Message-----
From: Randy.Dunlap [mailto:[email protected]]
Sent: Wednesday, October 08, 2003 7:06 PM
To: Amir Hermelin
Cc: [email protected]
Subject: Re: Format of an 'oops' call trace (in show_trace)

On Wed, 8 Oct 2003 13:25:44 +0200 "Amir Hermelin" <[email protected]> wrote:

| Oops,
| I forgot that part :)  It's RH 2.4.20-8
| 
| Thanks,
| Amir.
| 
| 
| On Tue, 7 Oct 2003 17:56:38 +0200 "Amir Hermelin" <[email protected]> 
| wrote:
| 
| | Hi,
| | Can someone please point me to a description of what I see in the 
| | Call
| | of the oops dump?  I tried looking into show_trace and lookup_symbol 
| | functions, but I couldn't understand some things.  For example, in 
| | this following trace:

The basic format (in RH 2.4.20-8) is:

[<address>] symbol_name [module_name] 0xoffset_from_symbol (where address is on stack)

offset_from_symbol is hex bytes from symbol to <address>, so 0x0 is an exact match.

| | joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4)) joji 
| | kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0))
| | I don't understand the relevance to reqrdata (since it's not a 
| | function,
| but
| | a data structure, and isn't the parameter to the mymod function).

It looks for any addresses in the kernel text (code) space and tries to find symbol names for them.

| | And could
| | someone please explain what the 0x0 in the lines mean? From the code 
| | I understood it to be the offset of the symbol within the module, 
| | but that can't be right if both symbols translate to the same offset 
| | - so I must've understood it wrong.

See above.

| | joji kernel:  printing eip:
| | joji kernel: e01b090b
| | joji kernel: *pde = 00000000
| | joji kernel: Oops: 0002
| | joji kernel: CPU:    0
| | joji kernel: EIP:    0060:[<e01b090b>]    Not tainted
| | joji kernel: EFLAGS: 00010282
| | joji kernel:
| | joji kernel: EIP is at rtp_recv [mymod] 0x5b (2.4.20-8custom)
| | joji kernel: eax: 00000000   ebx: d5542000   ecx: 00000001
| | edx: c0374c88
| | joji kernel: esi: e01bae00   edi: d76aa400   ebp: d5543fcc
| | esp: d5543f98
| | joji kernel: ds: 0068   es: 0068   ss: 0068
| | joji kernel: Process mymod (pid: 6978, stackpage=d5543000)
| 
| | joji kernel: Stack: e01bae00 d76aa400 d5542000 00000000 d76aa400 
| | ffffffff e01a5308 e01bae00
| | joji kernel:        d76aa400 d5543fcc d5542000 d5542000
| | dbd15900 00000000 d54f3fd0 d5533fd0 
| | joji kernel:        d5542000 00000000 e01a5220 00000000
| | 00000000 00000000 c010742d d76aa400
| | joji kernel: Call Trace:
| |   [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543f98))
| | joji kernel: [<e01a5308>] mymod [mymod] 0xe8 (0xd5543fb0))
| 
| | joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))
| | 
| | joji kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0)) joji 
| | kernel: [<c010742d>] kernel_thread_helper [kernel] 0x5 (0xd5543ff0))

HTH.

--
~Randy

#5 lore raw

Install ksymoops. Its man page has info on module debugging and ooops reporting.

~Randy

On Thu, 9 Oct 2003 19:20:28 +0200 "Amir Hermelin" <[email protected]> wrote:

| Thanks Randy.
| 
| Since the information doesn't tell me much other than which function
| dropped, is there any way I could get more than a hunch of where the fault
| occurred, assuming this is a loadable module?
| 
| Thanks,
| Amir.
| 
| 
| 
| -----Original Message-----
| From: Randy.Dunlap [mailto:[email protected]] 
| Sent: Wednesday, October 08, 2003 7:06 PM
| To: Amir Hermelin
| Cc: [email protected]
| Subject: Re: Format of an 'oops' call trace (in show_trace)
| 
| 
| On Wed, 8 Oct 2003 13:25:44 +0200 "Amir Hermelin" <[email protected]> wrote:
| 
| | Oops,
| | I forgot that part :)  It's RH 2.4.20-8
| | 
| | Thanks,
| | Amir.
| | 
| | 
| | On Tue, 7 Oct 2003 17:56:38 +0200 "Amir Hermelin" <[email protected]> 
| | wrote:
| | 
| | | Hi,
| | | Can someone please point me to a description of what I see in the 
| | | Call
| | | of the oops dump?  I tried looking into show_trace and lookup_symbol 
| | | functions, but I couldn't understand some things.  For example, in 
| | | this following trace:
| 
| The basic format (in RH 2.4.20-8) is:
| 
| [<address>] symbol_name [module_name] 0xoffset_from_symbol (where address is
| on stack)
| 
| offset_from_symbol is hex bytes from symbol to <address>, so 0x0 is an exact
| match.
| 
| | | joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4)) joji 
| | | kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0))
| 
| | | I don't understand the relevance to reqrdata (since it's not a 
| | | function,
| | but
| | | a data structure, and isn't the parameter to the mymod function).
| 
| It looks for any addresses in the kernel text (code) space and tries to find
| symbol names for them.
| 
| | | And could
| | | someone please explain what the 0x0 in the lines mean? From the code 
| | | I understood it to be the offset of the symbol within the module, 
| | | but that can't be right if both symbols translate to the same offset 
| | | - so I must've understood it wrong.
| 
| See above.
| 
| | | joji kernel:  printing eip:
| | | joji kernel: e01b090b
| | | joji kernel: *pde = 00000000
| | | joji kernel: Oops: 0002
| | | joji kernel: CPU:    0
| | | joji kernel: EIP:    0060:[<e01b090b>]    Not tainted
| | | joji kernel: EFLAGS: 00010282
| | | joji kernel:
| | | joji kernel: EIP is at rtp_recv [mymod] 0x5b (2.4.20-8custom)
| | | joji kernel: eax: 00000000   ebx: d5542000   ecx: 00000001
| | | edx: c0374c88
| | | joji kernel: esi: e01bae00   edi: d76aa400   ebp: d5543fcc
| | | esp: d5543f98
| | | joji kernel: ds: 0068   es: 0068   ss: 0068
| | | joji kernel: Process mymod (pid: 6978, stackpage=d5543000)
| | 
| | | joji kernel: Stack: e01bae00 d76aa400 d5542000 00000000 d76aa400 
| | | ffffffff e01a5308 e01bae00
| | | joji kernel:        d76aa400 d5543fcc d5542000 d5542000
| | | dbd15900 00000000 d54f3fd0 d5533fd0 
| | | joji kernel:        d5542000 00000000 e01a5220 00000000
| | | 00000000 00000000 c010742d d76aa400
| | | joji kernel: Call Trace:
| | |   [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543f98))
| | | joji kernel: [<e01a5308>] mymod [mymod] 0xe8 (0xd5543fb0))
| | 
| | | joji kernel: [<e01bae00>] reqrdata [mymod] 0x0 (0xd5543fb4))
| | | 
| | | joji kernel: [<e01a5220>] mymod [mymod] 0x0 (0xd5543fe0)) joji 
| | | kernel: [<c010742d>] kernel_thread_helper [kernel] 0x5 (0xd5543ff0))
| 
| HTH.
| 
| --
| ~Randy