Deletion of subvolumes by docker system prune causes btrfs to become unusable/unmountable because of skinny extends

Bug #1740462 reported by Karl-Philipp Richter
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

`docker system prune` caused a few processes to hang a few minutes while I could still capture

```
[ 85.821088] ------------[ cut here ]------------
[ 85.821108] WARNING: CPU: 6 PID: 75 at /build/linux-8h04gD/linux-4.13.0/fs/btrfs/extent-tree.c:3009 btrfs_run_delayed_refs+0x244/0x250 [btrfs]
[ 85.821109] Modules linked in: rfcomm msr nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo xt_addrtype br_netfilter xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack libcrc32c ipt_REJECT nf_reject_ipv4 xt_tcpudp bridge stp llc ebtable_filter ebtables ip6table_filter ip6_tables snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm snd_timer snd soundcore iptable_filter cdc_ether usbnet pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) bnep r8152 vboxdrv(OE) bbswitch(OE) binfmt_misc btusb btrtl btbcm btintel rtsx_usb_ms memstick bluetooth ecdh_generic uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev
[ 85.821133] media hid_multitouch zfs(POE) zunicode(POE) zavl(POE) icp(POE) nls_iso8859_1 zcommon(POE) znvpair(POE) spl(OE) intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc aesni_intel aes_x86_64 crypto_simd glue_helper cryptd intel_cstate input_leds intel_rapl_perf joydev serio_raw ideapad_laptop sparse_keymap arc4 wmi iwldvm mac80211 iwlwifi mac_hid cfg80211 lpc_ich mei_me mei shpchp sunrpc ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi coda parport_pc ppdev lp parport ip_tables x_tables autofs4 btrfs xor raid6_pq rtsx_usb_sdmmc rtsx_usb hid_generic usbhid hid psmouse i915 video r8169 i2c_algo_bit mii drm_kms_helper syscopyarea sysfillrect ahci sysimgblt fb_sys_fops
[ 85.821163] libahci drm
[ 85.821165] CPU: 6 PID: 75 Comm: kworker/u16:1 Tainted: P OE 4.13.0-21-generic #24-Ubuntu
[ 85.821166] Hardware name: LENOVO 20221/INVALID, BIOS 71CN51WW(V1.21) 07/12/2013
[ 85.821181] Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs]
[ 85.821182] task: ffff9a5c6c6b8000 task.stack: ffffa8f681b58000
[ 85.821192] RIP: 0010:btrfs_run_delayed_refs+0x244/0x250 [btrfs]
[ 85.821193] RSP: 0018:ffffa8f681b5bd80 EFLAGS: 00010282
[ 85.821194] RAX: 0000000000000026 RBX: 00000000ffffffef RCX: 0000000000000000
[ 85.821194] RDX: 0000000000000000 RSI: ffff9a5c7f38dc78 RDI: ffff9a5c7f38dc78
[ 85.821195] RBP: ffffa8f681b5bdd8 R08: 0000000000000001 R09: 000000000000042f
[ 85.821196] R10: ffffa8f681b5bc70 R11: 0000000000000000 R12: ffff9a5c6b3c5438
[ 85.821196] R13: ffff9a5c5fc30000 R14: ffff9a5b85529a00 R15: 000000000000028f
[ 85.821197] FS: 0000000000000000(0000) GS:ffff9a5c7f380000(0000) knlGS:0000000000000000
[ 85.821198] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 85.821199] CR2: 00005643c2753020 CR3: 00000002e8e09000 CR4: 00000000001406e0
[ 85.821200] Call Trace:
[ 85.821211] delayed_ref_async_start+0x98/0xb0 [btrfs]
[ 85.821224] btrfs_worker_helper+0x7a/0x2e0 [btrfs]
[ 85.821235] btrfs_extent_refs_helper+0xe/0x10 [btrfs]
[ 85.821239] process_one_work+0x1e7/0x410
[ 85.821241] worker_thread+0x4b/0x420
[ 85.821242] kthread+0x125/0x140
[ 85.821244] ? process_one_work+0x410/0x410
[ 85.821245] ? kthread_create_on_node+0x70/0x70
[ 85.821248] ret_from_fork+0x25/0x30
[ 85.821249] Code: fe ff 89 d9 ba c1 0b 00 00 48 c7 c6 60 28 7d c0 4c 89 e7 e8 e5 a2 09 00 e9 b5 fe ff ff 89 de 48 c7 c7 98 93 7d c0 e8 8d 02 7b ec <0f> ff eb d3 e8 60 a4 09 00 0f 1f 00 0f 1f 44 00 00 55 48 89 e5
[ 85.821268] ---[ end trace 9bddba90bd2dbd28 ]---
[ 85.821271] BTRFS: error (device sda5) in btrfs_run_delayed_refs:3009: errno=-17 Object already exists
[ 85.821274] BTRFS info (device sda5): forced readonly
```

