Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
g-sources-2.6.16-r4 & iproute2- => HARD-LOCK!
View unanswered posts
View posts from last 24 hours

Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64
View previous topic :: View next topic  
Author Message

Joined: 27 Feb 2004
Posts: 1167

PostPosted: Sun Apr 30, 2006 9:41 pm    Post subject: g-sources-2.6.16-r4 & iproute2- => HAR Reply with quote

After trying to get IFB working with newest kernel
(described here: )
I've found something "very interesting".

Script similar to exemple script given here:
cause a hard lock on amd64 system with gentoo-sources 2.6.16-r4 and iproute2-

export TC="/sbin/tc"

$TC qdisc del dev ifb0 root    2> /dev/null > /dev/null
$TC qdisc del dev ifb0 ingress 2> /dev/null > /dev/null
$TC qdisc del dev eth0 root    2> /dev/null > /dev/null
$TC qdisc del dev eth0 ingress 2> /dev/null > /dev/null

$TC qdisc add dev ifb0 root handle 1: prio
$TC qdisc add dev ifb0 parent 1:1 handle 10: sfq
$TC qdisc add dev ifb0 parent 1:2 handle 20: tbf rate 20kbit buffer 1600 limit 3000
$TC qdisc add dev ifb0 parent 1:3 handle 30: sfq
$TC filter add dev ifb0 protocol ip pref 1 parent 1: handle 1 fw classid 1:1
$TC filter add dev ifb0 protocol ip pref 2 parent 1: handle 2 fw classid 1:2
ifconfig ifb0 up
$TC qdisc add dev eth0 ingress
# redirect all IP packets arriving in eth0 to ifb0
# use mark 1 --> puts them onto class 1:1
$TC filter add dev eth0 parent ffff: protocol ip prio 10 u32 \
  match u32 0 0 flowid 1:1 \
  action ipt -j MARK --set-mark 1 \
  action mirred egress redirect dev ifb0

The response I've got from executing that script was:
tablename: mangle hook: NF_IP_PRE_ROUTING
        target: MARK set 0x1  index 0
Action 4 device ifb0 ifindex 5

After that, computer stoped responding. I went there (it was remote box) as soon as I could, connected keyboard and monitor to the box but screen was blank and box did not respond to any command from the keyboard. I had to reset it manually (I don't like that button on the case). :(
After restart I was able to reproduce that same error, but this time I saw output dying kernel put to the screen. Here it is (be aware of typos - it was a long typing exercise):
Process swapper (pid: 0, threadinfo ffff810002f70000, task ffff810002f6ae20)
Stack: 00000000fffffff4 ffff81007b49f000 ffff81007e324b80 ffffffff802e9e44
   ffff8100782b2140 ffff81007e324b80 0000000000000001 ffffffff802fc3a2
   ffff81007ae55260 ffff81007e324d80
Call trace: <IRQ> <ffffffff802e9e44>{dev_queue_xmit+148}
   <ffffffff802fc3a2>{tcf_mirred+402} <ffffffff802fa222>{tcf_action+82}
   <ffffffff8030014b>{u32_classify+187} <ffffffff8010db87>{do_IRQ+71}
   <ffffffff8032f928>{arp_process+1400} <ffffffff8012714d>{activate_task+157}
   <ffffffff801279be>{try_to_wake_up+862} <ffffffff8012714d>{activate_task+157}
   <ffffffff802f8c07>{tc_classify+71} <ffffffff802ff35b>{ingress_enqueue+27}
   <ffffffff802ea49d>{netif_receive_skb+461} <ffffffff802ea66b>{process_backlog+155}
   <ffffffff802ea788>{net_rx_action+136} <ffffffff80133e01>{__do_softirq+97}
   <ffffffff8010bf6a>{call_softirq+30} <ffffffff8010dbd1>{do_softirq+49}
   <ffffffff8010db87>{do_IRQ+71} <ffffffff80108e30>{default_idle+0}
   <ffffffff8010b2c8>{ret_from_intr+0} <EOI> <ffffffff80108e5b>{default_idle+43}
   <ffffffff80109098>{cpu_idle+104} <ffffffff8048c63a>{start_secondary+1258}

Code: 0f 0b 68 6b ef 39 80 c2 4d 04 89 c8 66 31 c9 89 d2 c1 e0 10
RIP <ffffffff802e9bde>{skb_checksum_help+174} RSP <ffff810002f77cb8>
 <0> Kernel panic - not syncing: Aiee, killing interrupt handler!

So, I've quit playing around with ifb0 and mirred/action/redirect - it's just too important box.

I've made this post to inform others as well as developers and to ask where should I fill in bug report - just because I don't need this functionality any more doesn't mean this should be left as it is - very, very broken and ugly.

emerge info
Portage 2.0.54 (default-linux/amd64/2006.0, gcc-3.4.5, glibc-2.3.5-r2, 2.6.16-gentoo-r4 x86_64)
System uname: 2.6.16-gentoo-r4 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Gentoo Base System version 1.6.14
dev-lang/python:     2.4.2
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
CFLAGS="-march=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -maccumulate-outgoing-args"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -maccumulate-outgoing-args"
FEATURES="autoconfig distlocks sandbox sfperms strict"
LDFLAGS="-Wl,-O1 -Wl,--sort-common"
USE="amd64 acpi apache2 avi berkdb bitmap-fonts bzip2 cli crypt dri dvd eds emboss expat extensions fortran freetype gif gpm gstreamer gtk2 httpd imlib isdnlog ithreads jpeg libwww lm_sensors logrotate lzw lzw-tiff mod mysql ncurses nptl nptlonly pam pcre pdflib perl png pppd python quicktime readline reflection rrdtool sdl session smp snmp spell spl ssl tcpd threads tiff truetype truetype-fonts type1-fonts udev usb xml2 xorg zlib userland_GNU kernel_linux elibc_glibc"

gentoo user
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64 All times are GMT
Page 1 of 1

Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum