Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 300907 - Assert in XFS
Summary: Assert in XFS
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard: linux-2.6.31
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-13 21:18 UTC by Ken Gypen
Modified: 2010-02-15 17:22 UTC (History)
2 users (show)

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


Attachments
My dmesgs output (xfs-bug-300907.txt,4.27 KB, text/plain)
2010-01-18 00:01 UTC, Mark Purtill
Details
backported patch to fix readahead calculations in xfs_dir2_leaf_getdents() (fix-readahead-calcs.patch,2.20 KB, patch)
2010-01-31 19:34 UTC, Mike Pagano
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ken Gypen 2010-01-13 21:18:12 UTC
[  135.160718] Assertion failed: *nmap >= 1, file: fs/xfs/xfs_bmap.c, line: 4846
[  135.160750] ------------[ cut here ]------------
[  135.160764] kernel BUG at fs/xfs/support/debug.c:109!
[  135.160776] invalid opcode: 0000 [#1] SMP
[  135.160790] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
[  135.160802] CPU 1
[  135.160811] Modules linked in: hwmon_vid k8temp
[  135.160833] Pid: 4592, comm: chown Not tainted 2.6.31-gentoo-r6 #3 System Product Name
[  135.160847] RIP: 0010:[<ffffffff81246294>]  [<ffffffff81246294>] assfail+0x1a/0x1e
[  135.160872] RSP: 0000:ffff8800d0cfbbe8  EFLAGS: 00010292
[  135.160882] RAX: 0000000000000054 RBX: 0000000000000000 RCX: 0000000000000000
[  135.160895] RDX: ffff880028039000 RSI: 0000000000000046 RDI: ffffffff818ac840
[  135.160907] RBP: 0000000000000002 R08: ffff8800d0cfba97 R09: 0000000000000002
[  135.160919] R10: 000000000000000a R11: ffff880150cfba87 R12: ffff8800c720a000
[  135.160931] R13: 0000000800000000 R14: 000000000000b000 R15: ffff8800c75f3140
[  135.160944] FS:  00007f9d16d136f0(0000) GS:ffff880028039000(0000) knlGS:00000000f660bb70
[  135.160958] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  135.160969] CR2: 0000000001912000 CR3: 00000000dd8af000 CR4: 00000000000006a0
[  135.160980] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  135.160992] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  135.161007] Process chown (pid: 4592, threadinfo ffff8800d0cfa000, task ffff88011e693500)
[  135.161061] Stack:
[  135.161109]  ffffffff81039787 ffffffff811fc3f1 ffff8800dd8ae890 ffffffff810a358a
[  135.161171] <0> 0000000000000000 80000000c7eee067 ffffea0002bbc410 ffffffff8109b8a0
[  135.161256] <0> 0000000000000250 0000000000000000 0000000100000064 0000000001912000
[  135.161256] Call Trace:
[  135.161256]  [<ffffffff81039787>] ? default_wake_function+0x0/0x9
[  135.161256]  [<ffffffff811fc3f1>] ? xfs_bmapi+0x5a/0x17e9
[  135.161256]  [<ffffffff810a358a>] ? page_add_new_anon_rmap+0x58/0x78
[  135.161256]  [<ffffffff8109b8a0>] ? handle_mm_fault+0x2a7/0x690
[  135.161256]  [<ffffffff8155ebce>] ? do_page_fault+0x2c1/0x2dd
[  135.161256]  [<ffffffff8155cc0f>] ? page_fault+0x1f/0x30
[  135.161256]  [<ffffffff812937a3>] ? _atomic_dec_and_lock+0x33/0x50
[  135.161256]  [<ffffffff81206671>] ? xfs_da_brelse+0xa6/0xc8
[  135.161256]  [<ffffffff8120ef41>] ? xfs_dir2_leaf_getdents+0x260/0x6d5
[  135.161256]  [<ffffffff810c5578>] ? filldir+0x0/0xb7
[  135.161256]  [<ffffffff810c5578>] ? filldir+0x0/0xb7
[  135.161256]  [<ffffffff8120a569>] ? xfs_readdir+0xda/0xe5
[  135.161256]  [<ffffffff810c5578>] ? filldir+0x0/0xb7
[  135.161256]  [<ffffffff8123f494>] ? xfs_file_readdir+0x34/0x43
[  135.161256]  [<ffffffff810c5737>] ? vfs_readdir+0x75/0xa7
[  135.161256]  [<ffffffff810c58a1>] ? sys_getdents+0x7a/0xc1
[  135.161256]  [<ffffffff8155cc0f>] ? page_fault+0x1f/0x30
[  135.161256]  [<ffffffff8100b92b>] ? system_call_fastpath+0x16/0x1b
[  135.161256] Code: 44 24 08 01 00 00 00 e8 c0 55 05 00 48 83 c4 18 c3 89 d1 48 83 ec 08 48 89 f2 31 c0 48 89 fe 48 c7 c7 ed 63 6d 81 e8 39 43 31 00 <0f> 0b eb fe 41 56 41 55 49 89 d5 41 54 49 89 cc 55 89 fd 48 c7
[  135.161256] RIP  [<ffffffff81246294>] assfail+0x1a/0x1e
[  135.161256]  RSP <ffff8800d0cfbbe8>
[  135.162930] ---[ end trace f0ce9715eec397d3 ]---


Reproducible: Always

Steps to Reproduce:
1. Boot the box ;)
2.
3.

Actual Results:  
Assertion happened

Expected Results:  
Just load the module ;)
Comment 1 Ken Gypen 2010-01-13 21:21:50 UTC
(In reply to comment #0)
> [  135.160718] Assertion failed: *nmap >= 1, file: fs/xfs/xfs_bmap.c, line:
> 4846
> [  135.160750] ------------[ cut here ]------------
> [  135.160764] kernel BUG at fs/xfs/support/debug.c:109!
> [  135.160776] invalid opcode: 0000 [#1] SMP
> [  135.160790] last sysfs file:
> /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
> [  135.160802] CPU 1
> [  135.160811] Modules linked in: hwmon_vid k8temp
> [  135.160833] Pid: 4592, comm: chown Not tainted 2.6.31-gentoo-r6 #3 System
> Product Name
> [  135.160847] RIP: 0010:[<ffffffff81246294>]  [<ffffffff81246294>]
> assfail+0x1a/0x1e
> [  135.160872] RSP: 0000:ffff8800d0cfbbe8  EFLAGS: 00010292
> [  135.160882] RAX: 0000000000000054 RBX: 0000000000000000 RCX:
> 0000000000000000
> [  135.160895] RDX: ffff880028039000 RSI: 0000000000000046 RDI:
> ffffffff818ac840
> [  135.160907] RBP: 0000000000000002 R08: ffff8800d0cfba97 R09:
> 0000000000000002
> [  135.160919] R10: 000000000000000a R11: ffff880150cfba87 R12:
> ffff8800c720a000
> [  135.160931] R13: 0000000800000000 R14: 000000000000b000 R15:
> ffff8800c75f3140
> [  135.160944] FS:  00007f9d16d136f0(0000) GS:ffff880028039000(0000)
> knlGS:00000000f660bb70
> [  135.160958] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [  135.160969] CR2: 0000000001912000 CR3: 00000000dd8af000 CR4:
> 00000000000006a0
> [  135.160980] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
> [  135.160992] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
> 0000000000000400
> [  135.161007] Process chown (pid: 4592, threadinfo ffff8800d0cfa000, task
> ffff88011e693500)
> [  135.161061] Stack:
> [  135.161109]  ffffffff81039787 ffffffff811fc3f1 ffff8800dd8ae890
> ffffffff810a358a
> [  135.161171] <0> 0000000000000000 80000000c7eee067 ffffea0002bbc410
> ffffffff8109b8a0
> [  135.161256] <0> 0000000000000250 0000000000000000 0000000100000064
> 0000000001912000
> [  135.161256] Call Trace:
> [  135.161256]  [<ffffffff81039787>] ? default_wake_function+0x0/0x9
> [  135.161256]  [<ffffffff811fc3f1>] ? xfs_bmapi+0x5a/0x17e9
> [  135.161256]  [<ffffffff810a358a>] ? page_add_new_anon_rmap+0x58/0x78
> [  135.161256]  [<ffffffff8109b8a0>] ? handle_mm_fault+0x2a7/0x690
> [  135.161256]  [<ffffffff8155ebce>] ? do_page_fault+0x2c1/0x2dd
> [  135.161256]  [<ffffffff8155cc0f>] ? page_fault+0x1f/0x30
> [  135.161256]  [<ffffffff812937a3>] ? _atomic_dec_and_lock+0x33/0x50
> [  135.161256]  [<ffffffff81206671>] ? xfs_da_brelse+0xa6/0xc8
> [  135.161256]  [<ffffffff8120ef41>] ? xfs_dir2_leaf_getdents+0x260/0x6d5
> [  135.161256]  [<ffffffff810c5578>] ? filldir+0x0/0xb7
> [  135.161256]  [<ffffffff810c5578>] ? filldir+0x0/0xb7
> [  135.161256]  [<ffffffff8120a569>] ? xfs_readdir+0xda/0xe5
> [  135.161256]  [<ffffffff810c5578>] ? filldir+0x0/0xb7
> [  135.161256]  [<ffffffff8123f494>] ? xfs_file_readdir+0x34/0x43
> [  135.161256]  [<ffffffff810c5737>] ? vfs_readdir+0x75/0xa7
> [  135.161256]  [<ffffffff810c58a1>] ? sys_getdents+0x7a/0xc1
> [  135.161256]  [<ffffffff8155cc0f>] ? page_fault+0x1f/0x30
> [  135.161256]  [<ffffffff8100b92b>] ? system_call_fastpath+0x16/0x1b
> [  135.161256] Code: 44 24 08 01 00 00 00 e8 c0 55 05 00 48 83 c4 18 c3 89 d1
> 48 83 ec 08 48 89 f2 31 c0 48 89 fe 48 c7 c7 ed 63 6d 81 e8 39 43 31 00 <0f> 0b
> eb fe 41 56 41 55 49 89 d5 41 54 49 89 cc 55 89 fd 48 c7
> [  135.161256] RIP  [<ffffffff81246294>] assfail+0x1a/0x1e
> [  135.161256]  RSP <ffff8800d0cfbbe8>
> [  135.162930] ---[ end trace f0ce9715eec397d3 ]---
> 
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> 1. Boot the box ;)
> 2.
> 3.
> 
> Actual Results:  
> Assertion happened
> 
> Expected Results:  
> Just load the module ;)
> 