from `dmesg`. After a forced restart with the power button, I could reproduce the issue (and had to restart with the power button every time), so that finally the filesystem because unmountable because of skinny extents (couldn't capture the stack for the unmountable state).

ProblemType: Bug
DistroRelease: Ubuntu 17.10
Package: linux-image-4.13.0-21-generic 4.13.0-21.24
ProcVersionSignature: Ubuntu 4.13.0-21.24-generic 4.13.13
Uname: Linux 4.13.0-21-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.7-0ubuntu3.6
Architecture: amd64
AudioDevicesInUse:
 BEN. PID ZUGR. BEFEHL
 /dev/snd/pcmC0D0p: richter 19894 F...m pulseaudio
 /dev/snd/controlC0: richter 19894 F.... pulseaudio
CurrentDesktop: Unity:Unity7:ubuntu
Date: Fri Dec 29 06:51:06 2017
HibernationDevice: RESUME=UUID=1bb0bb3e-8148-4957-9673-9701bd571c0a
InstallationDate: Installed on 2015-12-12 (747 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Release amd64 (20151021)
MachineType: LENOVO 20221
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.13.0-21-generic root=UUID=fef6e7d4-2aad-4abc-840e-cb971b2c94c8 ro rootflags=subvol=ubuntu-main-root rcutree.rcu_idle_gp_delay=1 acpi_backlight=vendor
RelatedPackageVersions:
 linux-restricted-modules-4.13.0-21-generic N/A
 linux-backports-modules-4.13.0-21-generic N/A
 linux-firmware 1.169.1
SourcePackage: linux
UpgradeStatus: Upgraded to artful on 2017-10-19 (70 days ago)
dmi.bios.date: 07/12/2013
dmi.bios.vendor: LENOVO
dmi.bios.version: 71CN51WW(V1.21)
dmi.board.asset.tag: No Asset Tag
dmi.board.name: INVALID
dmi.board.vendor: LENOVO
dmi.board.version: 31900003WIN8 STD MLT
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Lenovo IdeaPad Z500 Touch
dmi.modalias: dmi:bvnLENOVO:bvr71CN51WW(V1.21):bd07/12/2013:svnLENOVO:pn20221:pvrLenovoIdeaPadZ500Touch:rvnLENOVO:rnINVALID:rvr31900003WIN8STDMLT:cvnLENOVO:ct10:cvrLenovoIdeaPadZ500Touch:
dmi.product.family: IDEAPAD
dmi.product.name: 20221
dmi.product.version: Lenovo IdeaPad Z500 Touch
dmi.sys.vendor: LENOVO

Revision history for this message
Karl-Philipp Richter (krichter722) wrote :
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Did this issue start happening after an update/upgrade? Was there a prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.15 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15-rc6/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
tags: added: kernel-da-key
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Revision history for this message
kolya (mar-kolya) wrote :

I've just experienced same problem on 17.10, 4.13.0-38-generic

Changed in linux (Ubuntu):
status: Expired → Confirmed
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.