WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()

Bug #621195 reported by Marc Deslauriers on 2010-08-20
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Low
Andy Whitcroft
Maverick
Low
Unassigned
Natty
Low
Andy Whitcroft

Bug Description

This happens when using aufs schroots.

ProblemType: KernelOops
DistroRelease: Ubuntu 10.10
Package: linux-image-2.6.35-16-generic 2.6.35-16.22
Regression: Yes
ProcVersionSignature: Ubuntu 2.6.35-16.22-generic 2.6.35.2
Uname: Linux 2.6.35-16-generic x86_64
Annotation: Your system might become unstable now and might need to be restarted.
Architecture: amd64
Date: Fri Aug 20 10:51:21 2010
Failure: oops
SourcePackage: linux
Title: WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()

Marc Deslauriers (mdeslaur) wrote :
Jamie Strandboge (jdstrand) wrote :

I've seen this occasionally as well.

tags: added: kj-triage
Jamie Strandboge (jdstrand) wrote :

Marking Confirmed since the security team sees this regularly. Setting to 'High' as we need to reboot after performing a build otherwise there are stability issues. I see this on virtually every build these days.

Changed in linux (Ubuntu):
importance: Undecided → High
status: New → Confirmed
Marc Deslauriers (mdeslaur) wrote :

I hit this every couple of days while building stuff with sbuild.

Kees Cook (kees) wrote :

I hit this too; seems easy to trigger with mk-sbuild's schroots.

Jamie Strandboge (jdstrand) wrote :

I should mention that I started seeing this in Maverick, and continue to see it in up to date Natty.

Jamie Strandboge (jdstrand) wrote :

Actually, in natty the Oops is in the attached.

Jamie Strandboge (jdstrand) wrote :
Changed in linux (Ubuntu Natty):
assignee: nobody → Canonical Kernel Team (canonical-kernel-team)
Changed in linux (Ubuntu Maverick):
status: New → Confirmed
Brian Murray (brian-murray) wrote :

These bug reports might be related to this one:

621763-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
623489-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
623546-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
627861-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
629749-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
630515-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
630629-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
630952-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
631628-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
631855-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
632511-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
632761-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
633307-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
633539-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
634534-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
641389-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
646291-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
654071-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
654307-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
656703-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
657458-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()
685740-OopsText.txt:WARNING: at /build/buildd/linux-2.6.35/ubuntu/aufs/plink.c:332 au_plink_append+0x274/0x2e0 [aufs]()

Tim Gardner (timg-tpi) wrote :

Jamie - the next time it happens on Natty, please attach the whole dmesg so that we get the exact kernel version, etc.

Changed in linux (Ubuntu Natty):
assignee: Canonical Kernel Team (canonical-kernel-team) → Andy Whitcroft (apw)
Jamie Strandboge (jdstrand) wrote :

Tim, after a reboot and a single attempt at a build, here is your dmesg.

Andy Whitcroft (apw) wrote :

Looking at the errors in comment #11 from Natty, we see the following:

    [ 134.061517] WARNING: at .../ubuntu/aufs/plink.c:457 au_plink_put+0x4c/0xa0 [aufs]()
    [ 134.061519] Hardware name: 5129CTO
    [ 134.061520] pseudo-link is not flushed
    [...]
    [ 134.061641] [<ffffffff81182a00>] sys_umount+0x60/0xd0

This is being triggered out of an unmount of the union mount. Looking at the
code this seems to be a benign warning, note how the code goes on to flush out the links and clean up:

    void au_plink_put(struct super_block *sb, int verbose)
    [...]
        WARN(verbose && !list_empty(plink_list), "pseudo-link is not flushed");
        list_for_each_entry_safe(plink, tmp, plink_list, list)
                do_put_plink(plink, 0);
        INIT_LIST_HEAD(plink_list);
    [...]

I would not expect this to trigger any instability. I think this warning likely should be squashed in general on the unmount path.

Looking at the Maverick errors as originally reported we see the following:

    WARNING: at .../ubuntu/aufs/plink.c:332 au_plink_append+0x1f1/0x2e0 [aufs]()
    Hardware name: 6459CTO
    unexpectedly many pseudo links, 101
    [...]
     [<ffffffff8115fe85>] sys_linkat+0x165/0x170

This is a completly different error. However this also does not appear to be anything other than a diagnostic. It implies we have a large number of pseudo links, but processing goes on as normal:

    void au_plink_append(struct inode *inode, aufs_bindex_t bindex,
                         struct dentry *h_dentry)
    {
    [...]
            if (!found) {
                    cnt++;
                    WARN_ONCE(cnt > AUFS_PLINK_WARN,
                              "unexpectedly many pseudo links, %d\n", cnt);
    [...]

As this list is maintained via RCU it is possible for this list to grow quite large under high load. This also looks like a candidate for removal as a benign message.

@All -- can you confirm that there are stability issues on Maverick associated with aufs use here? If so what are the symptoms. Just seeing these messages are not in of themselves indications of anything other than use of aufs itself.

@Jamie -- could you confirm whether you are seeing any bad effects with the Natty kernel in the face of the error there. I believe that is a different and very likely benign message.

Jamie Strandboge (jdstrand) wrote :

@Andy -- Thank you so much for looking at this. I can't say for sure I have seen instability on natty as a result of this bug, because unity and the kernel have been rather cantankerous with me during the natty cycle. Up until yesterday, I thought that this bug might be aggravating my (extremely annoying) linux/qemu-kvm bug #694029, but I don't believe that to be the case anymore. I'm all for squashing the warning if it is indeed benign, cause as is clear from this bug, it can be confusing. :)

Andy Whitcroft (apw) on 2011-01-21
Changed in linux (Ubuntu Natty):
importance: High → Low
Andy Whitcroft (apw) on 2011-01-21
Changed in linux (Ubuntu Natty):
status: Confirmed → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (3.2 KiB)

This bug was fixed in the package linux - 2.6.38-1.27

---------------
linux (2.6.38-1.27) natty; urgency=low

  [ Andy Whitcroft ]

  * ubuntu: AUFS -- update aufs-update to track new locations of headers
  * ubuntu: AUFS -- update to c5021514085a5d96364e096dbd34cadb2251abfd
  * SAUCE: ensure root is ready before running usermodehelpers in it
  * correct the Vcs linkage to point to natty
  * rebase to linux tip e78bf5e6cbe837daa6ab628a5f679548742994d3
  * [Config] update configs following rebase
    e78bf5e6cbe837daa6ab628a5f679548742994d3
  * SAUCE: Yama: follow changes to generic_permission
  * ubuntu: compcache -- follow changes to bd_claim/bd_release
  * ubuntu: iscsitarget -- follow changes to open_bdev_exclusive
  * ubuntu: ndiswrapper -- fix interaction between __packed and packed
  * ubuntu: AUFS -- update to 806051bcbeec27748aae2b7957726a4e63ff308e
  * update package version to match payload version
  * rebase to e6f597a1425b5af64917be3448b29e2d5a585ac8
  * rebase to v2.6.38-rc1
  * [Config] updateconfigs following rebase to v2.6.38-rc1
  * SAUCE: x86 fix up jiffies/jiffies_64 handling
  * rebase to linus tip 2b1caf6ed7b888c95a1909d343799672731651a5
  * [Config] updateconfigs following rebase to
    2b1caf6ed7b888c95a1909d343799672731651a5
  * [Config] disable CONFIG_TRANSPARENT_HUGEPAGE to fix i386 boot crashes
  * ubuntu: AUFS -- suppress benign plink warning messages
    - LP: #621195
  * [Config] CONFIG_NR_CPUS=256 for amd64 -server flavour
  * rebase to v2.6.38-rc2
  * rebase to mainline d315777b32a4696feb86f2a0c9e9f39c94683649
  * rebase to c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84
  * [Config] update configs following rebase to
    c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84
  * [Config] disable CONFIG_AD7152 to fix FTBS on armel versatile
  * [Config] disable CONFIG_AD7150 to fix FTBS on armel versatile
  * [Config] disable CONFIG_RTL8192CE to fix FTBS on armel omap
  * [Config] disable CONFIG_MANTIS_CORE to fix FTBS on armel versatile

  [ Kees Cook ]

  * SAUCE: kernel: make /proc/kallsyms mode 400 to reduce ease of attacking

  [ Stefan Bader ]

  * Temporarily disable RODATA for virtual i386
    - LP: #699828

  [ Tim Gardner ]

  * [Config] CONFIG_NLS_DEFAULT=utf8
    - LP: #683690
  * [Config] CONFIG_HIBERNATION=n
  * update bnx2 firmware files in d-i/firmware/nic-modules

  [ Upstream Kernel Changes ]

  * Revert "drm/radeon/bo: add some fallback placements for VRAM only
    objects."
  * packaging: make System.map mode 0600
  * thinkpad_acpi: Always report scancodes for hotkeys
    - LP: #702407
  * sched: tg->se->load should be initialised to tg->shares
  * Input: sysrq -- ensure sysrq_enabled and __sysrq_enabled are consistent
  * brcm80211: include linux/slab.h for kfree
  * pch_dma: add include/slab.h for kfree
  * i2c-eg20t: include linux/slab.h for kfree
  * gpio/ml_ioh_gpio: include linux/slab.h for kfree
  * tty: include linux/slab.h for kfree
  * winbond: include linux/delay.h for mdelay et al

  [ Upstream Kernel Changes ]

  * mark the start of v2.6.38 versioning
  * rebase v2.6.37 to v2.6.38-rc2 + c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84
    - LP: #689886
    - LP: #702125
    - LP: #608775
    - LP: #215802
...

Read more...

Changed in linux (Ubuntu Natty):
status: Fix Committed → Fix Released
Andy Whitcroft (apw) on 2011-02-11
Changed in linux (Ubuntu Maverick):
importance: Undecided → Low

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Julian Wiedmann (jwiedmann) wrote :

This release has reached end-of-life [0].

[0] https://wiki.ubuntu.com/Releases

Changed in linux (Ubuntu Maverick):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers