Hypridle core dump

Hi folks, I am trying to use hypridle (installed via pkg) to lock my screen after certain amount of time.
It cannot start, printing the following message before the core dump.

The binary does not have debug symbols, so I cannot bt the core file.

Is there any simple fix? Thanks!
Code:
$ hypridle 
[LOG] Registered timeout rule for 500s:
      on-timeout: notify-send "You are idle!"
      on-resume: notify-send "Welcome back!"
[LOG]   | got iface: wl_seat v9
[LOG]    > Bound to wl_seat v9
[LOG]   | got iface: wl_data_device_manager v3
[LOG]   | got iface: wl_compositor v6
[LOG]   | got iface: wl_subcompositor v1
[LOG]   | got iface: wl_shm v1
[LOG]   | got iface: wp_viewporter v1
[LOG]   | got iface: wp_tearing_control_manager_v1 v1
[LOG]   | got iface: wp_fractional_scale_manager_v1 v1
[LOG]   | got iface: zxdg_output_manager_v1 v3
[LOG]   | got iface: wp_cursor_shape_manager_v1 v1
[LOG]   | got iface: zwp_idle_inhibit_manager_v1 v1
[LOG]   | got iface: zwp_relative_pointer_manager_v1 v1
[LOG]   | got iface: zxdg_decoration_manager_v1 v1
[LOG]   | got iface: wp_alpha_modifier_v1 v1
[LOG]   | got iface: zwlr_gamma_control_manager_v1 v1
[LOG]   | got iface: ext_foreign_toplevel_list_v1 v1
[LOG]   | got iface: zwp_pointer_gestures_v1 v3
[LOG]   | got iface: zwlr_foreign_toplevel_manager_v1 v3
[LOG]   | got iface: zwp_keyboard_shortcuts_inhibit_manager_v1 v1
[LOG]   | got iface: zwp_text_input_manager_v1 v1
[LOG]   | got iface: zwp_text_input_manager_v3 v1
[LOG]   | got iface: zwp_pointer_constraints_v1 v1
[LOG]   | got iface: zwlr_output_power_manager_v1 v1
[LOG]   | got iface: xdg_activation_v1 v1
[LOG]   | got iface: ext_idle_notifier_v1 v1
[LOG]    > Bound to ext_idle_notifier_v1 v1
[LOG]   | got iface: hyprland_lock_notifier_v1 v1
[LOG]   | got iface: ext_session_lock_manager_v1 v1
[LOG]   | got iface: zwp_input_method_manager_v2 v1
[LOG]   | got iface: zwp_virtual_keyboard_manager_v1 v1
[LOG]   | got iface: zwlr_virtual_pointer_manager_v1 v2
[LOG]   | got iface: zwlr_output_manager_v1 v4
[LOG]   | got iface: org_kde_kwin_server_decoration_manager v1
[LOG]   | got iface: hyprland_focus_grab_manager_v1 v1
[LOG]   | got iface: zwp_tablet_manager_v2 v1
[LOG]   | got iface: zwlr_layer_shell_v1 v5
[LOG]   | got iface: wp_presentation v1
[LOG]   | got iface: xdg_wm_base v6
[LOG]   | got iface: zwlr_data_control_manager_v1 v2
[LOG]   | got iface: zwp_primary_selection_device_manager_v1 v1
[LOG]   | got iface: xwayland_shell_v1 v1
[LOG]   | got iface: zwlr_screencopy_manager_v1 v3
[LOG]   | got iface: hyprland_toplevel_export_manager_v1 v2
[LOG]   | got iface: hyprland_global_shortcuts_manager_v1 v1
[LOG]   | got iface: xdg_dialog_v1 v1
[LOG]   | got iface: wp_single_pixel_buffer_manager_v1 v1
[LOG]   | got iface: wp_security_context_manager_v1 v1
[LOG]   | got iface: hyprland_ctm_control_manager_v1 v1
[LOG]   | got iface: hyprland_surface_manager_v1 v2
[LOG]   | got iface: wp_drm_lease_device_v1 v1
[LOG]   | got iface: wp_linux_drm_syncobj_manager_v1 v1
[LOG]   | got iface: wl_drm v2
[LOG]   | got iface: zwp_linux_dmabuf_v1 v5
[LOG]   | got iface: wl_output v4
[LOG]   | got iface: wl_output v4
[LOG] found 1 rules
[LOG] wayland done, registering dbus
[WARN] Couldn't connect to consolekit2 service ([org.freedesktop.DBus.Error.InvalidArgs] Type of message, “(s)”, does not match expected type “(u)”)
[LOG] Using dbus path
[WARN] Couldn't retrieve current systemd inhibits ([org.freedesktop.DBus.Error.InvalidArgs] No such property “BlockInhibited”)
zsh: illegal hardware instruction (core dumped)  hypridle
 
Last edited by a moderator:
After contacting the port maintainer, who provides numerous helpful suggestions, I got the following solution

Install "swayidle" instead. Start it during hyprland startup by including the following line

Code:
$ cat .config/hypr/hyprland.conf| grep -i sway
exec-once = swayidle -w

And its config file is as below:

Code:
$ cat .config/swayidle/config
timeout 600 'pgrep hyprlock || hyprlock &'
timeout 1800 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on'

Pay special attention to starting hyprlock by 'hyprlock &', otherwise the 2nd timeout hook won't work and the screen won't turn off after 1800 secs.
 
Last edited by a moderator:
I had the same issue, thanks for the fix. Do you know if the problem was reported upstream by the package manager?
You mean hypridle? I have no knowledge of that.

I tried to build the port on my local machine and still have the core dumps.

I am happy because swayidle already serves the purpose well.
 
This in regard to a nasty little bug that affects (only) us FreeBSD folks. It is a particularly misleading bug, given that it seems to imply something akin to having been built on the wrong CPU architecture -- or something similar due to:
Code:
illegal hardware instruction (core dumped) hypridle

Interestingly, the maintainer of the port (according to Freshports jbeich at least) seems to be unaware(?) of it.
Anyways, the admittedly dirty hacky fix is: https://github.com/hyprwm/hypridle/issues/68#issuecomment-2428697344
TL;DR:
Code:
// src/core/Hypridle.cpp:134
m_sEventLoopInternals.loopRequestMutex.try_lock();
while (1) {
  // ...
}

NOTE: That little snippet of code up ^^^ there, says it is at line 134 -- currently it is, in fact, at line 136 for our current port source code. I can report it fixes the core dump issue & have since not had not a single problem with running Hyprland with hypridle. Apologies for not mentioning this to our community sooner... I've known of the fix since around early November last year. I should have made a report on bugs.freebsd with the fix, although quite honestly what we actually need is a FreeBSD developer to devise a more elegant (correct) approach & patch to the source fix; I like the skill. For what it is worth, I too had switched for a couple weeks to swayidle as well at the time.
Will post to bugzilla now.
 
Back
Top