Hi
Recently I upgraded my kernel to 2.6.11 (debian) and applied some
patches from pom-ng (netfilter) and the iproute2-ss050330 package
I have been experiencing a lot of crashes in the kernel (snip below)
=================================Apr 5 20:00:21 sydlxfw01 kernel: Unable to
handle kernel NULL pointer
dereference at virtual address 00000221
Apr 5 20:00:21 sydlxfw01 kernel: printing eip:
Apr 5 20:00:21 sydlxfw01 kernel: c01ebec0
Apr 5 20:00:21 sydlxfw01 kernel: *pde = 00000000
Apr 5 20:00:21 sydlxfw01 kernel: Oops: 0002 [#1]
Apr 5 20:00:21 sydlxfw01 kernel: PREEMPT
Apr 5 20:00:21 sydlxfw01 kernel: Modules linked in: rtc nvidia tun
l2cap bluetooth nfsd exportfs lockd sunrpc ipt_ULOG defl
ate twofish serpent aes_i586 blowfish des sha256 sha1 crypto_null
xfrm_user ipcomp esp4 ah4 af_key lp autofs4 capability com
moncap ip_nat_ftp ip_conntrack_ftp binfmt_misc binfmt_aout raw
ppp_deflate zlib_deflate bsd_comp ppp_async crc_ccitt ppp_gen
eric slhc eepro100 eth1394 bridge atm cls_fw cls_u32 sch_sfq sch_htb
af_packet ip6t_limit ip6t_LOG ip6t_mac ip6t_MARK ip6tab
le_mangle ip6table_filter ip6_tables md5 ipv6 ipt_TARPIT ipt_limit
ipt_REJECT ipt_LOG ipt_mac ipt_mark ipt_MASQUERADE iptabl
e_nat ipt_owner ipt_MARK ipt_state ip_conntrack iptable_mangle
iptable_filter ip_tables tsdev psmouse parport_pc parport evd
ev floppy pcspkr sundance mii crc32 ohci1394 ieee1394 snd_intel8x0
snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_time
r snd soundcore snd_page_alloc i2c_i801 i2c_core ehci_hcd usbhid usblp
uhci_hcd intel_agp intel_mch_agp agpgart i8xx_tco ide
_cd cdrom usb_storage usbcore sg aic7
Apr 5 20:00:21 sydlxfw01 kernel: xx ide_disk ide_generic via82cxxx
trm290 triflex slc90e66 sis5513 siimage serverworks sc12
00 rz1000 pdc202xx_old opti621 ns87415 hpt366 hpt34x generic cy82c693
cs5530 cs5520 cmd64x amd74xx alim15x3 aec62xx pdc202xx
_new unix ext2 ext3 jbd mbcache dm_mod raid5 xor raid1 md sd_mod
ata_piix libata scsi_mod piix ide_core
Apr 5 20:00:21 sydlxfw01 kernel: CPU: 0
Apr 5 20:00:21 sydlxfw01 kernel: EIP:
0060:[tty_ldisc_ref_wait+144/192] Tainted: P VLI
Apr 5 20:00:21 sydlxfw01 kernel: EFLAGS: 00010286 (2.6.11-1-ntf)
Apr 5 20:00:21 sydlxfw01 kernel: EIP is at tty_ldisc_ref_wait+0x90/0xc0
Apr 5 20:00:21 sydlxfw01 kernel: eax: 00000221 ebx: dde3b00c ecx:
c01f3ce0 edx: de120000
Apr 5 20:00:21 sydlxfw01 kernel: esi: 00000000 edi: 00000246 ebp:
00000000 esp: dc195e94
Apr 5 20:00:21 sydlxfw01 kernel: ds: 007b es: 007b ss: 0068
Apr 5 20:00:21 sydlxfw01 kernel: Process screen (pid: 9804,
threadinfo=dc194000 task=dc57e020)
Apr 5 20:00:21 sydlxfw01 kernel: Stack: c01ebf06 dde3b000 dde3b000
c01ec558 dde3b000 de120000 00000000 c01f3cfd
Apr 5 20:00:21 sydlxfw01 kernel: dde3b000 de120000 c01f050b
de120000 c01f28d8 de120000 dc6bc6b7 00000400
Apr 5 20:00:21 sydlxfw01 kernel: 00000000 c02d4c40 dc194000
de12093c 7fffffff 00000000 00000000 00000001
Apr 5 20:00:21 sydlxfw01 kernel: Call Trace:
Apr 5 20:00:21 sydlxfw01 kernel: [tty_ldisc_ref+22/48]
tty_ldisc_ref+0x16/0x30
Apr 5 20:00:21 sydlxfw01 kernel: [tty_wakeup+72/112]
tty_wakeup+0x48/0x70
Apr 5 20:00:21 sydlxfw01 kernel: [pty_unthrottle+29/48]
pty_unthrottle+0x1d/0x30
Apr 5 20:00:21 sydlxfw01 kernel: [check_unthrottle+59/64]
check_unthrottle+0x3b/0x40
Apr 5 20:00:21 sydlxfw01 kernel: [read_chan+1080/2016]
read_chan+0x438/0x7e0
Apr 5 20:00:21 sydlxfw01 kernel: [default_wake_function+0/32]
default_wake_function+0x0/0x20
Apr 5 20:00:21 sydlxfw01 last message repeated 2 times
Apr 5 20:00:21 sydlxfw01 kernel: [tty_read+246/288]
tty_read+0xf6/0x120
Apr 5 20:00:21 sydlxfw01 kernel: [vfs_read+229/352]
vfs_read+0xe5/0x160
Apr 5 20:00:21 sydlxfw01 kernel: [sys_read+81/128] sys_read+0x51/0x80
Apr 5 20:00:21 sydlxfw01 kernel: [sysenter_past_esp+82/117]
sysenter_past_esp+0x52/0x75
Apr 5 20:00:21 sydlxfw01 kernel: Code: 54 24 34 90 8d b4 26 00 00 00 00
b9 02 00 00 00 89 fa b8 2c b2 30 c0 e8 cf 3a f4 ff
89 1c 24 e8 07 ff ff ff 85 c0 75 07 e8 fe ed <09> 00 eb dc 89 fa b8 2c
b2 30 c0 e8 f0 3b f4 ff 8b 7b 54 85 ff
Apr 5 20:00:21 sydlxfw01 kernel: ve!
Apr 5 20:00:21 sydlxfw01 kernel: release_dev: ptm4: read/write wait
queue active!
Apr 5 20:00:22 sydlxfw01 last message repeated 11689 times
===============
I seem to get lots of "release_dev: ptm4: read/write wait
queue active!" messages
It seems to be in tty_ldisc_ref, but I could be wrong.
How do I go about diagnosing the problem - or find the section of code
that is causing the problem ? I still have the src tree I used to build
this kernel.
This is my normal tc setup for IF={eth0,ppp0}
tc qdisc add dev $IF root handle 1: htb default 20
# Parent Class = Full speed of the link ?
tc class add dev $IF parent 1: classid 1:1 htb rate ${SPEED}kbit
ceil ${SPEED}kbit burst ${BURST}b mtu $MTU
# MARK_TC_90 FW 0x1
tc class add dev $IF parent 1:1 classid 1:10 htb rate
$[9*${SPEED}/10]kbit ceil ${SPEED}kbit burst ${BURST}b prio 1
mtu $MTU quantum 8
# MARK_TC_60 FW 0x2
tc class add dev $IF parent 1:1 classid 1:20 htb rate
$[6*${SPEED}/10]kbit ceil $[9*${SPEED}/10]kbit burst $[10*${BU
RST}/10]b cburst $[9*${BURST}/10]b prio 2 mtu $MTU quantum 8
# MARK_TC_30 FW 0x4
tc class add dev $IF parent 1:1 classid 1:30 htb rate
$[3*${SPEED}/10]kbit ceil $[6*${SPEED}/10]kbit burst $[8*${BU
RST}/10]b cburst $[7*${BURST}/10]b prio 4 mtu $MTU quantum 8
# MARK_TC_20 FW 0x8
tc class add dev $IF parent 1:1 classid 1:40 htb rate
$[2*${SPEED}/10]kbit ceil $[4*${SPEED}/10]kbit burst $[7*${BU
RST}/10]b cburst $[6*${BURST}/10]b prio 6 mtu $MTU quantum 8
# both get Stochastic Fairness:
tc qdisc add dev $IF parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev $IF parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev $IF parent 1:30 handle 30: sfq perturb 10
tc qdisc add dev $IF parent 1:40 handle 40: sfq perturb 10
# TOS Minimum Delay (ssh, NOT scp) in 1:10:
tc filter add dev $IF parent 1: protocol ip prio 10 u32 \
match ip tos 0x10 0xff \
flowid 1:10
# ICMP (ip protocol 1) in the interactive class 1:10 so we
# can do measurements & impress our friends:
tc filter add dev $IF parent 1: protocol ip prio 10 u32 \
match ip protocol 1 0xff \
flowid 1:10
# To speed up downloads while an upload is going on, put ACK
# packets in
# the interactive class:
tc filter add dev $IF parent 1: protocol ip pref 10 u32 \
match ip protocol 6 0xff \
match u8 0x05 0x0f at 0 \
match u16 0x0000 0xffc0 at 2 \
match u8 0x10 0xff at 33 \
flowid 1:10
# Match firewall marks
#tc filter add dev $IF parent 1: protocol ip pref 5 handle 4 fw
flowid 1:30
tc filter add dev $IF parent 1: protocol ip pref 1 handle 1 fw
flowid 1:10
tc filter add dev $IF parent 1: protocol ip pref 1 handle 2 fw
flowid 1:20
tc filter add dev $IF parent 1: protocol ip pref 1 handle 4 fw
flowid 1:30
tc filter add dev $IF parent 1: protocol ip pref 1 handle 8 fw
flowid 1:40
This is the tc setup I am trying now for IF={eth0,ppp0}
$TC qdisc add dev $IF root handle 1: prio bands 3 priomap 1 2 2
2 1 2 0 0 1 1 1 1 1 1 1 1
# This *instantly* creates classes 1:1, 1:2, 1:3
$TC qdisc add dev $IF parent 1:1 handle 10: sfq perturb 10
$TC qdisc add dev $IF parent 1:2 handle 20: tbf rate
${SPEED}kbit buffer 1500 limit 3000
$TC qdisc add dev $IF parent 1:3 handle 30: sfq perturb 10
any help would be appreciated as when it crashes I have to reboot the
system 8( !
Alex
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc