Bug 200645

Summary: kernel BUG at fs/dcache.c:630!
Product: [Fedora] Fedora Reporter: Tom London <selinux>
Component: kernelAssignee: David Howells <dhowells>
Status: CLOSED RAWHIDE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-08-02 16:00:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tom London 2006-07-29 19:08:49 UTC
Description of problem:

Jul 29 12:12:18 localhost gconfd (root-11831): GConf server is not in use,
shutting down.
Jul 29 12:12:18 localhost gconfd (root-11831): Exiting
Jul 29 12:12:38 localhost kernel: ------------[ cut here ]------------
Jul 29 12:12:38 localhost kernel: kernel BUG at fs/dcache.c:630!
Jul 29 12:12:38 localhost kernel: invalid opcode: 0000 [#1]
Jul 29 12:12:38 localhost kernel: SMP 
Jul 29 12:12:38 localhost kernel: last sysfs file: /class/net/eth0/carrier
Jul 29 12:12:38 localhost kernel: Modules linked in: usb_storage i915 drm ipv6
autofs4 hidp l2cap bluetooth vmnet vmmon sunrpc ip_conntrack_netbios_ns
ipt_REJECT xt_state ip_conntrack nfnetlink xt_tcpudp iptable_filter ip_tables
x_tables cpufreq_ondemand video sbs ibm_acpi i2c_ec dock button battery
asus_acpi ac parport_pc lp parport snd_intel8x0m sg snd_intel8x0 snd_ac97_codec
snd_ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq ipw2200
snd_seq_device ieee80211 snd_pcm_oss snd_mixer_oss ehci_hcd sdhci snd_pcm
ieee80211_crypt uhci_hcd mmc_core pcspkr tg3 i2c_i801 snd_timer i2c_core snd
soundcore snd_page_alloc serio_raw dm_snapshot dm_zero dm_mirror dm_mod ext3 jbd
ahci ata_piix libata sd_mod scsi_mod
Jul 29 12:12:38 localhost kernel: CPU:    0
Jul 29 12:12:38 localhost kernel: EIP:    0060:[<c04868c2>]    Tainted: P      VLI
Jul 29 12:12:38 localhost kernel: EFLAGS: 00210202   (2.6.17-1.2462.fc6 #1) 
Jul 29 12:12:38 localhost kernel: EIP is at
shrink_dcache_for_umount_subtree+0x182/0x1e8
Jul 29 12:12:38 localhost kernel: eax: c2a28924   ebx: d3c2bc94   ecx: c1c068e0
  edx: d3c2bcdc
Jul 29 12:12:38 localhost kernel: esi: 00000000   edi: c2a28750   ebp: d692eee0
  esp: d692eed0
Jul 29 12:12:38 localhost kernel: ds: 007b   es: 007b   ss: 0068
Jul 29 12:12:38 localhost kernel: Process umount (pid: 11867, ti=d692e000
task=f0e90aa0 task.ti=d692e000)
Jul 29 12:12:38 localhost kernel: Stack: f6982b18 de5f5944 f8bee360 00000000
d692eeec c0487345 de5f5944 d692eefc 
Jul 29 12:12:39 localhost kernel:        c0477996 df928694 de5f5944 d692ef0c
c0477a7c de5f5944 f8bee320 d692ef1c 
Jul 29 12:12:39 localhost kernel:        c0477b3c de5f5944 c1cdeaf0 d692ef2c
c048a8a5 d692ef40 de5f5944 d692ef38 
Jul 29 12:12:39 localhost kernel: Call Trace:
Jul 29 12:12:39 localhost kernel:  [<c0487345>] shrink_dcache_for_umount+0x31/0x3e
Jul 29 12:12:39 localhost kernel:  [<c0477996>] generic_shutdown_super+0x19/0xdf
Jul 29 12:12:39 localhost kernel:  [<c0477a7c>] kill_block_super+0x20/0x32
Jul 29 12:12:39 localhost kernel:  [<c0477b3c>] deactivate_super+0x5d/0x6f
Jul 29 12:12:39 localhost kernel:  [<c048a8a5>] mntput_no_expire+0x42/0x72
Jul 29 12:12:39 localhost kernel:  [<c047d57b>] path_release_on_umount+0x15/0x18
Jul 29 12:12:39 localhost kernel:  [<c048b9d4>] sys_umount+0x1e7/0x21b
Jul 29 12:12:39 localhost kernel:  [<c048ba15>] sys_oldumount+0xd/0xf
Jul 29 12:12:39 localhost kernel:  [<c0403faf>] syscall_call+0x7/0xb
Jul 29 12:12:39 localhost kernel: Code: 04 31 f6 eb 03 90 ff 0e 8d 43 48 e8 09
eb 05 00 ff 0d 24 e2 67 c0 8b 7b 24 85 ff 74 4e 8d 87 d4 01 00 00 39 87 d4 01 00
00 74 08 <0f> 0b 76 02 72 0a 63 c0 8d 43 58 8b 4b 58 c7 43 24 00 00 00 00 
Jul 29 12:12:39 localhost kernel: EIP: [<c04868c2>]
shrink_dcache_for_umount_subtree+0x182/0x1e8 SS:ESP 0068:d692eed0
[root@localhost ~]# 



Version-Release number of selected component (if applicable):
kernel-2.6.17-1.2462.fc6


How reproducible:
unknown

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Tom London 2006-07-29 19:44:18 UTC
BTW, this 'froze' the system when I attempted to reboot. I had to toggle the
power to recover.

This 'started' when I attempted to unmount a usb hard drive partition.

Comment 2 Dave Jones 2006-07-30 20:19:25 UTC
Please try and reproduce this without the vmware modules having been loaded.


Comment 3 Tom London 2006-07-30 20:50:09 UTC
OK, I'll try, but sure exactly how.....

I'll bang on the USB disk mounting, sync-ing, unmount and see what happens.

Is it adequate to 'rmmod' the vmmon and vmnet modules, or do I need to remove
the service from my init stuff?

Comment 4 Tom London 2006-07-30 21:04:00 UTC
Also, I hadn't 'used' vmware when this bug occured (i.e., although the modules
were inserted during boot, I didn't startup vmware application.)

Comment 5 Tom London 2006-07-30 21:22:29 UTC
OK.  I reproduced it after 'rmmod'-ing the vmmon and vmnet modules.

Here's how I did it:
   service vmware stop # that removes the vmware modules
   lsmod | grep vm # just to check... no output
   count=0
   while :; do echo $count; mount /dev/sdb2 /mnt; touch /mnt/grub/grub.conf;
umount /dev/sdb2; sleep 10; ((count=$count+1)); done

While the script did work 'exactly' as I thought (appears that the unmounting is
not actually synchronous), here is what I get as output:

while :; do echo $count; mount /dev/sdb2 /mnt; touch /mnt/grub/grub.conf; umount
/dev/sdb2; sleep 10; ((count=$count+1)); done
0
1
2
umount: /mnt: device is busy
umount: /mnt: device is busy
3
mount: /dev/sdb2 already mounted or /mnt busy
mount: according to mtab, /dev/sdb2 is already mounted on /mnt
4
umount: /mnt: device is busy
umount: /mnt: device is busy
5
mount: /dev/sdb2 already mounted or /mnt busy
mount: according to mtab, /dev/sdb2 is already mounted on /mnt
Segmentation fault

followed by 'messages from syslogd@localhost ...'.

Here is the complete stuff from /var/log/messages:

Jul 30 14:25:34 localhost kernel: ------------[ cut here ]------------
Jul 30 14:25:34 localhost kernel: kernel BUG at fs/dcache.c:630!
Jul 30 14:25:34 localhost kernel: invalid opcode: 0000 [#1]
Jul 30 14:25:34 localhost kernel: SMP 
Jul 30 14:25:34 localhost kernel: last sysfs file:
/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
Jul 30 14:25:34 localhost kernel: Modules linked in: i915 drm ipv6 autofs4 hidp
l2cap bluetooth sunrpc ip_conntrack_netbios_ns ipt_REJECT xt_state ip_conntrack
nfnetlink xt_tcpudp iptable_filter ip_tables x_tables cpufreq_ondemand video sbs
ibm_acpi i2c_ec dock button battery asus_acpi ac parport_pc lp parport
snd_intel8x0m usb_storage snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_seq_dummy
snd_seq_oss snd_seq_midi_event snd_seq ipw2200 snd_seq_device sg snd_pcm_oss
snd_mixer_oss snd_pcm tg3 pcspkr ehci_hcd i2c_i801 snd_timer uhci_hcd sdhci
mmc_core i2c_core snd soundcore snd_page_alloc ieee80211 serio_raw
ieee80211_crypt dm_snapshot dm_zero dm_mirror dm_mod ext3 jbd ahci ata_piix
libata sd_mod scsi_mod
Jul 30 14:25:34 localhost kernel: CPU:    0
Jul 30 14:25:34 localhost kernel: EIP:    0060:[<c04868c2>]    Tainted: P      VLI
Jul 30 14:25:34 localhost kernel: EFLAGS: 00210283   (2.6.17-1.2462.fc6 #1) 
Jul 30 14:25:34 localhost kernel: EIP is at
shrink_dcache_for_umount_subtree+0x182/0x1e8
Jul 30 14:25:34 localhost kernel: eax: f1326c54   ebx: f5a11b3c   ecx: c1c068e0
  edx: f5a11b84
Jul 30 14:25:34 localhost kernel: esi: 00000000   edi: f1326a80   ebp: cdec1ee0
  esp: cdec1ed0
Jul 30 14:25:34 localhost kernel: ds: 007b   es: 007b   ss: 0068
Jul 30 14:25:34 localhost kernel: Process umount (pid: 6261, ti=cdec1000
task=f7ebaaa0 task.ti=cdec1000)
Jul 30 14:25:34 localhost kernel: Stack: f17461cc e5efbb84 f8bee360 00000000
cdec1eec c0487345 e5efbb84 cdec1efc 
Jul 30 14:25:34 localhost kernel:        c0477996 f6cfa384 e5efbb84 cdec1f0c
c0477a7c e5efbb84 f8bee320 cdec1f1c 
Jul 30 14:25:34 localhost kernel:        c0477b3c e5efbb84 c1cde988 cdec1f2c
c048a8a5 cdec1f40 e5efbb84 cdec1f38 
Jul 30 14:25:34 localhost kernel: Call Trace:
Jul 30 14:25:34 localhost kernel:  [<c0487345>] shrink_dcache_for_umount+0x31/0x3e
Jul 30 14:25:34 localhost kernel:  [<c0477996>] generic_shutdown_super+0x19/0xdf
Jul 30 14:25:34 localhost kernel:  [<c0477a7c>] kill_block_super+0x20/0x32
Jul 30 14:25:34 localhost kernel:  [<c0477b3c>] deactivate_super+0x5d/0x6f
Jul 30 14:25:34 localhost kernel:  [<c048a8a5>] mntput_no_expire+0x42/0x72
Jul 30 14:25:34 localhost kernel:  [<c047d57b>] path_release_on_umount+0x15/0x18
Jul 30 14:25:34 localhost kernel:  [<c048b9d4>] sys_umount+0x1e7/0x21b
Jul 30 14:25:34 localhost kernel:  [<c048ba15>] sys_oldumount+0xd/0xf
Jul 30 14:25:34 localhost kernel:  [<c0403faf>] syscall_call+0x7/0xb
Jul 30 14:25:34 localhost kernel: Code: 04 31 f6 eb 03 90 ff 0e 8d 43 48 e8 09
eb 05 00 ff 0d 24 e2 67 c0 8b 7b 24 85 ff 74 4e 8d 87 d4 01 00 00 39 87 d4 01 00
00 74 08 <0f> 0b 76 02 72 0a 63 c0 8d 43 58 8b 4b 58 c7 43 24 00 00 00 00 
Jul 30 14:25:34 localhost kernel: EIP: [<c04868c2>]
shrink_dcache_for_umount_subtree+0x182/0x1e8 SS:ESP 0068:cdec1ed0


Comment 10 Tom London 2006-08-02 13:56:08 UTC
I'm having difficulty recreating this in 2.6.17-1.2505.fc6.

Did something possibly get 'fixed'?

Comment 11 David Howells 2006-08-02 15:59:34 UTC
Yes.  An incorrect assertion check got removed, corresponding to this entry in 
the changelog:

rpm -q --changelog kernel | less
...
* Mon Jul 31 2006 Dave Jones <davej>
- VFS: Destroy the dentries contributed by a superblock on unmounting [try #2]
...