Help Disecting kernel crash with ldisc

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Attachment: signature.asc
Description: Digital signature

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux