umount of NTFS-3g Filesystem occasionally freezes, produces kernel oops

Bug #599249 reported by daimon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ntfs-3g (Ubuntu)
New
Undecided
Unassigned

Bug Description

Binary package hint: ntfs-3g

Hi,

When trying to unmount a ntfs-3g filesystem, the umount command occasionally locks up and cannot be killed, even by using kill -9. At the same time, a kernel BUG is filed in /var/log/syslog (attached).

Additional Information: The NTFS Filesystem is a remote block device (snapshot) served via Fibre-Channel from a HP EVA 4400 SAN. The local endpoint is a QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA. I could not discern any problems with this hardware, this is just for completeness of information.

Reproducible: occasionally, not on demand. Happens approx. twice per week / every ~75 mounts.

Resolution: The server has to be rebooted. init 6 doesn't work (the first killing init-script hangs), so only a hard reset works afaik.

System Information:

# lsb_release -rd
Description: Ubuntu 10.04 LTS (Server)
Release: 10.04

# uname -a
Linux ixsubu40 2.6.32-22-server #36-Ubuntu SMP Thu Jun 3 20:38:33 UTC 2010 x86_64 GNU/Linux

ntfs-3g: 1:2010.3.6-1ubuntu1

# cat /proc/cpuinfo
processor : 0(-3)
vendor_id : GenuineIntel
cpu family : 6
model : 26
model name : Intel(R) Xeon(R) CPU E5502 @ 1.87GHz
stepping : 5
cpu MHz : 1861.702
cache size : 4096 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid
bogomips : 3723.40
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

/var/log/syslog:
Jun 26 22:02:19 ixsubu40 kernel: [137294.838375] ------------[ cut here ]------------
Jun 26 22:02:19 ixsubu40 kernel: [137294.838608] kernel BUG at /build/buildd/linux-2.6.32/fs/inode.c:323!
Jun 26 22:02:19 ixsubu40 kernel: [137294.838883] invalid opcode: 0000 [#1] SMP
Jun 26 22:02:19 ixsubu40 kernel: [137294.839199] last sysfs file: /sys/devices/pci0000:00/0000:00:07.0/0000:05:00.1/irq
Jun 26 22:02:19 ixsubu40 kernel: [137294.839548] CPU 1
Jun 26 22:02:19 ixsubu40 kernel: [137294.839722] Modules linked in: ch osst st sch_tbf cls_u32 sch_htb kvm_intel kvm ocfs2_dlmfs ocfs2_stack_o2cb ocfs2_dlm o
cfs2_nodemanager ocfs2_stackglue configfs nfsd exportfs nfs lockd nfs_acl auth_rpcgss sunrpc fbcon tileblit font joydev bitblit softcursor vga16fb vgastate p
smouse serio_raw ioatdma bonding 8021q garp stp lp parport usbhid hid ses enclosure usb_storage mptsas qla2xxx mptscsih scsi_transport_fc mptbase floppy scsi
_transport_sas scsi_tgt igb dca aacraid
Jun 26 22:02:19 ixsubu40 kernel: [137294.845219] Pid: 52, comm: kswapd0 Not tainted 2.6.32-22-server #36-Ubuntu X8DT3
Jun 26 22:02:19 ixsubu40 kernel: [137294.845561] RIP: 0010:[<ffffffff8115b078>] [<ffffffff8115b078>] clear_inode+0xe8/0x100
Jun 26 22:02:19 ixsubu40 kernel: [137294.846001] RSP: 0000:ffff8800bb213b20 EFLAGS: 00010202
Jun 26 22:02:19 ixsubu40 kernel: [137294.846241] RAX: 0000000000000000 RBX: ffff8801a3a6c500 RCX: 0000000000000040
Jun 26 22:02:19 ixsubu40 kernel: [137294.846577] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8801a3a6c500
Jun 26 22:02:19 ixsubu40 kernel: [137294.846913] RBP: ffff8800bb213b30 R08: ffff8800bb213980 R09: 000000000000000e
Jun 26 22:02:19 ixsubu40 kernel: [137294.847246] R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
Jun 26 22:02:19 ixsubu40 kernel: [137294.858719] R13: ffffffff81a18a80 R14: 0000000000000000 R15: ffff8801b9d520f0
Jun 26 22:02:19 ixsubu40 kernel: [137294.881911] FS: 0000000000000000(0000) GS:ffff880004840000(0000) knlGS:0000000000000000
Jun 26 22:02:19 ixsubu40 kernel: [137294.905009] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
Jun 26 22:02:19 ixsubu40 kernel: [137294.916888] CR2: 00000000036bc620 CR3: 0000000157ade000 CR4: 00000000000026e0
Jun 26 22:02:19 ixsubu40 kernel: [137294.940931] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Jun 26 22:02:19 ixsubu40 kernel: [137294.965605] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Jun 26 22:02:19 ixsubu40 kernel: [137294.990685] Process kswapd0 (pid: 52, threadinfo ffff8800bb212000, task ffff8800bbffdbc0)
Jun 26 22:02:19 ixsubu40 kernel: [137295.016079] Stack:
Jun 26 22:02:19 ixsubu40 kernel: [137295.028681] ffff8800bb213b30 ffff8801a3a6c500 ffff8800bb213b60 ffffffff8115b7c6
Jun 26 22:02:19 ixsubu40 kernel: [137295.041707] <0> ffff8801a3a6c500 ffff8801a3a6c500 ffff8800bb213c20 0000000000000000
Jun 26 22:02:19 ixsubu40 kernel: [137295.067417] <0> ffff8800bb213b80 ffffffff8115a1f2 ffff8800bb213b80 ffff880163f0ed80
Jun 26 22:02:19 ixsubu40 kernel: [137295.105549] Call Trace:
Jun 26 22:02:19 ixsubu40 kernel: [137295.118058] [<ffffffff8115b7c6>] generic_delete_inode+0x196/0x1c0
Jun 26 22:02:19 ixsubu40 kernel: [137295.130557] [<ffffffff8115a1f2>] iput+0x62/0x70
Jun 26 22:02:19 ixsubu40 kernel: [137295.142809] [<ffffffff81156630>] dentry_iput+0x90/0x100
Jun 26 22:02:19 ixsubu40 kernel: [137295.154858] [<ffffffff811567a4>] d_kill+0x44/0x70
Jun 26 22:02:19 ixsubu40 kernel: [137295.166726] [<ffffffff811568a4>] prune_one_dentry+0xd4/0x100
Jun 26 22:02:19 ixsubu40 kernel: [137295.178373] [<ffffffff81156b30>] __shrink_dcache_sb+0x260/0x2c0
Jun 26 22:02:19 ixsubu40 kernel: [137295.189819] [<ffffffff81156c6c>] prune_dcache+0xdc/0x1c0
Jun 26 22:02:19 ixsubu40 kernel: [137295.201011] [<ffffffff81156d8f>] shrink_dcache_memory+0x3f/0x50
Jun 26 22:02:19 ixsubu40 kernel: [137295.212023] [<ffffffff81100ac5>] shrink_slab+0x125/0x190
Jun 26 22:02:19 ixsubu40 kernel: [137295.222828] [<ffffffff81103016>] balance_pgdat+0x526/0x6d0
Jun 26 22:02:19 ixsubu40 kernel: [137295.233516] [<ffffffff811001d0>] ? isolate_pages_global+0x0/0x50
Jun 26 22:02:19 ixsubu40 kernel: [137295.244085] [<ffffffff811032be>] kswapd+0xfe/0x150
Jun 26 22:02:19 ixsubu40 kernel: [137295.254455] [<ffffffff81084fa0>] ? autoremove_wake_function+0x0/0x40
Jun 26 22:02:19 ixsubu40 kernel: [137295.264602] [<ffffffff811031c0>] ? kswapd+0x0/0x150
Jun 26 22:02:19 ixsubu40 kernel: [137295.274516] [<ffffffff81084c26>] kthread+0x96/0xa0
Jun 26 22:02:19 ixsubu40 kernel: [137295.284256] [<ffffffff810141ea>] child_rip+0xa/0x20
Jun 26 22:02:19 ixsubu40 kernel: [137295.293793] [<ffffffff81084b90>] ? kthread+0x0/0xa0
Jun 26 22:02:19 ixsubu40 kernel: [137295.303150] [<ffffffff810141e0>] ? child_rip+0x0/0x20
Jun 26 22:02:19 ixsubu40 kernel: [137295.312370] Code: e8 2e b8 fe ff eb d4 0f 1f 40 00 48 83 bb c8 01 00 00 00 74 c6 48 89 df e8 96 7d 01 00 0f b7 83 ae 00 00 00 25 00 f0 00 00 eb a9 <0f> 0b eb fe 0f 0b eb fe 0f 0b eb fe 66 66 66 2e 0f 1f 84 00 00
Jun 26 22:02:19 ixsubu40 kernel: [137295.345308] RIP [<ffffffff8115b078>] clear_inode+0xe8/0x100
Jun 26 22:02:19 ixsubu40 kernel: [137295.355257] RSP <ffff8800bb213b20>
Jun 26 22:02:19 ixsubu40 kernel: [137295.373273] ---[ end trace 9e716c5ebc7613f7 ]---

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: ntfs-3g 1:2010.3.6-1ubuntu1
ProcVersionSignature: Ubuntu 2.6.32-22.36-server 2.6.32.11+drm33.2
Uname: Linux 2.6.32-22-server x86_64
Architecture: amd64
Date: Mon Jun 28 08:41:22 2010
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: ntfs-3g

Revision history for this message
daimon (knott-turmair) wrote :
Revision history for this message
daimon (knott-turmair) wrote :

I have fixed the problem by commenting out the bug throwing line in the kernel source:

--- fs/inode.c 2010-07-08 11:23:05.243232762 +0200
+++ fs/inode.c 2010-07-05 14:29:41.599608689 +0200
@@ -320,7 +320,8 @@
  might_sleep();
  invalidate_inode_buffers(inode);

- BUG_ON(inode->i_data.nrpages);
+/* stk 20100705 nbsp GmbH fix inode/fuse fuck
+ BUG_ON(inode->i_data.nrpages); */
  BUG_ON(!(inode->i_state & I_FREEING));
  BUG_ON(inode->i_state & I_CLEAR);
  inode_sync_wait(inode);

As far as I can see, this is a false alarm on behalf of inode.c. Right?

Revision history for this message
daimon (knott-turmair) wrote :

--- fs/inode.c 2010-07-08 11:23:05.243232762 +0200
+++ fs/inode.c 2010-07-05 14:29:41.599608689 +0200
@@ -320,7 +320,8 @@
  might_sleep();
  invalidate_inode_buffers(inode);

- BUG_ON(inode->i_data.nrpages);
+/* stk 20100705 nbsp GmbH fix inode/fuse fuck
+ BUG_ON(inode->i_data.nrpages); */
  BUG_ON(!(inode->i_state & I_FREEING));
  BUG_ON(inode->i_state & I_CLEAR);
  inode_sync_wait(inode);

Changed in ntfs-3g (Ubuntu):
status: New → Opinion
status: Opinion → New
Revision history for this message
mszeredi (miklos) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.