[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20170426081651.9253.qmail@ns.sciencehorizons.net>
Date: 26 Apr 2017 04:16:51 -0400
From: "George Spelvin" <linux@...encehorizons.net>
To: linux-ext4@...r.kernel.org, tytso@....edu
Cc: linux@...encehorizons.net
Subject: kernel BUG at fs/ext4/inline.c:1950!
I was cleaning up the last of the wreckage in lost+found from my previous
inline directory adventures, and ran into the following:
# ./#1625089
Segmentation fault
# dmesg | tail -40
[ 711.658809] EXT4-fs (md3): mounted filesystem with writeback data mode. Opts: data=writeback,delalloc
[ 741.694687] ------------[ cut here ]------------
[ 741.694711] kernel BUG at fs/ext4/inline.c:1950!
[ 741.694729] invalid opcode: 0000 [#1] SMP
[ 741.694731] Modules linked in: nfsd lockd grace sunrpc ablk_helper x86_pkg_temp_thermal crc32_pclmul crc32c_intel via_velocity [last unloaded: twofish_common]
[ 741.694742] CPU: 0 PID: 893 Comm: rmdir Not tainted 4.10.2-00128-gebfcca29-dirty #607
[ 741.694745] Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./X79-UP4, BIOS F7 03/19/2014
[ 741.694750] task: ffff880403d3e400 task.stack: ffffc90007f66000
[ 741.694755] RIP: 0010:ext4_inline_data_truncate+0x3d5/0x3f0
[ 741.694758] RSP: 0018:ffffc90007f67ce0 EFLAGS: 00010286
[ 741.694761] RAX: 0000000000000000 RBX: ffff880428aeb270 RCX: 0000021810000000
[ 741.694765] RDX: 00000000ffffffc3 RSI: ffffc90007f67d00 RDI: ffff8803e469d440
[ 741.694768] RBP: ffffc90007f67d88 R08: ffff880428bab618 R09: ffff8804261fc0a0
[ 741.694771] R10: ffff88041061bc00 R11: 0000000000000000 R12: ffff8803e469d440
[ 741.694775] R13: ffff8803e469d3b0 R14: ffff8803e469d3f0 R15: 0000000000000000
[ 741.694778] FS: 0000000000000000(0000) GS:ffff88043fc00000(0063) knlGS:00000000f76da800
[ 741.694782] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
[ 741.694785] CR2: 00000000f75b2cd0 CR3: 00000004055ff000 CR4: 00000000001406f0
[ 741.694788] Call Trace:
[ 741.694793] ext4_truncate+0x1ea/0x300
[ 741.694797] ext4_evict_inode+0x2c7/0x3d0
[ 741.694801] evict+0xc2/0x190
[ 741.694803] iput+0x162/0x1f0
[ 741.694806] dentry_unlink_inode+0xbd/0x160
[ 741.694809] d_delete+0x99/0xb0
[ 741.694812] vfs_rmdir+0xfc/0x120
[ 741.694815] do_rmdir+0x19e/0x1e0
[ 741.694818] SyS_rmdir+0x11/0x20
[ 741.694821] do_fast_syscall_32+0x87/0x160
[ 741.694825] entry_SYSENTER_compat+0x4c/0x5b
[ 741.694827] RIP: 0023:0xf76ddaf9
[ 741.694830] RSP: 002b:00000000fffad8dc EFLAGS: 00000292 ORIG_RAX: 0000000000000028
[ 741.694833] RAX: ffffffffffffffda RBX: 00000000fffae31f RCX: 0000000000000000
[ 741.694837] RDX: 00000000565d5000 RSI: 00000000565d0cd8 RDI: 00000000fffae31f
[ 741.694840] RBP: 00000000fffad938 R08: 0000000000000000 R09: 0000000000000000
[ 741.694843] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
[ 741.694846] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 741.694850] Code: ff ff 89 c1 48 89 d7 48 c7 44 0a f8 00 00 00 00 8d 48 ff 31 c0 c1 e9 03 f3 48 ab e9 34 fe ff ff 41 bf f4 ff ff ff e9 3f fe ff ff <0f> 0b 89 c0 c7 02 00 00 00 00 c7 44 02 fc 00 00 00 00 e9 12 fe
[ 741.694872] RIP: ext4_inline_data_truncate+0x3d5/0x3f0 RSP: ffffc90007f67ce0
[ 741.697776] ---[ end trace abf8638ef9df5a2a ]---
# debugfs /dev/md3
debugfs 1.43.4 (31-Jan-2017)
debugfs: stat <1625089>
Inode: 1625089 Type: directory Mode: 0775 Flags: 0x10000000
Generation: 927350643 Version: 0x00000000:00000004
User: 1000 Group: 161 Project: 0 Size: 132
File ACL: 1664090185 Directory ACL: 0
Links: 0 Blockcount: 8
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x590051a9:3a00ef08 -- Wed Apr 26 03:52:09 2017
atime: 0x56b9e2f8:b68a7658 -- Tue Feb 9 08:00:40 2016
mtime: 0x56c1bc4b:a7765de8 -- Mon Feb 15 06:53:47 2016
crtime: 0x56ba9eb4:a51d90ac -- Tue Feb 9 21:21:40 2016
Size of extra inode fields: 32
Extended attributes:
system.data (72)
Inode checksum: 0x4ea228db
Size of inline data: 132
I know the directory appeared empty before I tried to rmdir it.
Also, the file system had recently passed e2fsck 1.43.4 (31-Jan-2017).
Kernel is 4.10.2-00128-gebfcca29-dirty. which includes
ebfcca29 ext4: propagate error values from ext4_inline_data_truncate()
47cfbb61 ext4: avoid calling ext4_mark_inode_dirty() under unneeded semaphores
842ea5ea ext4: add debug_want_extra_isize mount option
Line 1950 is the "BUG_ON(is.s.not_found);"
Unfortunately, I have to keep working, and the inode did get unlinked
(although with a missing dtime), so fsck will clean it up on reboot.
Powered by blists - more mailing lists