maintainer-feedback requested: [Bug 295605] Konsole 26.04.1 uses 100% CPU on FreeBSD 15 while resolving file descriptor paths through ZFS

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue May 26 09:42:42 BST 2026


Bugzilla Automation <bugzilla at FreeBSD.org> has asked freebsd-kde (group)
<kde at FreeBSD.org> for maintainer-feedback:
Bug 295605: Konsole 26.04.1 uses 100% CPU on FreeBSD 15 while resolving file
descriptor paths through ZFS
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295605



--- Description ---
On FreeBSD 15.0-RELEASE-p4, Konsole can become stuck using one full CPU core.
The affected process is Konsole itself, not the shell or build process running
inside the terminal.

  In my case, Konsole was hosting a root portupgrade session building llvm19.
The build was running under ninja -j20 -v all, but at the time of inspection
the ninja process was not
  consuming CPU. Konsole PID 40989 was using about 99% CPU and had around 2.1
GB RSS.

  The kernel stack for the busy Konsole thread repeatedly showed
sysctl_kern_proc_filedesc resolving vnode paths through ZFS:

  40989 117275 konsole - fzap_cursor_retrieve+0x349
  zap_cursor_retrieve+0x1e6
  zap_value_search+0x8f
  zfs_znode_parent_and_name+0xbf
  zfs_vptocnp+0x1cd
  vn_vptocnp+0x17f
  vn_fullpath_dir+0x102
  vn_fullpath_any+0x59
  vn_fullpath+0xd2
  vn_fill_kinfo_vnode+0x41
  vn_fill_kinfo+0x45
  export_file_to_kinfo+0x144
  kern_proc_filedesc_out+0x387
  sysctl_kern_proc_filedesc+0x8d
  sysctl_root_handler_locked+0x91
  sysctl_root+0x2a5
  userland_sysctl+0x188
  sys___sysctl+0x65

  Other Konsole threads were sleeping in poll/select:

  40989 267255 konsole QDBusConnectionMana sleep/select
  40989 267256 konsole QXcbEventQueue	   sleep/select

  This suggests that Konsole is repeatedly querying process file descriptor
information, and the FreeBSD kernel is spending a full CPU core resolving file
descriptor paths through
  ZFS.

System Information

  FreeBSD dal 15.0-RELEASE-p4 FreeBSD 15.0-RELEASE-p4 GENERIC amd64

  Konsole package:

  konsole-26.04.1
  Origin: x11/konsole
  Architecture: FreeBSD:15:amd64
  Repository: FreeBSD-ports
  Build timestamp: 2026-05-19T02:18:35+0000

  Process Tree

  /usr/local/bin/konsole PID 40989
    /usr/local/bin/bash
      su -
	-su
	  ruby33: portupgrade: [42/123] llvm19-19.1.7_2
	    /usr/bin/script -qa /tmp/portupgrade... make
	      make
		/bin/sh -e /tmp/make...
		  ninja -j20 -v all

  At the time of inspection:

  PID 40989 konsole: ~99% CPU
  PID 89215 ninja:   ~0% CPU

  There were several defunct child processes below ninja, but they were not
consuming CPU.

  Observed Behavior
  Konsole uses one full CPU core continuously. The active running thread is in
sysctl_kern_proc_filedesc and ZFS path resolution.

  Expected Behavior
  Konsole should not continuously burn a full CPU core while a child process is
idle or waiting, and it should not repeatedly trigger expensive file descriptor
path lookups.

  Possible Trigger
  The issue appeared while running a verbose FreeBSD ports build through
portupgrade, specifically during llvm19 build with ninja -j20 -v all. The
terminal likely had substantial
  scrollback/output history.

  Diagnostic Commands Used

  ps -p 40989 -o pid,ppid,pgid,sid,stat,pcpu,pmem,etime,comm,args
  pstree -p 40989 -w
  procstat -kk 40989
  procstat -t 40989
  procstat -f 40989
  procstat -r 40989 89215 41063
  pkg info konsole
  freebsd-version -kru

  Question
  Is Konsole expected to query kern.proc.filedesc repeatedly for the foreground
session or current directory tracking on FreeBSD? If so, could this be
throttled, cached, or avoided
  when path resolution becomes expensive? Alternatively, this may expose a
FreeBSD/ZFS performance issue in vn_fullpath/zfs_vptocnp when called through
sysctl_kern_proc_filedesc.


More information about the kde-freebsd mailing list