Kworker causing freezes

Hello folks,
I'm currently troubleshooting an issue with my copy of Zorin OS 17 Pro. It seems a kworker process is occasionally causing my PC to freeze. I can get the freeze to reliably occur when I switch between a couple of tabs in Firefox, then switch to a tab which has YouTube playing a video. The perf report returned this as its top items:

Perf Report
  • 15.96% 0.00% swapper [kernel.kallsyms] [k] secondary_startup_64_no_verify
  • 15.95% 0.03% swapper [kernel.kallsyms] [k] cpu_startup_entry
  • 15.83% 0.14% swapper [kernel.kallsyms] [k] do_idle
  • 14.92% 0.00% swapper [kernel.kallsyms] [k] start_secondary
  • 13.96% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] ret_from_fork_asm
  • 13.96% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] ret_from_fork
  • 13.96% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] kthread
  • 13.96% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] worker_thread
  • 13.95% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] process_one_work
  • 13.93% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] commit_work
  • 13.93% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] commit_tail
  • 13.90% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] amdgpu_dm_atomic_commit_tail
  • 13.80% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] amdgpu_dm_commit_planes.constprop.0
  • 13.67% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] dcn3_update_clocks
  • 13.67% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] dcn30_smu_set_hard_min_by_freq
  • 13.65% 0.10% kworker/u32:6-f [kernel.kallsyms] [k] dcn30_smu_send_msg_with_param
  • 13.50% 0.13% swapper [kernel.kallsyms] [k] cpuidle_idle_call
  • 13.36% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] dc_update_planes_and_stream
  • 13.34% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] commit_planes_for_stream
  • 13.25% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] dcn30_prepare_bandwidth
  • 13.25% 0.00% kworker/u32:6-f [kernel.kallsyms] [k] dcn20_prepare_bandwidth
  • 13.24% 6.98% kworker/u32:6-f [kernel.kallsyms] [k] delay_halt_mwaitx
  • 12.37% 0.53% kworker/u32:6-f [kernel.kallsyms] [k] delay_halt.part.0
  • 12.32% 0.06% kworker/u32:6-f [kernel.kallsyms] [k] __const_udelay
  • 12.31% 5.74% kworker/u32:6-f [kernel.kallsyms] [k] delay_halt
  • 12.00% 0.05% swapper [kernel.kallsyms] [k] call_cpuidle
  • 11.94% 0.03% swapper [kernel.kallsyms] [k] cpuidle_enter
  • 11.76% 0.20% swapper [kernel.kallsyms] [k] cpuidle_enter_state
  • 5.08% 0.06% swapper [kernel.kallsyms] [k] acpi_idle_enter
  • 4.62% 0.05% swapper [kernel.kallsyms] [k] acpi_idle_enter_bm
  • 4.01% 0.04% swapper [kernel.kallsyms] [k] acpi_read_bit_register
  • 3.87% 3.81% swapper [kernel.kallsyms] [k] acpi_os_read_port
  • 3.39% 0.02% conky [kernel.kallsyms] [k] entry_SYSCALL_64_after_hwframe
  • 3.37% 0.04% conky [kernel.kallsyms] [k] do_syscall_64
  • 3.02% 0.00% gnome-shell [unknown] [k] 0000000000000000
  • 2.44% 0.02% swapper [kernel.kallsyms] [k] acpi_hw_register_read
  • 2.27% 0.03% swapper [kernel.kallsyms] [k] asm_sysvec_apic_timer_interrupt
  • 2.23% 0.02% swapper [kernel.kallsyms] [k] sysvec_apic_timer_interrupt
  • 2.14% 0.02% gnome-shell [kernel.kallsyms] [k] entry_SYSCALL_64_after_hwframe
  • 2.12% 0.04% gnome-shell [kernel.kallsyms] [k] do_syscall_64
  • 2.11% 0.05% swapper [kernel.kallsyms] [k] asm_sysvec_call_function_single
  • 1.92% 0.06% swapper [kernel.kallsyms] [k] sysvec_call_function_single
  • 1.60% 0.02% swapper [kernel.kallsyms] [k] irq_exit_rcu
  • 1.56% 0.05% swapper [kernel.kallsyms] [k] __irq_exit_rcu
  • 1.54% 0.03% swapper [kernel.kallsyms] [k] schedule_idle
  • 1.53% 0.24% swapper [kernel.kallsyms] [k] __schedule
  • 1.51% 0.05% swapper [kernel.kallsyms] [k] acpi_hw_read
  • 1.49% 0.09% swapper [kernel.kallsyms] [k] __flush_smp_call_function_queue
  • 1.44% 0.05% swapper [kernel.kallsyms] [k] sched_ttwu_pending
  • 1.39% 0.04% kworker/u32:6-f [kernel.kallsyms] [k] dm_read_reg_func
  • 1.38% 0.02% swapper [kernel.kallsyms] [k] __do_softirq
  • 1.38% 0.03% swapper [kernel.kallsyms] [k] __sysvec_call_function_single
  • 1.36% 0.00% swapper [kernel.kallsyms] [k] asm_common_interrupt
  • 1.36% 0.01% swapper [kernel.kallsyms] [k] common_interrupt
  • 1.35% 0.09% kworker/u32:6-f [kernel.kallsyms] [k] amdgpu_cgs_read_register
  • 1.34% 0.02% swapper [kernel.kallsyms] [k] generic_smp_call_function_single_interrupt
  • 1.32% 0.02% conky libc.so.6 [.] seteuid
  • 1.31% 0.03% kworker/u32:6-f [kernel.kallsyms] [k] amdgpu_device_rreg
  • 1.29% 0.06% swapper [kernel.kallsyms] [k] ttwu_do_activate
  • 1.28% 0.00% Isolated Web Co [unknown] [.] 0000000000000000
  • 1.20% 0.00% conky [kernel.kallsyms] [k] __x64_sys_openat
  • 1.18% 0.01% gnome-shell libc.so.6 [.] recvmmsg
  • 1.18% 0.03% conky [kernel.kallsyms] [k] do_sys_openat2
  • 1.16% 0.01% swapper [kernel.kallsyms] [k] __sysvec_apic_timer_interrupt
  • 1.16% 0.06% swapper [kernel.kallsyms] [k] enqueue_task
  • 1.13% 0.04% swapper [kernel.kallsyms] [k] hrtimer_interrupt
  • 1.13% 0.59% swapper [kernel.kallsyms] [k] srso_alias_safe_ret
  • 1.10% 0.39% swapper [kernel.kallsyms] [k] menu_select
  • 1.09% 0.03% swapper [kernel.kallsyms] [k] cpuidle_select
  • 1.08% 0.00% gnome-shell [unknown] [k] 0x0000000100000006
  • 1.07% 0.00% conky libc.so.6 [.] 0x0000785ea791481c

The delay_halt symbols seems to be the likely culprits of the freezing, but trying to get any information on them has yielded few relevant results on Google. Any help on this would be much appreciated.

Have you checked the log app after a freeze?

Hello all, I did further testing, and this same exact problem persisted between multiple complete reinstalls (I also verified the integrity of my ISO images). At his point I assumed this was an edge-case bug with the 6.5.0 kernel and my specific setup. After upgrading the kernel to 6.8.12 this problem has disappeared. Just in case anyone in the future comes across this thread...

1 Like

Great! :slight_smile:
I marked the solution post.