Hi, On Sat, Feb 23, 2019 at 04:19:23PM +0800, tchou wrote: > Hi Ernesto, > > Sorry to disturb. No problem. > I'm investigating an HFS+ BUG. > The call trace is attached[1]. > > As you can see, the bnode is been free twice, > I suspect that the bug is ralative to this patch 19a9d0f1acf75e8be8cfba19c1a34e941846fa2b > (hfsplus: fix BUG on bnode parent update). Those messages you get are reporting an attempt to free on-disk bnodes that were already free. My patch was about bnode structures in memory, so it's not likely to be related. > > There are three questions: > 1. The commit message says "Creating, renaming or deleting a file may hit BUG_ON()". > Where is the BUG_ON() been triggered? Is that the same BUG_ON() in my call trace? The BUG_ON() from my patch was in hfs_bnode_put(). I don't think there is any BUG_ON() in your case, you are getting a general protection fault. > > 2. I run the script in your commit message, but I can not reproduce it. > Could you please tell me how many times in average it need to execute to trigger the bug? > I'm wondering if I took some mistake. The bug should be triggered after a single run. Did you revert the patch before? > > > 3. If my guess is wrong, this bug is unrelative to this patch, > do you have any idea on it? Or do you have faced the same bug of mine? This seems to be related to the xattr implementation, which is a mess. I think it would be best to rewrite it or get rid of it entirely... Ernesto > Thanks for your help! > > [1] > ================================================================================================== > > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.504049] hfsplus: trying to free free bnode 294912(2) > > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.510017] hfsplus: trying to free free bnode 294912(2) > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.515983] hfsplus: trying to free free bnode 294912(2) > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.521949] general protection fault: 0000 [#1] SMP > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.621069] CPU: 1 PID: 18715 Comm: SYNO.FileStatio Tainted: P C O 3.10.102 #15152 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.630308] Hardware name: Synology Inc. DS1517+/Type2 - Board Product Name1, BIOS M.405 2017/05/09 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.640423] task: ffff8802753fa040 ti: ffff880270880000 task.ti: ffff880270880000 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.648779] RIP: 0010:[<ffffffffa051459e>] [<ffffffffa051459e>] hfsplus_bnode_write+0x9e/0x1e0 [hfsplus] > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.659489] RSP: 0018:ffff880270883c18 EFLAGS: 00010202 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.665415] RAX: 0000000000000000 RBX: 0000000000000002 RCX: 000000000000aeff > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.673391] RDX: 0000000000000000 RSI: ffff880270883c56 RDI: db73880000000000 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.681366] RBP: ffff88005f7b1920 R08: 0000000000000002 R09: 0000000000000002 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.689343] R10: ffff88005f7b18d0 R11: 0000000000000002 R12: 0000000000001ffc > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.697310] R13: ffff880270883c56 R14: 0000000000000002 R15: 0000000000000002 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.705286] FS: 00007f4fee0607c0(0000) GS:ffff88027fc40000(0000) knlGS:0000000000000000 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.714322] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.720744] CR2: 00007f4fee05d000 CR3: 0000000247210000 CR4: 00000000001007e0 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.728711] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.736687] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.744654] Stack: > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.746896] ffff88005f7b18c0 ffff880270883cd0 0000000000001ffc 0000000000001f9c > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.755181] 0000000000000060 000000000000000e ffffffffa05146ff aeff000000000031 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.763468] ffffffffa0516bf9 000000606228c340 ffff880270883cd0 00000000fffffffe > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.771763] Call Trace: > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.774497] [<ffffffffa05146ff>] ? hfsplus_bnode_write_u16+0x1f/0x30 [hfsplus] > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.782671] [<ffffffffa0516bf9>] ? hfsplus_brec_remove+0x129/0x190 [hfsplus] > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.790650] [<ffffffffa05191d0>] ? __hfsplus_delete_attr+0x90/0xf0 [hfsplus] > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.798629] [<ffffffffa0519979>] ? hfsplus_delete_all_attrs+0x49/0xb0 [hfsplus] > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.806900] [<ffffffffa0512482>] ? hfsplus_delete_cat+0x1c2/0x2b0 [hfsplus] > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.814782] [<ffffffffa0512d90>] ? hfsplus_unlink+0x1d0/0x1e0 [hfsplus] > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.822277] [<ffffffff811066bd>] ? __inode_permission+0x1d/0xb0 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.828992] [<ffffffff8110a72a>] ? vfs_unlink+0x8a/0x100 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.835025] [<ffffffff8110a9c3>] ? do_unlinkat+0x223/0x230 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.841255] [<ffffffff8111d853>] ? mntput_no_expire+0x13/0x130 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.847873] [<ffffffff8104d1bc>] ? task_work_run+0x9c/0xe0 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.854102] [<ffffffff81002901>] ? do_notify_resume+0x61/0x90 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.860624] [<ffffffff810fb827>] ? fput+0x57/0xb0 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.865978] [<ffffffff8149dd32>] ? system_call_fastpath+0x16/0x1b > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.872884] Code: 48 63 ca 48 01 cf 48 83 fb 08 0f 83 fd 00 00 00 31 c0 41 f6 c3 04 74 09 8b 06 89 07 b8 04 00 00 00 41 f6 c3 02 74 0c 0f b7 0c 06 <66> 89 0c 07 48 8d 40 02 41 83 e3 01 74 07 0f b6 0c 06 88 0c 07 > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.894293] RIP [<ffffffffa051459e>] hfsplus_bnode_write+0x9e/0x1e0 [hfsplus] > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.902375] RSP <ffff880270883c18> > > 2017-08-30T10:32:30-04:00 BS-SAN kernel: [ 5471.906350] ---[ end trace 0e65d1ee34a1e12e ]--- > > > ================================================================================================== > > > > Best regards, > Ting-Chang Hou #8487 >