Herbert Poetzl wrote:

On Wed, Sep 15, 2004 at 08:28:43PM -0300, James MacLean wrote:


Herbert Poetzl wrote:



Don't hold your breath :(. Can not find a null modem and cables :(. Plus the test box is down and didn't auto reboot this time so I'm sending someone in to revive it :).




I can wait ;) ...

best,
Herbert



Try again,
JES



Hi James!

okay, could you put the EIP address through addr2line
with 'addr2line -e vmlinux c02ae990' and see if
this points to the folowing line of code:



Just gives ??:00

net/ipv4/tcp_ipv4.c ~2189

                vxdprintk(VXD_CBIT(net, 6),
                        "sk,req: %p [#%d] (from %d)",
                        req->sk, req->sk->sk_xid, current->xid);
here ----->  if (!vx_check(req->sk->sk_xid, VX_IDENT|VX_WATCH))
                        continue;
                if (req->class->family == st->family) {
                        cur = req;
                        goto out;
                }

if the addr2line doesn't produce a line in
net/ipv4/tcp_ipv4.c, please decrement the addr
in steps of 4 bytes, like this: c02ae98c, c02ae988, c02ae984, c02ae980 ...
and see where in net/ipv4/tcp_ipv4.c it ends up




Sorry, but all I get it is ??:00 and after reading the man on addr2line, I also compiled hello.c and got the same result. So obviously I'm not up to snuff with what I should be doing/seeing to get addr2line to function. Or is there a way to get what you want with "gdb vmlinux" ?

Also I am resending the ksymoops as it might have been off due to the System.map it was pointing to.

TIA,
Herbert


ksymoops 2.4.9 on i686 2.6.9-rc2-bk1-vs1.9.2.23b.  Options used
    -v vmlinux (specified)
    -k /proc/ksyms (default)
    -l /proc/modules (default)
    -o /lib/modules/2.6.9-rc2-bk1-vs1.9.2.23b/ (default)
    -m /usr/src/linux/System.map (default)

Error (regular_file): read_ksyms stat /proc/ksyms failed
No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Unable to handle kernel NULL pointer dereference at virtual address 0000001c
c02ae990
*pde = 00000000
Oops: 0000 [#1]
CPU: 0
EIP: 0060:[<c02ae990>] Not tainted VLI
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010286 (2.6.9-rc2-bk1-vs1.9.2.23b)
eax: 00000000 ebx: 00000000 ecx: f30d5800 edx: f3981000
esi: f7c0ccc0 edi: f4cba42c ebp: e47a0000 esp: e47a1f20
ds: 007b es: 007b ss: 0068
Stack: f7c0ccc0 f4cba28c f7c0cec0 f7c0ccc0 e47a1f60 000001c2 c02aee1f 00000000
f7c0ccdc f7c0cec0 f7c86080 c01750eb f7c0ced8 0000001a 000003e6 b7de601a
00000009 00000000 00000009 00000000 c03fc7c0 ddc23280 00000400 e47a1fac
Call Trace:
[<c02aee1f>] tcp_seq_next+0x53/0xad
[<c01750eb>] seq_read+0x1d8/0x268
[<c0159252>] vfs_read+0xc6/0x111
[<c01594cb>] sys_read+0x47/0x76
[<c0105e1d>] sysenter_past_esp+0x52/0x71
Code: 00 8b 4c 24 04 8b 34 24 8b 91 a4 01 00 00 8b 46 10 8b 4c 82 14 85 c9 74 20 b8 00 e0 ff ff 21 e0 8b 00 8b 98 10 05 00 00 8b 41 28 <39> 58 1c 74 4e 83 fb 01 74 49 85 c9 75 ef 8b 14 24 8b 42 10 83



>>EIP; c02ae990 <listening_get_next+120/1b7> <=====

>>ecx; f30d5800 <pg0+32cd2800/3fbfb400>
>>edx; f3981000 <pg0+3357e000/3fbfb400>
>>esi; f7c0ccc0 <pg0+37809cc0/3fbfb400>
>>edi; f4cba42c <pg0+348b742c/3fbfb400>
>>ebp; e47a0000 <pg0+2439d000/3fbfb400>
>>esp; e47a1f20 <pg0+2439ef20/3fbfb400>

Trace; c02aee1f <tcp_seq_next+53/ad>
Trace; c01750eb <seq_read+1d8/268>
Trace; c0159252 <vfs_read+c6/111>
Trace; c01594cb <sys_read+47/76>
Trace; c0105e1d <sysenter_past_esp+52/71>

This architecture has variable length instructions, decoding before eip
is unreliable, take these instructions with a pinch of salt.

Code;  c02ae965 <listening_get_next+f5/1b7>
00000000 <_EIP>:
Code;  c02ae965 <listening_get_next+f5/1b7>
  0:   00 8b 4c 24 04 8b         add    %cl,0x8b04244c(%ebx)
Code;  c02ae96b <listening_get_next+fb/1b7>
  6:   34 24                     xor    $0x24,%al
Code;  c02ae96d <listening_get_next+fd/1b7>
  8:   8b 91 a4 01 00 00         mov    0x1a4(%ecx),%edx
Code;  c02ae973 <listening_get_next+103/1b7>
  e:   8b 46 10                  mov    0x10(%esi),%eax
Code;  c02ae976 <listening_get_next+106/1b7>
 11:   8b 4c 82 14               mov    0x14(%edx,%eax,4),%ecx
Code;  c02ae97a <listening_get_next+10a/1b7>
 15:   85 c9                     test   %ecx,%ecx
Code;  c02ae97c <listening_get_next+10c/1b7>
 17:   74 20                     je     39 <_EIP+0x39>
Code;  c02ae97e <listening_get_next+10e/1b7>
 19:   b8 00 e0 ff ff            mov    $0xffffe000,%eax
Code;  c02ae983 <listening_get_next+113/1b7>
 1e:   21 e0                     and    %esp,%eax
Code;  c02ae985 <listening_get_next+115/1b7>
 20:   8b 00                     mov    (%eax),%eax
Code;  c02ae987 <listening_get_next+117/1b7>
 22:   8b 98 10 05 00 00         mov    0x510(%eax),%ebx
Code;  c02ae98d <listening_get_next+11d/1b7>
 28:   8b 41 28                  mov    0x28(%ecx),%eax

This decode from eip onwards should be reliable

Code;  c02ae990 <listening_get_next+120/1b7>
00000000 <_EIP>:
Code;  c02ae990 <listening_get_next+120/1b7>   <=====
  0:   39 58 1c                  cmp    %ebx,0x1c(%eax)   <=====
Code;  c02ae993 <listening_get_next+123/1b7>
  3:   74 4e                     je     53 <_EIP+0x53>
Code;  c02ae995 <listening_get_next+125/1b7>
  5:   83 fb 01                  cmp    $0x1,%ebx
Code;  c02ae998 <listening_get_next+128/1b7>
  8:   74 49                     je     53 <_EIP+0x53>
Code;  c02ae99a <listening_get_next+12a/1b7>
  a:   85 c9                     test   %ecx,%ecx
Code;  c02ae99c <listening_get_next+12c/1b7>
  c:   75 ef                     jne    fffffffd <_EIP+0xfffffffd>
Code;  c02ae99e <listening_get_next+12e/1b7>
  e:   8b 14 24                  mov    (%esp),%edx
Code;  c02ae9a1 <listening_get_next+131/1b7>
 11:   8b 42 10                  mov    0x10(%edx),%eax
Code;  c02ae9a4 <listening_get_next+134/1b7>
 14:   83                        .byte 0x83

<0>Kernel panic - not syncing: Fatal exception in interrupt

1 error issued.  Results may not be reliable.
_______________________________________________
Vserver mailing list
[EMAIL PROTECTED]
http://list.linux-vserver.org/mailman/listinfo/vserver

Reply via email to