Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 413727 - linux kernels 3.1.x & 3.2.x have a rcu stall problem with IPv6
Summary: linux kernels 3.1.x & 3.2.x have a rcu stall problem with IPv6
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-27 14:05 UTC by Nico Baggus
Modified: 2012-07-17 15:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nico Baggus 2012-04-27 14:05:52 UTC
Lots of messages like:

INFO: rcu_preempt detected stalls on CPUs/tasks: {} (detected by 0, t=40387170 jiffies)
INFO: Stall ended before state dump start
INFO: rcu_preempt detected stalls on CPUs/tasks: {} (detected by 0, t=40567202 jiffies)
INFO: Stall ended before state dump start
INFO: rcu_preempt detected stalls on CPUs/tasks: {} (detected by 0, t=40747234 jiffies)
INFO: Stall ended before state dump start
INFO: rcu_preempt detected stalls on CPUs/tasks: {} (detected by 0, t=40927266 jiffies)
INFO: Stall ended before state dump start
INFO: rcu_preempt detected stalls on CPUs/tasks: {} (detected by 1, t=41107298 jiffies)
INFO: Stall ended before state dump start
INFO: rcu_preempt detected stalls on CPUs/tasks: {} (detected by 1, t=41287330 jiffies)
INFO: Stall ended before state dump start


With an occasional:

WARNING: at net/mac80211/rx.c:2985 ieee80211_rx+0x8c1/0x940 [mac80211]()
Hardware name: Presario CQ57 Notebook PC       
Modules linked in: ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 iptable_filter ip_tables x_tables bluetooth aoe vboxnetadp(O) vboxnetflt(O) vboxdrv(O) irlan ircomm_tty ircomm irnet ppp_generic slhc irtty_sir sir_dev irda crc_ccitt videodev media v4l2_compat_ioctl32 arc4 fglrx(P) snd_hda_codec_realtek snd_hda_intel brcmsmac(-) snd_hda_codec snd_hwdep mac80211 snd_pcm snd_timer rts_pstor(C) wmi snd brcmutil cfg80211 r8169 sp5100_tco rfkill snd_page_alloc i2c_piix4 rtc_cmos crc8 mii evdev cordic iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi tg3 libphy fuse raid1 md_mod dm_snapshot dm_mirror dm_region_hash dm_log scsi_wait_scan usbhid usb_storage scsi_transport_fc scsi_tgt sr_mod cdrom sg ata_piix sata_nv
Pid: 0, comm: swapper/0 Tainted: P        WC O 3.2.12-gentoo #2
Call Trace:
 <IRQ>  [<ffffffff810418bb>] ? warn_slowpath_common+0x7b/0xc0
 [<ffffffffa024f3e1>] ? ieee80211_rx+0x8c1/0x940 [mac80211]
 [<ffffffff8109292d>] ? force_qs_rnp+0x11d/0x150
 [<ffffffff81057bac>] ? __queue_work+0xdc/0x3c0
 [<ffffffffa0234cd1>] ? ieee80211_tasklet_handler+0xc1/0x160 [mac80211]
 [<ffffffff8104751a>] ? tasklet_action+0x5a/0xc0
 [<ffffffff81047b40>] ? __do_softirq+0x90/0x110
 [<ffffffff81513bec>] ? call_softirq+0x1c/0x30
 [<ffffffff810045ed>] ? do_softirq+0x4d/0x80
 [<ffffffff81047ebe>] ? irq_exit+0x9e/0xc0
 [<ffffffff8100424c>] ? do_IRQ+0x5c/0xd0
 [<ffffffff815116ab>] ? common_interrupt+0x6b/0x6b
 <EOI>  [<ffffffff8131c283>] ? acpi_idle_enter_simple+0xdc/0x114
 [<ffffffff8131c27e>] ? acpi_idle_enter_simple+0xd7/0x114
 [<ffffffff813d9111>] ? cpuidle_idle_call+0x91/0xe0
 [<ffffffff810011f5>] ? cpu_idle+0x75/0xc0
 [<ffffffff8173493d>] ? start_kernel+0x345/0x350
---[ end of trace ef4ca3650cfd26c4 ]---

A lot of network related issues, ranging from hanging during connect to unable to manage IP.
The system kept working in an occasion where this was in a dump:

ata1.00: configured for UDMA/133
ata1: EH complete
EXT4-fs (dm-6): re-mounted. Opts: commit=0
EXT4-fs (dm-10): re-mounted. Opts: commit=0
ipv6_create_tempaddr(): retry temporary address regeneration.
ipv6_create_tempaddr(): retry temporary address regeneration.
ipv6_create_tempaddr(): retry temporary address regeneration.
ipv6_create_tempaddr(): regeneration time exceeded. disabled temporary address support.


No more RCU's but no more IPv6 connections either.IPv4 kept working though.


Reproducible: Always

Actual Results:  
sooner or later a hnging system.


I get the problem too.
It is related to IPv6 on f.e. wireless.
Within 30 minutes my system completely hangs when using IPv6 over a wifi connection.

Here are some relevant Kernel patches:

http://patchwork.ozlabs.org/patch/149020/

This is a known issue on LKML and has been address in 3.3.1+
See:
https://bugzilla.kernel.org/show_bug.cgi?id=42780

Some testing has been done in Arch linux:
https://bugs.archlinux.org/task/26847


Please add this to applicable kernels.
Comment 1 Elijah "Armageddon" El Lazkani (amd64 AT) 2012-04-27 15:24:17 UTC
Please don't CC arches on your own
Comment 2 Nico Baggus 2012-05-03 00:45:47 UTC
Running kernel 3.3.3 now,
Wireless does work.
Just masses of debug statements like

ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4
ieee80211 phy0: brcms_c_prec_enq_head: No where to go, prec == 4


and
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504
ieee80211 phy0: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 130/256 dur 1546/1504

both sets in irregular bursts.
Comment 3 Mike Pagano gentoo-dev 2012-07-17 15:48:37 UTC
It appears you are working fine, now. Please reopen if I am misunderstanding.