Apparently just booting isn't sufficient, however:
neptune glider # chmod -Rfc 777 /home/Software
Segmentation fault

This does the trick
Comment 2 Ken Gypen 2010-01-13 21:22:24 UTC
neptune glider # emerge --info
Portage 2.1.6.13 (default/linux/amd64/10.0/server, gcc-4.3.4, glibc-2.10.1-r1, 2.6.31-gentoo-r6 x86_64)
=================================================================
System uname: Linux-2.6.31-gentoo-r6-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5200+-with-gentoo-1.12.13
Timestamp of tree: Tue, 12 Jan 2010 18:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p35
dev-lang/python:     2.6.4
dev-python/pycrypto: 2.1.0_beta1
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -msse3"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=athlon64 -O2 -pipe -msse3"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="acpi amd64 bash-completion berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm gzip hardened iconv lm_sensors logrotate memlimit mmx modules mudflap multilib ncurses nls nptl nptlonly openmp pam pcre perl php pppd python readline reflection samba session smp snmp sockets spl sse sse2 ssl sysfs syslog tcpd threads truetype unicode vim-syntax xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Comment 3 Patrick Lauer gentoo-dev 2010-01-14 10:47:42 UTC
Does a fsck fix it?
Comment 4 Ken Gypen 2010-01-16 16:28:16 UTC
(In reply to comment #3)
> Does a fsck fix it?

There is nothing wrong with the data, just when accessing it the module asserts.
Comment 5 Mark Purtill 2010-01-18 00:01:44 UTC
Created attachment 216772 [details]
My dmesgs output

I'm having a similar problem.  I've attached my dmesg output (which is slightly different).  In my case, the problem happens when I do an ls on a copy of my /usr/portage/distfiles directory.  (I was thinking of moving it to an xfs volume, which is obviously out, at least for now.) 

I was able to access the file if I went back to an old 2.6.27-gentoo-r8 kernel.  I'm currently using 2.6.30-gentoo-r9, and some intermediate kernels also had the problem (starting with 2.6.28-gentoo-r5).
Comment 6 Mark Purtill 2010-01-18 03:06:33 UTC
Looks like this has been reported (but not fixed) upstream:

<http://oss.sgi.com/bugzilla/show_bug.cgi?id=850>
Comment 7 Wormo (RETIRED) gentoo-dev 2010-01-29 07:50:41 UTC
Mark, thanks for the pertinent link.

Did either of you guys check to see if turning off XFS_DEBUG makes this problem go away? The problem in that upstream report turned out to just be a bug in the debug code.
Comment 8 Marcel Pennewiß 2010-01-30 08:49:24 UTC
(In reply to comment #7)
> Did either of you guys check to see if turning off XFS_DEBUG makes this problem
> go away? The problem in that upstream report turned out to just be a bug in the
> debug code.

I have 4 systems (x86, 3x amd64) on xen-sources-2.6.31-r7 (originally from code.google.com). 3 of these systems has XFS_DEBUG=n and the problems did not occur. after turning off XFS_DEBUG on the last (amd64) system the problems seems to be gone. the machine is running kernel-2.6.31-r7-xen with XFS_DEBUG=n since 24h smoothly.

Comment 9 Mark Purtill 2010-01-31 02:06:54 UTC
I did have XFS_DEBUG turned on; however, I don't have any xfs file systems available for testing any more, so I can't report whether turning it off fixes the problem.  (Unfortunately I didn't notice the references to XFS_DEBUG in the bug I reported.)
Comment 10 Mike Pagano gentoo-dev 2010-01-31 19:14:08 UTC
This is reported to be fixed in 2.6.32.  Can someone please test on gentoo-
sources-2.6.32-r3.


http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8e69ce147127a0235e8d1f2b75ea214be78c61b3

Comment 11 Mike Pagano gentoo-dev 2010-01-31 19:34:11 UTC
Created attachment 218009 [details, diff]
backported patch to fix readahead calculations in xfs_dir2_leaf_getdents()

If someone wants to see this backported back to 2.6.31, please apply this patch and test. I have applied this patch against gentoo-sources-2.6.31-r10 and compiles successfully.