Skip to contentSkip to conversation

tcpdump with CONFIG_FILTER causes Oops on Sparc

DISCUSSION Eloy A. Paris 2 participants 3 messages May 28, 2002 – May 29, 2002

lore
Share & tools
lore
#0 lore raw

Hi,

I can reliably reproduce an Oops when running tcpdump on a Sun Ultra 5 (sparc64.) I was running without CONFIG_FILTER and was getting bus errors when tcpdump was run as in "tcpdump host <hostname/IP addr>". After I compiled my kernel with CONFIG_FILTER I started to get the Oops. I prefer to get the bus errors, if you ask me.

Kernel version is 2.4.19pre8. tcpdump is 3.6.2. Running Debian unstable.

Below is the output from ksymoops. Doesn't make much sense to me but if anyone is interested in debugging this further I am more than willing to help.

Cheers,

Eloy.-

ksymoops 2.4.5 on sparc64 2.4.19-pre8. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.19-pre8/ (default) -m /usr/src/linux/System.map (specified)

May 28 17:46:39 elparis-lnx kernel: Unable to handle kernel paging request in mna handler<1> at virtual address 0015000500008035
May 28 17:46:39 elparis-lnx kernel:               \|/ ____ \|/
May 28 17:46:39 elparis-lnx kernel:               "@'/ .. \`@"
May 28 17:46:39 elparis-lnx kernel:               /_| \__/ |_\
May 28 17:46:39 elparis-lnx kernel:                  \__U_/
May 28 17:46:39 elparis-lnx kernel: tcpdump(201): Oops
May 28 17:46:39 elparis-lnx kernel: TSTATE: 0000004411009607 TPC: 0000000002005b8c TNPC: 0000000002005b90 Y: 02d00000    Not tainted
Using defaults from ksymoops -t elf32-sparc -a sparc
May 28 17:46:39 elparis-lnx kernel: g0: fffff800010a2fd1 g1: 0000000000000000 g2: 00000000005ecdf8 g3: 00000000006abfe8
May 28 17:46:39 elparis-lnx kernel: g4: fffff80000000000 g5: 0000000000000001 g6: fffff800010a0000 g7: 0000000000000001
May 28 17:46:39 elparis-lnx kernel: o0: fffff8001feb3c40 o1: 0015000500008035 o2: 0000000000000001 o3: 0000000000007fff
May 28 17:46:39 elparis-lnx kernel: o4: 00000000700299b8 o5: 0000000000000003 sp: fffff800010a3011 ret_pc: 0000000002005b74
May 28 17:46:39 elparis-lnx kernel: l0: fffff80000302040 l1: 0015000500008035 l2: 0000000000000000 l3: 00000000006b76b8
May 28 17:46:39 elparis-lnx kernel: l4: aaaaaaaaaaaaaaab l5: 00000000006b7400 l6: 0000000000000000 l7: 00000000700283a8
May 28 17:46:39 elparis-lnx kernel: i0: fffff800010c04e0 i1: fffff8001feb3c40 i2: 0000000000000000 i3: 0000000002007300
May 28 17:46:39 elparis-lnx kernel: i4: 0000000000000000 i5: 0000000000000000 i6: fffff800010a30d1 i7: 0000000002004f7c
May 28 17:46:39 elparis-lnx kernel: Caller[0000000002004f7c]
May 28 17:46:39 elparis-lnx kernel: Caller[000000000053c1b4]
May 28 17:46:39 elparis-lnx kernel: Caller[000000000053c7a0]
May 28 17:46:39 elparis-lnx kernel: Caller[00000000004645dc]
May 28 17:46:39 elparis-lnx kernel: Caller[000000000046328c]
May 28 17:46:39 elparis-lnx kernel: Caller[00000000004462c0]
May 28 17:46:39 elparis-lnx kernel: Caller[0000000000446a34]
May 28 17:46:39 elparis-lnx kernel: Caller[0000000000446c68]
May 28 17:46:39 elparis-lnx kernel: Caller[0000000000410e74]
May 28 17:46:39 elparis-lnx kernel: Caller[00000000700b17d0]
May 28 17:46:39 elparis-lnx kernel: Instruction DUMP: e25a2040  02c4401a  01000000 <d25c4000> d2722040  7f94f7cb  d0446008  a0100008  02c4000c 
Quoted 16 lines
Quoted 16 lines

PC; 02005b8c <.bss.end+4839/????> <=====

g0; fffff800010a2fd1 <END_OF_CODE+fffff7ffff0a1c7e/????> g2; 005ecdf8 <rtnl_sem+0/20>
g3; 006abfe8 <pgt_quicklists+0/20>
g4; fffff80000000000 <END_OF_CODE+fffff7fffdffecad/????> g6; fffff800010a0000 <END_OF_CODE+fffff7ffff09ecad/????> o0; fffff8001feb3c40 <END_OF_CODE+fffff8001deb28ed/????> o1; 15000500008035 <END_OF_CODE+150004fe006ce2/????> o3; 00007fff Before first symbol
o4; 700299b8 <END_OF_CODE+6e028665/????>
sp; fffff800010a3011 <END_OF_CODE+fffff7ffff0a1cbe/????> ret_pc; 02005b74 <.bss.end+4821/????>
l0; fffff80000302040 <END_OF_CODE+fffff7fffe300ced/????> l1; 15000500008035 <END_OF_CODE+150004fe006ce2/????> l3; 006b76b8 <zone_table+0/18>

Quoted 8 lines
Quoted 8 lines

l4; aaaaaaaaaaaaaaab <END_OF_CODE+aaaaaaaaa8aa9758/????> l5; 006b7400 <uidhash_table+6b8/800>
l7; 700283a8 <END_OF_CODE+6e027055/????>
i0; fffff800010c04e0 <END_OF_CODE+fffff7ffff0bf18d/????> i1; fffff8001feb3c40 <END_OF_CODE+fffff8001deb28ed/????> i3; 02007300 <.bss.end+5fad/????>
i6; fffff800010a30d1 <END_OF_CODE+fffff7ffff0a1d7e/????> i7; 02004f7c <.bss.end+3c29/????>

Trace; 02004f7c <.bss.end+3c29/????>
Trace; 0053c1b4 <sock_release+14/60>
Trace; 0053c7a0 <sock_close+20/60>
Trace; 004645dc <fput+5c/140>
Trace; 0046328c <filp_close+6c/80>
Trace; 004462c0 <put_files_struct+80/120>
Trace; 00446a34 <do_exit+b4/2c0>
Trace; 00446c68 <sys_exit+8/20>
Trace; 00410e74 <linux_sparc_syscall32+34/40>
Trace; 700b17d0 <END_OF_CODE+6e0b047d/????>

Code; 02005b80 <.bss.end+482d/????>
00000000 <_PC>:
Code; 02005b80 <.bss.end+482d/????>
0: e2 5a 20 40 unknown
Code; 02005b84 <.bss.end+4831/????>
4: 02 c4 40 1a unknown
Code; 02005b88 <.bss.end+4835/????>
8: 01 00 00 00 nop
Code; 02005b8c <.bss.end+4839/????> <=====
c: d2 5c 40 00 unknown <=====
Code; 02005b90 <.bss.end+483d/????>
10: d2 72 20 40 unknown
Code; 02005b94 <.bss.end+4841/????>
14: 7f 94 f7 cb call fe53df40 <_PC+0xfe53df40> 00543ac0 <dev_get_by_index+0/40>
Code; 02005b98 <.bss.end+4845/????>
18: d0 44 60 08 unknown
Code; 02005b9c <.bss.end+4849/????>
1c: a0 10 00 08 mov %o0, %l0
Code; 02005ba0 <.bss.end+484d/????>
20: 02 c4 00 0c unknown

#2 lore raw
In reply to Eloy A. Paris

Hi Dave,

Quoted 1 line · David S. Miller

What compiler was used to build this sparc64 kernel?

Whoops! Sorry I missed this bit of information; I know it's important.

'dmesg | grep gcc' reports this:

Linux version 2.4.19-pre8 (elparis@elparis-lnx) (gcc version egcs-2.92.11 19980921 (gcc2 ss-980609 experimental)) #7 Tue May 28 17:16:45 EDT 2002

Now, I have good news: Marcelo released 2.4.19-pre9 a little bit after I started to play with 2.4.19-pre8, so today I grabbed -pre9, built it, booted it, and now I have no problems whatsoever. Same compiler:

Linux version 2.4.19-pre9 (elparis@elparis-lnx) (gcc version egcs-2.92.11 19980921 (gcc2 ss-980609 experimental)) #9 Wed May 29 09:36:59 EDT 2002

Does this ring a bell, maybe something you fixed? (I see lots of fixes from you in the -pre9 changelog.)

Let me know if you want further information, and thanks for whatever magic you put into 2.4.19-pre9.

Cheers,

Eloy.-