ci2 starts bisection 2023-09-10 23:08:41.558054931 +0000 UTC m=+205109.831379594 bisecting fixing commit since eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 building syzkaller on 9da37ae85383e0dda5fc114ec808909f72fe038d ensuring issue is reproducible on original commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 testing commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 784feffeeae6598ad5840482d4e1d2f41e5883b630d6d217f8e3019df86b4c7f all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] check whether we can drop unnecessary instrumentation disabling configs for [LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN KASAN], they are not needed testing commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7e8fd9500b3be50232aaf7bf688611222e94f2d42f4b180cd394d32379ef3103 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] the bug reproduces without the instrumentation disabling configs for [KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed kconfig minimization: base=3876 full=7511 leaves diff=2006 split chunks (needed=false): <2006> split chunk #0 of len 2006 into 5 parts testing without sub-chunk 1/5 disabling configs for [LEAK UBSAN KASAN LOCKDEP ATOMIC_SLEEP HANG], they are not needed testing commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0d4c07ea5f173f4337d83047e307fb4e80df5c093e43006698b3f32277819e67 all runs: OK false negative chance: 0.000 testing without sub-chunk 2/5 disabling configs for [KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed testing commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 848558b1ebb9e8e9382d7e9447bdf5d8ec75621fc2ee8b80bf94eff229d60559 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed testing commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ee841ff3c6f7664576dd2a3df8067474818ab1ba3f223864e3ec6951c6a91d7c all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN KASAN], they are not needed testing commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9bb8e5a5285d512d01dac3bdad8b21038962ef2268f749706c1d1fe27b7b49e9 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [UBSAN KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed testing commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f80a198ae940c02d5ae5f6b2c0b965bcb307fb4216286a43b62ad69cad935d07 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] the chunk can be dropped minimized to 402 configs; suspects: [6LOWPAN 6LOWPAN_GHC_EXT_HDR_DEST 6LOWPAN_GHC_EXT_HDR_FRAG 6LOWPAN_GHC_EXT_HDR_HOP 6LOWPAN_GHC_EXT_HDR_ROUTE 6LOWPAN_GHC_ICMPV6 6LOWPAN_GHC_UDP 6LOWPAN_NHC 6LOWPAN_NHC_DEST 6LOWPAN_NHC_FRAGMENT 6LOWPAN_NHC_HOP 6LOWPAN_NHC_IPV6 6LOWPAN_NHC_MOBILITY 6LOWPAN_NHC_ROUTING 6LOWPAN_NHC_UDP 6PACK 842_COMPRESS 842_DECOMPRESS 9P_FSCACHE 9P_FS_POSIX_ACL 9P_FS_SECURITY ACORN_PARTITION ACORN_PARTITION_ADFS ACORN_PARTITION_CUMANA ACORN_PARTITION_EESOX ACORN_PARTITION_ICS ACORN_PARTITION_POWERTEC ACORN_PARTITION_RISCIX ACPI_NFIT ACPI_PLATFORM_PROFILE ADFS_FS AFFS_FS AFS_FS AFS_FSCACHE AF_KCM AF_RXRPC AF_RXRPC_IPV6 AIX_PARTITION AMIGA_PARTITION ANDROID_BINDERFS ANDROID_BINDER_IPC ANON_VMA_NAME APERTURE_HELPERS AR5523 ARCH_ENABLE_MEMORY_HOTREMOVE ARCH_ENABLE_THP_MIGRATION ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP ASM_MODVERSIONS ASYNC_CORE ASYNC_MEMCPY ASYNC_PQ ASYNC_RAID6_RECOV ASYNC_TX_DMA ASYNC_XOR ATARI_PARTITION ATA_GENERIC ATA_OVER_ETH ATH10K ATH10K_CE ATH10K_PCI ATH10K_USB ATH11K ATH6KL ATH6KL_USB ATH9K ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_CHANNEL_CONTEXT ATH9K_COMMON ATH9K_COMMON_DEBUG ATH9K_DEBUGFS ATH9K_DYNACK ATH9K_HTC ATH9K_HTC_DEBUGFS ATH9K_HW ATH9K_PCI ATH9K_PCOEM ATH9K_RFKILL ATH_COMMON ATM ATM_BR2684 ATM_CLIP ATM_DRIVERS ATM_LANE ATM_MPOA ATM_TCP AUXILIARY_BUS AX25 AX25_DAMA_SLAVE AX88796B_PHY BAREUDP BATMAN_ADV BATMAN_ADV_BATMAN_V BATMAN_ADV_BLA BATMAN_ADV_DAT BATMAN_ADV_MCAST BATMAN_ADV_NC BCACHE BCMA BCMA_HOST_PCI_POSSIBLE BEFS_FS BFQ_CGROUP_DEBUG BFQ_GROUP_IOSCHED BFS_FS BIG_KEYS BLK_CGROUP_RWSTAT BLK_DEBUG_FS_ZONED BLK_DEV_BSGLIB BLK_DEV_FD BLK_DEV_INTEGRITY BLK_DEV_INTEGRITY_T10 BLK_DEV_NBD BLK_DEV_NULL_BLK BLK_DEV_NULL_BLK_FAULT_INJECTION BLK_DEV_NVME BLK_DEV_PMEM BLK_DEV_RAM BLK_DEV_RNBD BLK_DEV_RNBD_CLIENT BLK_DEV_THROTTLING BLK_DEV_ZONED BLK_ICQ BLK_INLINE_ENCRYPTION BLK_INLINE_ENCRYPTION_FALLBACK BLK_MQ_RDMA BLK_WBT BLK_WBT_MQ BLOCK_COMPAT BONDING BOOT_VESA_SUPPORT BPF_EVENTS BPF_JIT BPF_JIT_ALWAYS_ON BPF_JIT_DEFAULT_ON BPF_LSM BPF_PRELOAD BPF_PRELOAD_UMD BPF_STREAM_PARSER BPF_SYSCALL BPQETHER BRIDGE BRIDGE_CFM BRIDGE_EBT_802_3 BRIDGE_EBT_AMONG BRIDGE_EBT_ARP BRIDGE_EBT_ARPREPLY BRIDGE_EBT_BROUTE BRIDGE_EBT_DNAT BRIDGE_EBT_IP BRIDGE_EBT_IP6 BRIDGE_EBT_LIMIT BRIDGE_EBT_LOG BRIDGE_EBT_MARK BRIDGE_EBT_MARK_T BRIDGE_EBT_NFLOG BRIDGE_EBT_PKTTYPE BRIDGE_EBT_REDIRECT BRIDGE_EBT_SNAT BRIDGE_EBT_STP BRIDGE_EBT_T_FILTER BRIDGE_EBT_T_NAT BRIDGE_EBT_VLAN BRIDGE_IGMP_SNOOPING BRIDGE_MRP BRIDGE_NF_EBTABLES BRIDGE_VLAN_FILTERING BSD_DISKLABEL BSD_PROCESS_ACCT_V3 BT BTRFS_ASSERT BTRFS_FS BTRFS_FS_POSIX_ACL BTRFS_FS_REF_VERIFY BTT BT_6LOWPAN BT_ATH3K BT_BCM BT_BNEP BT_BNEP_MC_FILTER BT_BNEP_PROTO_FILTER BT_BREDR BT_CMTP BT_HCIBCM203X BT_HCIBFUSB BT_HCIBPA10X BT_HCIBTUSB BT_HCIBTUSB_BCM BT_HCIBTUSB_MTK BT_HCIBTUSB_RTL BT_HCIUART BT_HCIUART_3WIRE BT_HCIUART_AG6XX BT_HCIUART_BCSP BT_HCIUART_H4 BT_HCIUART_LL BT_HCIUART_MRVL BT_HCIUART_QCA BT_HCIUART_SERDEV BT_HCIVHCI BT_HIDP BT_HS BT_INTEL BT_LE BT_LEDS BT_MSFTEXT BT_MTK BT_QCA BT_RFCOMM BT_RFCOMM_TTY BT_RTL BUILD_BIN2C CACHEFILES CAIF CAIF_DEBUG CAIF_DRIVERS CAIF_NETDEV CAIF_TTY CAIF_USB CAIF_VIRTIO CAN CAN_8DEV_USB CAN_BCM CAN_CALC_BITTIMING CAN_DEV CAN_EMS_USB CAN_GS_USB CAN_GW CAN_IFI_CANFD CAN_ISOTP CAN_J1939 CAN_KVASER_USB CAN_MCBA_USB CAN_NETLINK CAN_PEAK_USB CAN_RAW CAN_SLCAN CAN_VCAN CAN_VXCAN CAPI_TRACE CARL9170 CARL9170_HWRNG CARL9170_LEDS CARL9170_WPC CC_HAS_UBSAN_BOUNDS CEC_CORE CEPH_FS CEPH_FSCACHE CEPH_FS_POSIX_ACL CEPH_LIB CEPH_LIB_USE_DNS_RESOLVER CFG80211 CFG80211_CRDA_SUPPORT CFG80211_DEBUGFS CFG80211_DEFAULT_PS CFG80211_REQUIRE_SIGNED_REGDB CFG80211_USE_KERNEL_REGDB_KEYS CFG80211_WEXT CFS_BANDWIDTH CGROUP_BPF CHARGER_BQ24190 CHARGER_ISP1704 CHR_DEV_ST CIFS CIFS_ALLOW_INSECURE_LEGACY CIFS_DEBUG CIFS_DFS_UPCALL CIFS_FSCACHE CIFS_POSIX CIFS_SMB_DIRECT CIFS_SWN_UPCALL CIFS_UPCALL CIFS_XATTR CLS_U32_MARK CLS_U32_PERF CMA CMA_SIZE_SEL_MBYTES CMDLINE_PARTITION COMEDI COMEDI_DT9812 COMEDI_NI_USB6501 COMEDI_USBDUX COMEDI_USBDUXFAST COMEDI_USBDUXSIGMA COMEDI_USB_DRIVERS COMEDI_VMK80XX COMPAT_NETLINK_MESSAGES COUNTER CRAMFS CRAMFS_BLOCKDEV CRAMFS_MTD CRC4 CRC64 CRC64_ROCKSOFT CRC7 CRC8 CRC_ITU_T CRC_T10DIF CRYPTO_ADIANTUM CRYPTO_AEGIS128 CRYPTO_AEGIS128_AESNI_SSE2 CRYPTO_AES_NI_INTEL CRYPTO_AES_TI CRYPTO_ANSI_CPRNG CRYPTO_ANUBIS CRYPTO_ARC4 CRYPTO_ARCH_HAVE_LIB_BLAKE2S CRYPTO_ARCH_HAVE_LIB_CHACHA CRYPTO_ARCH_HAVE_LIB_CURVE25519 CRYPTO_ARCH_HAVE_LIB_POLY1305 CRYPTO_ARIA CRYPTO_ARIA_AESNI_AVX_X86_64 CRYPTO_BLAKE2B CRYPTO_BLAKE2S_X86 CRYPTO_BLOWFISH CRYPTO_BLOWFISH_COMMON CRYPTO_BLOWFISH_X86_64 CRYPTO_CAMELLIA CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 CRYPTO_CAMELLIA_AESNI_AVX_X86_64 CRYPTO_CAMELLIA_X86_64 CRYPTO_CAST5 CRYPTO_CAST5_AVX_X86_64 CRYPTO_CAST6 CRYPTO_CAST6_AVX_X86_64 CRYPTO_CAST_COMMON CRYPTO_CFB CRYPTO_CHACHA20 CRYPTO_CHACHA20POLY1305 CRYPTO_CHACHA20_X86_64 CRYPTO_CRC32 CRYPTO_CRC32C_INTEL CRYPTO_CRC32_PCLMUL CRYPTO_CRC64_ROCKSOFT CRYPTO_CRCT10DIF CRYPTO_CRCT10DIF_PCLMUL CRYPTO_CRYPTD CRYPTO_CTS CRYPTO_CURVE25519 CRYPTO_CURVE25519_X86 CRYPTO_DEFLATE CRYPTO_DES CRYPTO_DES3_EDE_X86_64 CRYPTO_DEV_CCP CRYPTO_DEV_CCP_DD CRYPTO_DEV_PADLOCK CRYPTO_DEV_PADLOCK_AES CRYPTO_DEV_PADLOCK_SHA CRYPTO_DEV_QAT CRYPTO_DEV_QAT_C3XXX CRYPTO_DEV_QAT_C3XXXVF CRYPTO_DEV_QAT_C62X CRYPTO_DEV_QAT_C62XVF CRYPTO_DEV_QAT_DH895xCC CRYPTO_DEV_QAT_DH895xCCVF CRYPTO_DEV_VIRTIO CRYPTO_DH CRYPTO_DRBG_CTR CRYPTO_DRBG_HASH CRYPTO_ECB CRYPTO_ECC CRYPTO_ECDH CRYPTO_ECRDSA CRYPTO_ENGINE CRYPTO_ESSIV CRYPTO_FCRYPT CRYPTO_GF128MUL CRYPTO_GHASH_CLMUL_NI_INTEL CRYPTO_HCTR2 CRYPTO_KDF800108_CTR CRYPTO_KEYWRAP CRYPTO_KHAZAD CRYPTO_KPP CRYPTO_LIB_ARC4 CRYPTO_LIB_CHACHA CRYPTO_LIB_CHACHA20POLY1305 CRYPTO_LIB_CHACHA_GENERIC CRYPTO_LIB_CURVE25519 CRYPTO_LIB_CURVE25519_GENERIC CRYPTO_LIB_DES CRYPTO_LIB_POLY1305 CRYPTO_LIB_POLY1305_GENERIC CRYPTO_LRW CRYPTO_MICHAEL_MIC CRYPTO_NHPOLY1305 CRYPTO_NHPOLY1305_AVX2 CRYPTO_NHPOLY1305_SSE2 CRYPTO_OFB CRYPTO_PCBC CRYPTO_PCRYPT CRYPTO_POLY1305 CRYPTO_POLY1305_X86_64 CRYPTO_POLYVAL CRYPTO_POLYVAL_CLMUL_NI CRYPTO_RMD160 CRYPTO_SEED CRYPTO_SERPENT CRYPTO_SERPENT_AVX2_X86_64 CRYPTO_SERPENT_AVX_X86_64 CRYPTO_SERPENT_SSE2_X86_64 CRYPTO_SHA1_SSSE3 CRYPTO_SHA256_SSSE3 CRYPTO_SHA512_SSSE3 CRYPTO_SIMD CRYPTO_SM2 CRYPTO_SM3 CRYPTO_SM3_AVX_X86_64 CRYPTO_SM4 CRYPTO_SM4_AESNI_AVX2_X86_64 CRYPTO_SM4_AESNI_AVX_X86_64 CRYPTO_SM4_GENERIC CRYPTO_STREEBOG CRYPTO_TEA CRYPTO_TWOFISH CRYPTO_TWOFISH_AVX_X86_64 CRYPTO_TWOFISH_COMMON CRYPTO_TWOFISH_X86_64 CRYPTO_TWOFISH_X86_64_3WAY CRYPTO_USER CRYPTO_USER_API CRYPTO_USER_API_AEAD CRYPTO_USER_API_ENABLE_OBSOLETE CRYPTO_USER_API_HASH CRYPTO_USER_API_RNG CRYPTO_USER_API_SKCIPHER CRYPTO_VMAC CRYPTO_WP512 CRYPTO_XCBC CRYPTO_XCTR CRYPTO_XTS CRYPTO_XXHASH CUSE CYPRESS_FIRMWARE DAMON DAMON_DBGFS DAMON_PADDR DAMON_RECLAIM DAMON_VADDR DAX DCB DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT DEFAULT_PFIFO_FAST DEFAULT_SECURITY_APPARMOR DEVICE_MIGRATION DEVICE_PRIVATE DEV_COREDUMP DEV_DAX DIMLIB DLN2_ADC DMABUF_HEAPS DMABUF_HEAPS_CMA DMABUF_HEAPS_SYSTEM DMABUF_MOVE_NOTIFY DMA_CMA DM_AUDIT DM_BIO_PRISON DM_BUFIO DM_CACHE DM_CACHE_SMQ DM_CLONE DM_CRYPT DM_FLAKEY DM_INTEGRITY DM_MULTIPATH DM_MULTIPATH_QL DM_MULTIPATH_ST DM_PERSISTENT_DATA DM_RAID DM_SNAPSHOT DM_THIN_PROVISIONING DM_UEVENT DM_VERITY DM_VERITY_FEC DM_WRITECACHE DM_ZONED DRAGONRISE_FF DRM DRM_BOCHS DRM_BUDDY DRM_CIRRUS_QEMU DRM_DEBUG_MM ENCRYPTED_KEYS EXTCON FSCACHE FUSE_FS GPIOLIB HAMRADIO HID_DRAGONRISE IIO INFINIBAND INFINIBAND_ADDR_TRANS INFINIBAND_RTRS_CLIENT IOSCHED_BFQ ISDN ISDN_CAPI LIBNVDIMM MAC80211 MAC80211_LEDS MEDIA_SUPPORT MEMORY_HOTPLUG MEMORY_HOTREMOVE MFD_DLN2 MTD NET_CLS_U32 NET_SCH_DEFAULT PARTITION_ADVANCED RFKILL SERIAL_DEV_BUS TLS TLS_DEVICE TRANSPARENT_HUGEPAGE TRUSTED_KEYS USB_GADGET USB_PHY VLAN_8021Q WANT_COMPAT_NETLINK_MESSAGES WEXT_CORE WIRELESS WIRELESS_EXT WLAN WLAN_VENDOR_ATH X86_X32_ABI ZONE_DEVICE] disabling configs for [KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed testing current HEAD 1548b060d6f32a00a2f7e2c11328205fb66fc4fa testing commit 1548b060d6f32a00a2f7e2c11328205fb66fc4fa gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ed4fb685622ebdb1042943681bde5a20fbf260146721b0b0189297cae371d687 all runs: OK false negative chance: 0.000 # git bisect start 1548b060d6f32a00a2f7e2c11328205fb66fc4fa eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 Bisecting: 38524 revisions left to test after this (roughly 15 steps) [9dd6956b38923dc1b7b349ca1eee3c0bb1f0163a] Merge tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linux determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit 9dd6956b38923dc1b7b349ca1eee3c0bb1f0163a gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a08d1a3174a7b466978ec92c52891928ed20a21ec5606a3647775847d6113af5 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] # git bisect good 9dd6956b38923dc1b7b349ca1eee3c0bb1f0163a Bisecting: 19236 revisions left to test after this (roughly 14 steps) [d35ac6ac0e80e55bcea79af18d935f19a3e8554c] Merge tag 'iommu-updates-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit d35ac6ac0e80e55bcea79af18d935f19a3e8554c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ac5bbe84e428c25edea2768779af0abc37d52262ca4c3df7d7c78dc1450f5265 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] # git bisect good d35ac6ac0e80e55bcea79af18d935f19a3e8554c Bisecting: 9192 revisions left to test after this (roughly 13 steps) [bd6c11bc43c496cddfc6cf603b5d45365606dbd5] Merge tag 'net-next-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next determine whether the revision contains the guilty commit revision 9dd6956b38923dc1b7b349ca1eee3c0bb1f0163a crashed and is reachable testing commit bd6c11bc43c496cddfc6cf603b5d45365606dbd5 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e639af125c4fccfa1b4ccbe11d3eeda56b045259dd5640f4b351dc6b83318741 all runs: OK false negative chance: 0.000 # git bisect bad bd6c11bc43c496cddfc6cf603b5d45365606dbd5 Bisecting: 5024 revisions left to test after this (roughly 12 steps) [556c9424e271abff7ada9196007418f7b8431c6e] Merge tag 'erofs-for-6.5-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit 556c9424e271abff7ada9196007418f7b8431c6e gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 916af6c20a59b5141b92fee4e94865ea4c8dc8165e989572fd156332e416a901 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] # git bisect good 556c9424e271abff7ada9196007418f7b8431c6e Bisecting: 2458 revisions left to test after this (roughly 11 steps) [57ce6427e00a6a72f74b29630b39548b36980b09] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit 57ce6427e00a6a72f74b29630b39548b36980b09 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 706a84fb16a601523d1ebd384ba764ed47ee287e73cd3806f878e329f40665cb all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] # git bisect good 57ce6427e00a6a72f74b29630b39548b36980b09 Bisecting: 1251 revisions left to test after this (roughly 10 steps) [815c24a085dd8ab9bb7381e455afdb3f9c260e38] Merge tag 'linux-kselftest-kunit-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest determine whether the revision contains the guilty commit revision 556c9424e271abff7ada9196007418f7b8431c6e crashed and is reachable testing commit 815c24a085dd8ab9bb7381e455afdb3f9c260e38 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8ed5d66d95111c15b3b566a41fd57bdae0a9dbec4a9318ab9487d0425670236f all runs: OK false negative chance: 0.000 # git bisect bad 815c24a085dd8ab9bb7381e455afdb3f9c260e38 Bisecting: 583 revisions left to test after this (roughly 9 steps) [68cadad11fe2ddd126b37a8fba3726be7fa0f5c6] Merge tag 'rcu.2023.08.21a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu determine whether the revision contains the guilty commit revision 556c9424e271abff7ada9196007418f7b8431c6e crashed and is reachable testing commit 68cadad11fe2ddd126b37a8fba3726be7fa0f5c6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c6b58b8f39de8480cec493da819c89e37d490d0338ecbd1a5ae8ade75b7fd025 all runs: OK false negative chance: 0.000 # git bisect bad 68cadad11fe2ddd126b37a8fba3726be7fa0f5c6 Bisecting: 294 revisions left to test after this (roughly 8 steps) [511fb5bafed197ff76d9adf5448de67f1d0558ae] Merge tag 'v6.6-vfs.super' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit 511fb5bafed197ff76d9adf5448de67f1d0558ae gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b0a723dd45912951dd3d386db8d85c8fdc618bb0cf9095c7d9fabe90b50fe719 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] # git bisect good 511fb5bafed197ff76d9adf5448de67f1d0558ae Bisecting: 184 revisions left to test after this (roughly 7 steps) [c02d35d89b317994bd713ba82e160c5e7f22d9c8] btrfs: zoned: skip splitting and logical rewriting on pre-alloc write determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit c02d35d89b317994bd713ba82e160c5e7f22d9c8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 80a7c1faaaa6bc770f545e488bdad769f596438b8607d94f320f6b6a75929dee all runs: OK false negative chance: 0.000 # git bisect bad c02d35d89b317994bd713ba82e160c5e7f22d9c8 Bisecting: 54 revisions left to test after this (roughly 6 steps) [13840f3f2837b9a00f06d2d8d93dbdc6b2b6532e] btrfs: refactor main loop in memcpy_extent_buffer() determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit 13840f3f2837b9a00f06d2d8d93dbdc6b2b6532e gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e272b1056264f144d1badc37777750ee811a134f428672a49738323a0e7ea215 all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] # git bisect good 13840f3f2837b9a00f06d2d8d93dbdc6b2b6532e Bisecting: 27 revisions left to test after this (roughly 5 steps) [5a7d107e5ef9b452cf0aa96ac931b29ea980d997] btrfs: zoned: don't activate non-DATA BG on allocation determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit 5a7d107e5ef9b452cf0aa96ac931b29ea980d997 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b332f87960114e34fe8cb17249c44cb8780ef6124f5b33393844f08652017afb all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] # git bisect good 5a7d107e5ef9b452cf0aa96ac931b29ea980d997 Bisecting: 13 revisions left to test after this (roughly 4 steps) [319baafcef2e075f515fce6a89e833f7aeae8484] btrfs: simplify memcpy either of metadata_uuid or fsid determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit 319baafcef2e075f515fce6a89e833f7aeae8484 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7752972592004e83adcd985643081852e0f6d9a9218f57f8fa357c301995b409 all runs: OK false negative chance: 0.000 # git bisect bad 319baafcef2e075f515fce6a89e833f7aeae8484 Bisecting: 6 revisions left to test after this (roughly 3 steps) [953fa5ced510c4937075002bbfc6405cd500efef] btrfs: fix error handling when in a COW window in run_delalloc_nocow determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit 953fa5ced510c4937075002bbfc6405cd500efef gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 89039670aaabffd8dfc0b5dd5d183dae5d73fe62a016ab474c0d7753586a9b16 all runs: OK false negative chance: 0.000 # git bisect bad 953fa5ced510c4937075002bbfc6405cd500efef Bisecting: 3 revisions left to test after this (roughly 2 steps) [84af994b85b89ae405b8ea930653543bc5b864d3] btrfs: use LIST_HEAD() to initialize the list_head determine whether the revision contains the guilty commit revision 9dd6956b38923dc1b7b349ca1eee3c0bb1f0163a crashed and is reachable testing commit 84af994b85b89ae405b8ea930653543bc5b864d3 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8abb9d5d0532fe770893611b014f512c3256ced75dad14c184a9879bdb7fc35b all runs: crashed: WARNING in btrfs_chunk_alloc representative crash: WARNING in btrfs_chunk_alloc, types: [WARNING] # git bisect good 84af994b85b89ae405b8ea930653543bc5b864d3 Bisecting: 1 revision left to test after this (roughly 1 step) [e7f1326cc24e22b38afc3acd328480a1183f9e79] btrfs: set page extent mapped after read_folio in relocate_one_page determine whether the revision contains the guilty commit revision eb7081409f94a9a8608593d0fb63a1aa3d6f95d8 crashed and is reachable testing commit e7f1326cc24e22b38afc3acd328480a1183f9e79 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5dec76667f4b8c191a981a73763e41f39774c2debc46e96e388d2152c8cc9c11 all runs: OK false negative chance: 0.000 # git bisect bad e7f1326cc24e22b38afc3acd328480a1183f9e79 Bisecting: 0 revisions left to test after this (roughly 0 steps) [cd361199ff23776481c37023a55d855d5ad5c0f5] btrfs: wait on uncached block groups on every allocation loop determine whether the revision contains the guilty commit revision 9dd6956b38923dc1b7b349ca1eee3c0bb1f0163a crashed and is reachable testing commit cd361199ff23776481c37023a55d855d5ad5c0f5 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c2e925072d0c16f9f0a5209069599ed4c2eb6db126ce51078d39a6588499d92c all runs: OK false negative chance: 0.000 # git bisect bad cd361199ff23776481c37023a55d855d5ad5c0f5 cd361199ff23776481c37023a55d855d5ad5c0f5 is the first bad commit commit cd361199ff23776481c37023a55d855d5ad5c0f5 Author: Josef Bacik Date: Mon Jul 31 16:28:43 2023 -0400 btrfs: wait on uncached block groups on every allocation loop My initial fix for the generic/475 hangs was related to metadata, but our CI testing uncovered another case where we hang for similar reasons. We again have a task with a plug that is holding an outstanding request that is keeping the dm device from finishing it's suspend, and that task is stuck in the allocator. This time it is stuck trying to allocate data, but we do not have a block group that matches the size class. The larger loop in the allocator looks like this (simplified of course) find_free_extent for_each_block_group { ffe_ctl->cached == btrfs_block_group_cache_done(bg) if (!ffe_ctl->cached) ffe_ctl->have_caching_bg = true; do_allocation() btrfs_wait_block_group_cache_progress(); } if (loop == LOOP_CACHING_WAIT && ffe_ctl->have_caching_bg) go search again; In my earlier fix we were trying to allocate from the block group, but we weren't waiting for the progress because we were only waiting for the free space to be >= the amount of free space we wanted. My fix made it so we waited for forward progress to be made as well, so we would be sure to wait. This time however we did not have a block group that matched our size class, so what was happening was this find_free_extent for_each_block_group { ffe_ctl->cached == btrfs_block_group_cache_done(bg) if (!ffe_ctl->cached) ffe_ctl->have_caching_bg = true; if (size_class_doesn't_match()) goto loop; do_allocation() btrfs_wait_block_group_cache_progress(); loop: release_block_group(block_group); } if (loop == LOOP_CACHING_WAIT && ffe_ctl->have_caching_bg) go search again; The size_class_doesn't_match() part was true, so we'd just skip this block group and never wait for caching, and then because we found a caching block group we'd just go back and do the loop again. We never sleep and thus never flush the plug and we have the same deadlock. Fix the logic for waiting on the block group caching to instead do it unconditionally when we goto loop. This takes the logic out of the allocation step, so now the loop looks more like this find_free_extent for_each_block_group { ffe_ctl->cached == btrfs_block_group_cache_done(bg) if (!ffe_ctl->cached) ffe_ctl->have_caching_bg = true; if (size_class_doesn't_match()) goto loop; do_allocation() btrfs_wait_block_group_cache_progress(); loop: if (loop > LOOP_CACHING_NOWAIT && !ffe_ctl->retry_uncached && !ffe_ctl->cached) { ffe_ctl->retry_uncached = true; btrfs_wait_block_group_cache_progress(); } release_block_group(block_group); } if (loop == LOOP_CACHING_WAIT && ffe_ctl->have_caching_bg) go search again; This simplifies the logic a lot, and makes sure that if we're hitting uncached block groups we're always waiting on them at some point. I ran this through 100 iterations of generic/475, as this particular case was harder to hit than the previous one. Signed-off-by: Josef Bacik Signed-off-by: David Sterba fs/btrfs/extent-tree.c | 61 +++++++++++++++----------------------------------- fs/btrfs/extent-tree.h | 13 ++++------- 2 files changed, 22 insertions(+), 52 deletions(-) accumulated error probability: 0.00 culprit signature: c2e925072d0c16f9f0a5209069599ed4c2eb6db126ce51078d39a6588499d92c parent signature: 8abb9d5d0532fe770893611b014f512c3256ced75dad14c184a9879bdb7fc35b revisions tested: 24, total time: 4h9m48.115591487s (build: 1h39m22.069883154s, test: 2h20m55.440315768s) first good commit: cd361199ff23776481c37023a55d855d5ad5c0f5 btrfs: wait on uncached block groups on every allocation loop recipients (to): ["dsterba@suse.com" "josef@toxicpanda.com"] recipients (cc): []