Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hypridle Core Dumped - Illegal Hardware Instruction #68

Open
ksolowoniuk opened this issue Jun 11, 2024 · 3 comments
Open

Hypridle Core Dumped - Illegal Hardware Instruction #68

ksolowoniuk opened this issue Jun 11, 2024 · 3 comments

Comments

@ksolowoniuk
Copy link

ksolowoniuk commented Jun 11, 2024

Hi there, I'm running Hyprland on Freebsd 14.1. Everything has been really good but I can't get Hypridle to work. exec-once = hypridle leaves a coredump in my home directory. The following is what I get trying to run hypridle from the terminal:

// hypridle
[LOG] Registered timeout rule for 60s:
on-timeout: hyprctl dispatch dpms off
on-resume: hyprctl dispatch dpms on
[LOG] Registered timeout rule for 120s:
on-timeout: loginctl lock-session
on-resume:
[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_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: 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: hyprland_toplevel_export_manager_v1 v2
[LOG] | got iface: zwp_text_input_manager_v1 v1
[LOG] | got iface: hyprland_global_shortcuts_manager_v1 v1
[LOG] | got iface: zwlr_screencopy_manager_v1 v3
[LOG] | got iface: wl_shm v1
[LOG] | got iface: wl_drm v2
[LOG] | got iface: zwp_linux_dmabuf_v1 v4
[LOG] | got iface: wl_compositor v6
[LOG] | got iface: wl_subcompositor v1
[LOG] | got iface: wl_data_device_manager v3
[LOG] | got iface: zwlr_export_dmabuf_manager_v1 v1
[LOG] | got iface: zwlr_data_control_manager_v1 v2
[LOG] | got iface: zwp_primary_selection_device_manager_v1 v1
[LOG] | got iface: wp_viewporter v1
[LOG] | got iface: xdg_wm_base v6
[LOG] | got iface: wl_seat v9
[LOG] > Bound to wl_seat v9
[LOG] | got iface: wp_presentation v1
[LOG] | got iface: zwlr_layer_shell_v1 v4
[LOG] | got iface: org_kde_kwin_server_decoration_manager v1
[LOG] | got iface: wp_drm_lease_device_v1 v1
[LOG] | got iface: zwp_tablet_manager_v2 v1
[LOG] | got iface: zxdg_exporter_v1 v1
[LOG] | got iface: zxdg_importer_v1 v1
[LOG] | got iface: zxdg_exporter_v2 v1
[LOG] | got iface: zxdg_importer_v2 v1
[LOG] | got iface: wp_single_pixel_buffer_manager_v1 v1
[LOG] | got iface: xwayland_shell_v1 v1
[LOG] | got iface: wl_output v4
[LOG] found 2 rules
[LOG] wayland done, registering dbus
[LOG] Using dbus path /org/freedesktop/ConsoleKit/Session2
zsh: illegal hardware instruction (core dumped) hypridle

hypridle.core

@vaxerski
Copy link
Member

please don't post core files, they are useless.

Anyways, illegal hardware instruction errors are impossible to be produced by C++ code, which likely means your hyprlock is compiled wrong. Please pull git and compile manually.

@vaxerski vaxerski closed this as not planned Won't fix, can't repro, duplicate, stale Jun 11, 2024
@xorander00
Copy link

xorander00 commented Oct 22, 2024

LLDB'ed a debug build and figured out it's the same issue as hyprwm/xdg-desktop-portal-hyprland#207

FreeBSD's libc is catching a call to mutex::unlock() on a mutex that's not locked. Apparently it's UDB when trying to do that. I can confirm that calling mutex::try_lock() before the while loop at src/core/Hypridle.cpp:134 solves the issue. I hate how hacky it is, but it works for now.

EDIT: Should have probably added the line...

// src/core/Hypridle.cpp:134
m_sEventLoopInternals.loopRequestMutex.try_lock();
while (1) {
  // ...
}

@vaxerski
Copy link
Member

ok that is stupid, it should abort...

@vaxerski vaxerski reopened this Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants