From: Herbert Poetzl (herbert_at_13thfloor.at)
Date: Thu 16 Sep 2004 - 01:08:23 BST
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:
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
TIA,
Herbert
> ksymoops 2.4.9 on i686 2.6.9-rc2-bk1-vs1.9.2.23b. Options used
> -V (default)
> -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)
>
> Warning: You did not tell me where to find symbol information. I will
> assume that the log matches the kernel and modules that are running
> right now and I'll use the default options above for symbol resolution.
> If the current kernel and/or modules do not match the log, you can get
> more accurate output by telling me the kernel version and where to find
> map, modules, ksyms etc. ksymoops -h explains the options.
>
> 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+17c/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+ab/ad>
> Trace; c01750eb <traverse+18/176>
> Trace; c0159252 <do_sync_write+a5/d6>
> Trace; c01594cb <sys_pread64+4b/82>
> 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+151/1b7>
> 00000000 <_EIP>:
> Code; c02ae965 <listening_get_next+151/1b7>
> 0: 00 8b 4c 24 04 8b add %cl,0x8b04244c(%ebx)
> Code; c02ae96b <listening_get_next+157/1b7>
> 6: 34 24 xor $0x24,%al
> Code; c02ae96d <listening_get_next+159/1b7>
> 8: 8b 91 a4 01 00 00 mov 0x1a4(%ecx),%edx
> Code; c02ae973 <listening_get_next+15f/1b7>
> e: 8b 46 10 mov 0x10(%esi),%eax
> Code; c02ae976 <listening_get_next+162/1b7>
> 11: 8b 4c 82 14 mov 0x14(%edx,%eax,4),%ecx
> Code; c02ae97a <listening_get_next+166/1b7>
> 15: 85 c9 test %ecx,%ecx
> Code; c02ae97c <listening_get_next+168/1b7>
> 17: 74 20 je 39 <_EIP+0x39>
> Code; c02ae97e <listening_get_next+16a/1b7>
> 19: b8 00 e0 ff ff mov $0xffffe000,%eax
> Code; c02ae983 <listening_get_next+16f/1b7>
> 1e: 21 e0 and %esp,%eax
> Code; c02ae985 <listening_get_next+171/1b7>
> 20: 8b 00 mov (%eax),%eax
> Code; c02ae987 <listening_get_next+173/1b7>
> 22: 8b 98 10 05 00 00 mov 0x510(%eax),%ebx
> Code; c02ae98d <listening_get_next+179/1b7>
> 28: 8b 41 28 mov 0x28(%ecx),%eax
>
> This decode from eip onwards should be reliable
>
> Code; c02ae990 <listening_get_next+17c/1b7>
> 00000000 <_EIP>:
> Code; c02ae990 <listening_get_next+17c/1b7> <=====
> 0: 39 58 1c cmp %ebx,0x1c(%eax) <=====
> Code; c02ae993 <listening_get_next+17f/1b7>
> 3: 74 4e je 53 <_EIP+0x53>
> Code; c02ae995 <listening_get_next+181/1b7>
> 5: 83 fb 01 cmp $0x1,%ebx
> Code; c02ae998 <listening_get_next+184/1b7>
> 8: 74 49 je 53 <_EIP+0x53>
> Code; c02ae99a <listening_get_next+186/1b7>
> a: 85 c9 test %ecx,%ecx
> Code; c02ae99c <listening_get_next+188/1b7>
> c: 75 ef jne fffffffd <_EIP+0xfffffffd>
> Code; c02ae99e <listening_get_next+18a/1b7>
> e: 8b 14 24 mov (%esp),%edx
> Code; c02ae9a1 <listening_get_next+18d/1b7>
> 11: 8b 42 10 mov 0x10(%edx),%eax
> Code; c02ae9a4 <listening_get_next+190/1b7>
> 14: 83 .byte 0x83
>
> <0>Kernel panic - not syncing: Fatal exception in interrupt
_______________________________________________
Vserver mailing list
Vserver_at_list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver