[Bug 244899] zfs: xattr on a symlink target > 136 causes "bad file descriptor" (on 12.1) and panic on (13 CURRENT) in sa_build_index()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 22 Oct 2022 14:15:04 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244899
--- Comment #8 from Sean Champ <lab+bsd@thinkum.space> ---
For what it's worth, I started seeing this error again, for a significant
number of port builds, using zfs in poudriere. Example from an llvm13 build,
during the build-depends stage:
~~~~
===> llvm13-13.0.1_3 depends on executable: ninja - not found
===> Installing existing package /packages/All/ninja-1.11.1,2.pkg
[xmin.bld.cloud.thinkum.space] Installing ninja-1.11.1,2...
[xmin.bld.cloud.thinkum.space] `-- Installing python38-3.8.15...
[xmin.bld.cloud.thinkum.space] | `-- Installing libffi-3.4.3...
[xmin.bld.cloud.thinkum.space] | `-- Extracting libffi-3.4.3: .......... done
[xmin.bld.cloud.thinkum.space] | `-- Installing mpdecimal-2.5.1...
[xmin.bld.cloud.thinkum.space] | `-- Extracting mpdecimal-2.5.1: ..........
done
[xmin.bld.cloud.thinkum.space] | `-- Installing readline-8.1.2...
[xmin.bld.cloud.thinkum.space] | `-- Extracting readline-8.1.2: ..........
done
[xmin.bld.cloud.thinkum.space] `-- Extracting python38-3.8.15: ...
pkg-static: Fail to chown
/usr/local/lib/python3.8/idlelib/idle_test/.pkgtemp.test_squeezer.py.bFIrNzt0LFou:Bad
file descriptor
~~~~
uname in this instance:
~~~~
FreeBSD xmin.cloud.thinkum.space 13.1-STABLE FreeBSD 13.1-STABLE #0
build/stable/13-n252436-b63021e001d: Sun Oct 9 05:52:29 PDT 2022
gimbal@xmin.cloud.thinkum.space:/usr/obj/xmin_FreeBSD-13.1-STABLE_amd64/usr/src/amd64.amd64/sys/XMIN
amd64
~~~~
i.e kernel was built from changeset: b63021e001d in the stable/13 branch.
If it's not an absurd question, could this be related to to the number of open
file descriptors?
At the time of the errors - with some hundred+ similar build failures while
using zfs in poudriere - I'd noticed that the single user gvfsd-trash process
had approx 10603 file descriptors showing under 'fstat -p'. I've terminated
this process and tried the poudriere build again. Those errors as I was seeing
here are not showing up now.
As a workaround, I'm going to use the following to try to disable gvfsd-trash
in effect:
~~~~
mkdir -p /usr/local/etc/gvfs/mounts
for F in /usr/local/share/gvfs/mounts/*.mount; do
install -l rs $F /usr/local/etc/gvfs/mounts/$(basename $F);
done
rm /usr/local/etc/gvfs/mounts/trash.mount
~~~~
then in /etc/profile
~~~~
if [ -e /usr/local/etc/gvfs/mounts ]; then
export GVFS_MOUNTABLE_DIR=/usr/local/etc/gvfs/mounts
fi
~~~~
Of course, this would not guarantee that /usr/local/etc/gvfs/mounts would stay
in sync with /usr/local/share/gvfs/mounts/ then. Alternately, one could patch
the devel/gvfs port to add an option to remove trash.mount before packaging
This correlation may not illustrate a causal relation - e.g between the number
of file descriptors in the gvfsd-trash process and the build failures under
poudriere with ZFS. After closing then disabling gvfsd-trash, I'm not seeing
those failures now, in the local ports build.
I'll try rebuilding the kernel with those options. My kernconf from sysctl
kern.conftxt:
~~~~
kern.conftxt: options CONFIG_AUTOGENERATED
ident XMIN
machine amd64
cpu HAMMER
cpu HAMMER
cpu HAMMER
makeoptions MODULES_EXTRA=acpi/acpi_rapidstart
makeoptions WITH_CTF=1
makeoptions DEBUG=-g
options IPI_PREEMPTION
options MSDOSFS_ICONV
options CD9660_ICONV
options LIBICONV
options FDESCFS
options FUSEFS
options GEOM_PART_VTOC8
options GEOM_PART_LDM
options GEOM_PART_BSD64
options GEOM_PART_APM
options X86BIOS
options ENABLE_ALART
options DUMMYNET
options VT_ALT_TO_ESC_HACK=1
options MSGBUF_SIZE=(32*PAGE_SIZE)
options PANIC_REBOOT_WAIT_TIME=-1
options HZ=1000
options IICHID_SAMPLING
options HID_DEBUG
options EVDEV_SUPPORT
options XENHVM
options USB_DEBUG
options ATH_ENABLE_11N
options AH_AR5416_INTERRUPT_MITIGATION
options IEEE80211_SUPPORT_MESH
options IEEE80211_DEBUG
options SC_PIXEL_MODE
options VESA
options PPS_SYNC
options COMPAT_LINUXKPI
options PCI_IOV
options PCI_HP
options IOMMU
options EARLY_AP_STARTUP
options SMP
options NETGDB
options NETDUMP
options DEBUGNET
options ZSTDIO
options GZIO
options EKCD
options KDB_TRACE
options KDB
options RCTL
options RACCT_DEFAULT_TO_DISABLED
options RACCT
options INCLUDE_CONFIG_FILE
options DDB_CTF
options KDTRACE_HOOKS
options KDTRACE_FRAME
options MAC
options CAPABILITIES
options CAPABILITY_MODE
options AUDIT
options KBD_INSTALL_CDEV
options PRINTF_BUFR_SIZE=128
options _KPOSIX_PRIORITY_SCHEDULING
options SYSVSEM
options SYSVMSG
options SYSVSHM
options STACK
options KTRACE
options SCSI_DELAY=5000
options COMPAT_FREEBSD12
options COMPAT_FREEBSD11
options COMPAT_FREEBSD10
options COMPAT_FREEBSD9
options COMPAT_FREEBSD7
options COMPAT_FREEBSD6
options COMPAT_FREEBSD5
options COMPAT_FREEBSD4
options COMPAT_FREEBSD32
options EFIRT
options GEOM_LABEL
options GEOM_RAID
options TMPFS
options PSEUDOFS
options PROCFS
options CD9660
options MSDOSFS
options NFS_ROOT
options NFSLOCKD
options NFSD
options NFSCL
options MD_ROOT
options QUOTA
options UFS_GJOURNAL
options UFS_DIRHASH
options UFS_ACL
options SOFTUPDATES
options FFS
options KERN_TLS
options SCTP_SUPPORT
options TCP_RFC7413
options TCP_HHOOK
options TCP_BLACKBOX
options TCP_OFFLOAD
options FIB_ALGO
options ROUTE_MPATH
options IPSEC_SUPPORT
options INET6
options INET
options VIMAGE
options PREEMPTION
options NUMA
options SCHED_ULE
options NEW_PCIB
options GEOM_PART_GPT
options GEOM_PART_MBR
options GEOM_PART_EBR
options GEOM_PART_BSD
options GEOM_PART_BSD
options GEOM_PART_EBR
options GEOM_PART_MBR
options GEOM_PART_GPT
options NEW_PCIB
options SCHED_ULE
options NUMA
options PREEMPTION
options VIMAGE
options INET
options INET6
options IPSEC_SUPPORT
options ROUTE_MPATH
options FIB_ALGO
options TCP_OFFLOAD
options TCP_BLACKBOX
options TCP_HHOOK
options TCP_RFC7413
options SCTP_SUPPORT
options KERN_TLS
options FFS
options SOFTUPDATES
options UFS_ACL
options UFS_DIRHASH
options UFS_GJOURNAL
options QUOTA
options MD_ROOT
options NFSCL
options NFSD
options NFSLOCKD
options NFS_ROOT
options MSDOSFS
options CD9660
options PROCFS
options PSEUDOFS
options TMPFS
options GEOM_RAID
options GEOM_LABEL
options EFIRT
options COMPAT_FREEBSD32
options COMPAT_FREEBSD4
options COMPAT_FREEBSD5
options COMPAT_FREEBSD6
options COMPAT_FREEBSD7
options COMPAT_FREEBSD9
options COMPAT_FREEBSD10
options COMPAT_FREEBSD11
options COMPAT_FREEBSD12
options SCSI_DELAY=5000
options KTRACE
options STACK
options SYSVSHM
options SYSVMSG
options SYSVSEM
options _KPOSIX_PRIORITY_SCHEDULING
options PRINTF_BUFR_SIZE=128
options KBD_INSTALL_CDEV
options AUDIT
options CAPABILITY_MODE
options CAPABILITIES
options MAC
options KDTRACE_FRAME
options KDTRACE_HOOKS
options DDB_CTF
options INCLUDE_CONFIG_FILE
options RACCT
options RACCT_DEFAULT_TO_DISABLED
options RCTL
options KDB
options KDB_TRACE
options EKCD
options GZIO
options ZSTDIO
options DEBUGNET
options NETDUMP
options NETGDB
options SMP
options EARLY_AP_STARTUP
options IOMMU
options PCI_HP
options PCI_IOV
options COMPAT_LINUXKPI
options PPS_SYNC
options VESA
options SC_PIXEL_MODE
options IEEE80211_DEBUG
options IEEE80211_SUPPORT_MESH
options AH_AR5416_INTERRUPT_MITIGATION
options ATH_ENABLE_11N
options USB_DEBUG
options XENHVM
options EVDEV_SUPPORT
options HID_DEBUG
options IICHID_SAMPLING
options SCHED_ULE
options NUMA
options PREEMPTION
options VIMAGE
options INET
options INET6
options IPSEC_SUPPORT
options ROUTE_MPATH
options FIB_ALGO
options TCP_OFFLOAD
options TCP_BLACKBOX
options TCP_HHOOK
options TCP_RFC7413
options SCTP_SUPPORT
options KERN_TLS
options FFS
options SOFTUPDATES
options UFS_ACL
options UFS_DIRHASH
options UFS_GJOURNAL
options QUOTA
options MD_ROOT
options NFSCL
options NFSD
options NFSLOCKD
options NFS_ROOT
options MSDOSFS
options CD9660
options PROCFS
options PSEUDOFS
options TMPFS
options GEOM_RAID
options GEOM_LABEL
options EFIRT
options COMPAT_FREEBSD32
options COMPAT_FREEBSD4
options COMPAT_FREEBSD5
options COMPAT_FREEBSD6
options COMPAT_FREEBSD7
options COMPAT_FREEBSD9
options COMPAT_FREEBSD10
options COMPAT_FREEBSD11
options COMPAT_FREEBSD12
options SCSI_DELAY=5000
options KTRACE
options STACK
options SYSVSHM
options SYSVMSG
options SYSVSEM
options _KPOSIX_PRIORITY_SCHEDULING
options PRINTF_BUFR_SIZE=128
options KBD_INSTALL_CDEV
options AUDIT
options CAPABILITY_MODE
options CAPABILITIES
options MAC
options KDTRACE_FRAME
options KDTRACE_HOOKS
options DDB_CTF
options INCLUDE_CONFIG_FILE
options RACCT
options RACCT_DEFAULT_TO_DISABLED
options RCTL
options KDB
options KDB_TRACE
options EKCD
options GZIO
options ZSTDIO
options DEBUGNET
options NETDUMP
options NETGDB
options SMP
options EARLY_AP_STARTUP
options IOMMU
options PCI_HP
options PCI_IOV
options COMPAT_LINUXKPI
options PPS_SYNC
options VESA
options SC_PIXEL_MODE
options IEEE80211_DEBUG
options IEEE80211_SUPPORT_MESH
options AH_AR5416_INTERRUPT_MITIGATION
options ATH_ENABLE_11N
options USB_DEBUG
options XENHVM
options EVDEV_SUPPORT
options HID_DEBUG
options IICHID_SAMPLING
options HZ=1000
options PANIC_REBOOT_WAIT_TIME=-1
options MSGBUF_SIZE=(32*PAGE_SIZE)
options HZ=1000
device isa
device mem
device io
device uart_ns8250
device cpufreq
device acpi
device smbios
device pci
device fdc
device ahci
device ata
device mvs
device siis
device ahc
device ahd
device esp
device hptiop
device isp
device mpt
device mps
device mpr
device sym
device isci
device ocs_fc
device pvscsi
device scbus
device ch
device da
device sa
device cd
device pass
device ses
device amr
device arcmsr
device ciss
device iir
device ips
device mly
device twa
device smartpqi
device tws
device aac
device aacp
device aacraid
device ida
device mfi
device mlx
device mrsas
device pmspcv
device twe
device nvme
device nvd
device vmd
device atkbdc
device atkbd
device psm
device kbdmux
device vga
device splash
device sc
device vt
device vt_vga
device vt_efifb
device vt_vbefb
device agp
device cbb
device pccard
device cardbus
device uart
device ppc
device ppbus
device lpt
device ppi
device puc
device iflib
device em
device igc
device ix
device ixv
device ixl
device iavf
device ice
device vmx
device axp
device bxe
device le
device ti
device mlx5
device mlxfw
device mlx5en
device miibus
device ae
device age
device alc
device ale
device bce
device bfe
device bge
device cas
device dc
device et
device fxp
device gem
device jme
device lge
device msk
device nfe
device nge
device re
device rl
device sge
device sis
device sk
device ste
device stge
device vge
device vr
device xl
device wlan
device wlan_wep
device wlan_ccmp
device wlan_tkip
device wlan_amrr
device an
device ath
device ath_pci
device ath_hal
device ath_rate_sample
device ipw
device iwi
device iwn
device malo
device mwl
device ral
device wpi
device crypto
device aesni
device loop
device padlock_rng
device rdrand_rng
device ether
device vlan
device tuntap
device md
device gif
device firmware
device xz
device bpf
device uhci
device ohci
device ehci
device xhci
device usb
device ukbd
device umass
device sound
device snd_cmi
device snd_csa
device snd_emu10kx
device snd_es137x
device snd_hda
device snd_ich
device snd_via8233
device mmc
device mmcsd
device sdhci
device rtsx
device virtio
device virtio_pci
device vtnet
device virtio_blk
device virtio_scsi
device virtio_balloon
device kvm_clock
device hyperv
device xenpci
device netmap
device evdev
device uinput
device hid
device smbus
device smb
device intpm
device imcsmb
device ipmi
device nvram
device dpms
device atpic
device mptable
device acpi_hp
~~~
This kernel build had also used the following, in files locally included under
/usr/src/sys/amd64/conf/
~~~~
nooptions WITNESS
nooptions WITNESS_KDB
nooptions WITNESS_SKIPSPIN
nooptions LOCK_PROFILING
nooptions CALLOUT_PROFILING
nooptions SLEEPQUEUE_PROFILING
nooptions TURNSTILE_PROFILING
nooptions UMTX_PROFILING
nooptions MBUF_PROFILING
nooptions INVARIANTS
nooptions INVARIANT_SUPPORT
~~~~
I'll try adding the options recommended above
~~~~
makeoptions BUILD_OPTIMIZED=NO
makeoptions COPTFLAGS=-O0
~~~~
--
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.