From: yaydn@protonmail.com Subject: Re: [Update] wayland/niri 26.04 To: Volker Schlecht , "tobhe@openbsd.org" , "ports@openbsd.org" Date: Sun, 05 Jul 2026 10:10:10 +0000 På lørdag 4. juli 2026 kl. 13:21, skrev Volker Schlecht : > Here's an update to the previous proposal that does away with the need to > maintain *any* forked versions of upstream projects. That should make future > updates less involved. > > It also simplifies the README: The default configuration is installed in > ${SYSCONFDIR}/niri so it's not something that needs to be handled manually > anymore. > > On 7/1/26 7:07 PM, Volker Schlecht wrote: > > Here's an update to wayland/niri that I have been running happily for a couple > > of weeks now: > > > > * Update to latest upstream release > > > > * enable dbus feature, and add RUN_DEPENDS on x11/dbus > > > > * replace startniri.sh by niri-session to match the upstream script of the > > same name. That brings us closer to how niri works on Linux > > > > * use dbus-run-session to start the niri session, which takes care of the > > necessary environment variables > > > > * install the default xdg-desktop-portal configuration > > > > * enable pipewire support and screencast support > > > > * add a RUN_DEPENDS on wayland/swaylock, since it's used by the default config > > > > * remove the patch to use wofi in the default config, since we have fuzzel now > > (upstream default); change RUN_DEPENDS accordingly > > > > * remove the render node from the default configuration (it's not needed since > > the last port update) > > > > * @sample the default configuration > > > > * Fix License (It's GPLv3 or later) > > > > Most of the patches needed can now be handled in the port itself, but > > unfortunately Smithay still needs to be patched upstream - the diff pulls it > > from my github repo for testing purposes. > > > > Testing and feedback welcome :) > > > Looks like this subsequent diff continued. // rm'd wayland/niri and then redownloaded it with cvs -q -PdAC // Applied new patch $ cd /usr/ports/wayland/niri/ && patch -l -p0 -E < /tmp/niri-26.04.diff // Built, packaged, tests, checks $ cd /usr/ports/wayland/niri/ && make clean build package test ; make port-lib-depends-check check-shlib-syms ===> Regression tests for niri-26.04 warning: `panic` setting is ignored for `bench` profile Fresh pkg-config v0.3.33 Fresh winnow v1.0.1 Fresh toml_parser v1.1.2+spec-1.1.0 Fresh toml_datetime v1.1.1+spec-1.1.0 Fresh heck v0.5.0 Fresh once_cell v1.21.4 Fresh errno v0.3.14 Fresh autocfg v1.5.0 Fresh target-lexicon v0.13.3 Fresh serde_spanned v1.1.1 Fresh toml v1.1.2+spec-1.1.0 Fresh cfg-expr v0.20.7 Fresh rustix v1.1.4 Fresh version-compare v0.2.1 Fresh system-deps v7.0.8 Fresh shlex v1.3.0 Fresh version_check v0.9.5 Fresh find-msvc-tools v0.1.9 Fresh cc v1.2.60 Fresh pin-project-lite v0.2.17 Fresh serde_derive v1.0.228 Fresh memchr v2.8.0 Fresh slab v0.4.12 Fresh toml_edit v0.25.11+spec-1.1.0 Fresh futures-io v0.3.32 Fresh proc-macro-crate v3.5.0 Fresh futures-core v0.3.32 Fresh smallvec v1.15.1 Fresh crossbeam-utils v0.8.21 Fresh serde_core v1.0.228 Fresh dlib v0.5.3 Fresh enumflags2_derive v0.7.12 Fresh memoffset v0.9.1 Fresh polling v3.11.0 Fresh parking v2.2.1 Fresh wayland-sys v0.31.11 Fresh zvariant_derive v5.9.2 Fresh concurrent-queue v2.5.0 Fresh scoped-tls v1.0.1 Fresh downcast-rs v1.2.1 Fresh wayland-backend v0.3.15 Fresh serde v1.0.228 Fresh quick-xml v0.39.2 Fresh tracing-core v0.1.36 Fresh unicode-ident v1.0.24 Fresh cfg_aliases v0.2.1 Fresh proc-macro2 v1.0.106 Fresh wayland-scanner v0.31.10 Fresh tracing-attributes v0.1.31 Fresh glob v0.3.3 Fresh quote v1.0.45 Fresh tracing v0.1.44 Fresh event-listener v5.4.1 Fresh async-task v4.7.1 Fresh event-listener-strategy v0.5.4 Fresh syn v2.0.117 Fresh getrandom v0.3.4 Fresh futures-lite v2.6.1 Fresh thiserror-impl v1.0.69 Fresh cfg-if v1.0.4 Fresh winnow v0.7.15 Fresh minimal-lexical v0.2.1 Fresh nom v7.1.3 Fresh zvariant_utils v3.3.0 Fresh libloading v0.8.9 Fresh thiserror v1.0.69 Fresh wayland-client v0.31.14 Fresh zerocopy v0.8.48 Fresh libc v0.2.185 Fresh enumflags2 v0.7.12 Fresh unicode-width v0.2.2 Fresh endi v1.1.1 Fresh annotate-snippets v0.11.5 Fresh itertools v0.13.0 Fresh zvariant v5.9.2 Fresh clang-sys v1.8.1 Fresh glib-sys v0.21.5 Fresh libm v0.2.16 Fresh cexpr v0.6.0 Fresh rustc-hash v2.1.2 Fresh bitflags v2.11.1 Fresh bindgen v0.72.1 Fresh num-traits v0.2.19 Fresh async-io v2.6.0 Fresh rustix v0.38.44 Fresh zbus_names v4.3.1 Fresh wayland-server v0.31.13 Fresh signal-hook-registry v1.4.8 Fresh atomic-waker v1.1.2 Fresh piper v0.2.5 Fresh async-signal v0.2.14 Fresh gobject-sys v0.21.5 Fresh async-channel v2.5.0 Fresh async-lock v3.4.2 Fresh quick-xml v0.38.4 Fresh futures-macro v0.3.32 Fresh bytemuck_derive v1.10.2 Fresh utf8parse v0.2.2 Fresh futures-task v0.3.32 Fresh futures-util v0.3.32 Fresh anstyle-parse v1.0.0 Fresh bytemuck v1.25.0 Fresh zbus_xml v5.1.0 Fresh async-process v2.5.0 Fresh blocking v1.6.2 Fresh typenum v1.19.0 Fresh wayland-protocols v0.32.12 Fresh zbus_macros v5.13.2 Fresh async-executor v1.14.0 Fresh async-broadcast v0.7.2 Fresh uuid v1.23.1 Fresh ordered-stream v0.2.0 Fresh serde_repr v0.1.20 Fresh async-trait v0.1.89 Fresh anstyle-query v1.1.5 Fresh hex v0.4.3 Fresh colorchoice v1.0.5 Fresh anstyle v1.0.14 Fresh is_terminal_polyfill v1.70.2 Fresh anstream v1.0.0 Fresh zbus v5.13.2 Fresh generic-array v0.14.7 Fresh zbus-lockstep-macros v0.5.2 Fresh zbus-lockstep v0.5.2 Fresh ahash v0.8.12 Fresh getrandom v0.4.2 Fresh drm-sys v0.8.1 Fresh drm-fourcc v2.2.0 Fresh rand_core v0.9.5 Fresh thiserror-impl v2.0.18 Fresh is-terminal v0.4.17 Fresh strsim v0.11.1 Fresh static_assertions v1.1.0 Fresh xkeysym v0.2.1 Fresh clap_lex v1.1.0 Fresh regex-syntax v0.8.10 Fresh clap_builder v4.6.0 Fresh atspi-common v0.9.0 Fresh thiserror v2.0.18 Fresh drm-ffi v0.9.1 Fresh tempfile v3.27.0 Fresh gio-sys v0.21.5 Fresh khronos_api v3.1.0 Fresh futures-executor v0.3.32 Fresh calloop v0.13.0 Fresh ppv-lite86 v0.2.21 Fresh futures-channel v0.3.32 Fresh glib-macros v0.21.5 Fresh aho-corasick v1.1.4 Fresh clap_derive v4.6.1 Fresh memmap2 v0.9.10 Fresh fastrand v2.4.1 Fresh xml-rs v0.8.28 Fresh cursor-icon v1.2.0 Fresh semver v1.0.28 Fresh xcursor v0.3.10 Fresh log v0.4.29 Fresh gl_generator v0.14.0 Fresh wayland-cursor v0.31.14 Fresh wayland-csd-frame v0.3.0 Fresh phf_generator v0.13.1 Fresh clap v4.6.1 Fresh regex-automata v0.4.14 Fresh glib v0.21.5 Fresh rand_chacha v0.9.0 Fresh calloop-wayland-source v0.3.0 Fresh drm v0.14.1 Fresh nix v0.31.2 Fresh proc-macro-error-attr v1.0.4 Fresh uncased v0.9.10 Fresh libudev-sys v0.1.4 Fresh io-lifetimes v1.0.11 Fresh syn v1.0.109 Fresh crypto-common v0.1.7 Fresh block-buffer v0.10.4 Fresh wayland-protocols-wlr v0.3.12 Fresh gethostname v1.1.0 Fresh smawk v0.3.2 Fresh unicode-width v0.1.14 Fresh unicode-linebreak v0.1.5 Fresh is_ci v1.2.0 Fresh siphasher v1.0.2 Fresh foldhash v0.1.5 Fresh as-raw-xcb-connection v1.0.1 Fresh simd-adler32 v0.3.9 Fresh x11rb-protocol v0.13.2 Fresh allocator-api2 v0.2.21 Fresh hashbrown v0.14.5 Fresh x11rb v0.13.2 Fresh hashbrown v0.15.5 Fresh phf_shared v0.13.1 Fresh supports-color v2.1.0 Fresh textwrap v0.15.2 Fresh heck v0.4.1 Fresh smithay-client-toolkit v0.19.2 Fresh digest v0.10.7 Fresh proc-macro-error v1.0.4 Fresh udev v0.9.3 Fresh calloop v0.14.4 Fresh rand v0.9.4 Fresh pango-sys v0.21.5 Fresh cairo-sys-rs v0.21.5 Fresh libseat-sys v0.2.0 Fresh x11-dl v2.21.0 Fresh phf_macros v0.13.1 Fresh paste v1.0.15 Fresh pixman-sys v0.1.0 Fresh zmij v1.0.21 Fresh input-sys v1.19.0 Fresh gbm-sys v0.4.0 Fresh atspi-proxies v0.9.0 Fresh xkbcommon-dl v0.4.2 Fresh supports-unicode v2.1.0 Fresh supports-hyperlinks v2.1.0 Fresh libspa-sys v0.9.2 Fresh wayland-protocols-plasma v0.3.12 Fresh approx v0.4.0 Fresh profiling-procmacros v1.0.17 Fresh miette-derive v5.10.0 Fresh terminal_size v0.1.17 Fresh percent-encoding v2.3.2 Fresh equivalent v1.0.2 Fresh smol_str v0.2.2 Fresh accesskit v0.21.1 Fresh owo-colors v3.5.0 Fresh raw-window-handle v0.6.2 Fresh cpufeatures v0.2.17 Fresh adler2 v2.0.1 Fresh hashbrown v0.17.0 Fresh unicode-segmentation v1.13.2 Fresh dpi v0.1.2 Fresh itoa v1.0.18 Fresh serde_json v1.0.149 Fresh winit v0.30.13 Fresh convert_case v0.8.0 Fresh indexmap v2.14.0 Fresh miniz_oxide v0.8.9 Fresh sha2 v0.10.9 Fresh miette v5.10.0 Fresh accesskit_consumer v0.31.0 Fresh profiling v1.0.17 Fresh cgmath v0.18.0 Fresh atspi-connection v0.9.0 Fresh gbm v0.18.0 Fresh input v0.10.0 Fresh libdisplay-info-sys v0.3.0 Fresh pixman v0.2.1 Fresh phf v0.13.1 Fresh libseat v0.2.4 Fresh knuffel-derive v3.2.0 Fresh nix v0.30.1 Fresh tracy-client-sys v0.28.0 Fresh crc32fast v1.5.0 Fresh chumsky v0.9.3 Fresh gio v0.21.5 Fresh xkbcommon v0.9.0 Fresh wayland-protocols-misc v0.3.12 Fresh wayland-egl v0.32.11 Fresh crossbeam-epoch v0.9.18 Fresh nom v8.0.0 Fresh libdisplay-info-derive v0.1.1 Fresh cookie-factory v0.3.3 Fresh atomic_float v1.1.0 Fresh option-ext v0.2.0 Fresh lazy_static v1.5.0 Fresh appendlist v1.4.0 Fresh aliasable v0.1.3 Fresh base64 v0.21.7 Fresh knuffel v3.2.0 Fresh smithay v0.7.0 (/usr/ports/pobj/niri-26.04/smithay) warning: unused import: `os::unix::io::AsFd` --> /usr/ports/pobj/niri-26.04/smithay/src/wayland/drm_syncobj/mod.rs:44:5 | 44 | os::unix::io::AsFd, | ^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default warning: unused variable: `device` --> /usr/ports/pobj/niri-26.04/smithay/src/wayland/drm_syncobj/mod.rs:69:33 | 69 | pub fn supports_syncobj_eventfd(device: &DrmDeviceFd) -> bool { | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` | = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default warning: missing documentation for a method --> /usr/ports/pobj/niri-26.04/smithay/src/wayland/drm_syncobj/sync_point.rs:136:5 | 136 | pub fn eventfd(&self) -> io::Result> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the lint level is defined here --> /usr/ports/pobj/niri-26.04/smithay/src/lib.rs:2:9 | 2 | #![warn(missing_docs, missing_debug_implementations, rust_2018_idioms)] | ^^^^^^^^^^^^ warning: `smithay` (lib) generated 3 warnings (run `cargo fix --lib -p smithay` to apply 1 suggestion) Fresh sharded-slab v0.1.7 Fresh dirs-sys v0.5.0 Fresh libspa v0.9.2 Fresh libdisplay-info v0.3.0 Fresh crossbeam-deque v0.8.6 Fresh pango v0.21.5 Fresh flate2 v1.1.9 Fresh tracy-client v0.18.4 Fresh csscolorparser v0.8.3 Fresh atspi v0.25.0 Fresh pipewire-sys v0.9.2 Fresh pangocairo-sys v0.21.5 Fresh accesskit_atspi_common v0.14.2 Fresh niri-ipc v26.4.0 (/usr/ports/pobj/niri-26.04/niri/niri-ipc) Fresh anyhow v1.0.102 Fresh cairo-rs v0.21.5 Fresh fdeflate v0.3.7 Fresh matchers v0.2.0 Fresh regex v1.12.3 Fresh clap_complete v4.6.2 Fresh tracing-log v0.2.0 Fresh thread_local v1.1.9 Fresh git-version-macro v0.3.9 Fresh wait-timeout v0.2.1 Fresh fnv v1.0.7 Fresh nu-ansi-term v0.50.3 Fresh quick-error v1.2.3 Fresh bit-vec v0.8.0 Fresh bit-set v0.8.0 Fresh rusty-fork v0.3.1 Fresh tracing-subscriber v0.3.23 Fresh git-version v0.3.9 Fresh clap_complete_nushell v4.6.0 Fresh niri-config v26.4.0 (/usr/ports/pobj/niri-26.04/niri/niri-config) Fresh png v0.18.1 Fresh pangocairo v0.21.5 Fresh pipewire v0.9.2 Fresh accesskit_unix v0.17.2 Fresh rayon-core v1.13.0 Fresh smithay-drm-extras v0.1.0 (/usr/ports/pobj/niri-26.04/smithay/smithay-drm-extras) Fresh directories v6.0.0 Fresh rand_xorshift v0.4.0 Fresh atomic v0.6.1 Fresh ordered-float v5.3.0 Fresh keyframe v1.1.1 Fresh sd-notify v0.5.0 Fresh console v0.16.3 Fresh similar v2.7.0 Fresh glam v0.32.1 Fresh xshell-macros v0.2.7 Fresh arrayvec v0.7.6 Fresh unarray v0.1.4 Fresh either v1.15.0 Fresh rayon v1.12.0 Fresh proptest v1.11.0 Fresh xshell v0.2.7 Fresh insta v1.47.2 Fresh calloop-wayland-source v0.4.1 Fresh approx v0.5.1 Fresh proptest-derive v0.8.0 Fresh niri v26.4.0 (/usr/ports/pobj/niri-26.04/niri) Finished `release` profile [optimized] target(s) in 8.41s Running `/usr/ports/pobj/niri-26.04/target/release/deps/niri-a1e0eca78d504c6a` running 195 tests test animation::clock::tests::rate_change ... ok test animation::spring::tests::overdamped_spring_duration_panic ... ok test animation::spring::tests::overdamped_spring_equal_from_to_nan ... ok test animation::clock::tests::frozen_clock ... ok test backend::tty::tests::test_calc_cvt ... ok test backend::tty::tests::test_calculate_drmmode_from_modeline ... ok test input::tests::bindings_suppress_keys ... ok test input::tests::comp_mod_handling ... ok test ipc::client::tests::test_fmt_rounded ... ok test layout::scrolling::tests::large_fractional_strut ... ok test layout::scrolling::tests::working_area_starts_at_physical_pixel ... ok test layout::tests::add_and_remove_output ... ok test layout::tests::add_window_next_to_only_interactively_moved_without_outputs ... ok test layout::tests::animations::clientside_height_change_doesnt_animate ... ok test layout::tests::animations::clientside_height_change_during_another_y_anim ... ok test layout::tests::animations::height_resize_and_back ... ok test layout::tests::animations::height_resize_and_back_during_another_y_anim ... ok test layout::tests::animations::height_resize_and_cancel ... ok test layout::tests::animations::height_resize_and_cancel_during_another_y_anim ... ok test layout::tests::animations::height_resize_animates_next_y ... ok test dbus::mutter_display_config::tests::test_format_diagonal ... ok test layout::tests::animations::height_resize_before_another_y_anim_then_cancel ... ok test layout::tests::animations::height_resize_cancel_with_stationary_second_window ... ok test layout::tests::animations::width_resize_and_cancel ... ok test layout::tests::animations::width_resize_and_cancel_of_column_to_the_left ... ok test layout::tests::close_window_empty_ws_above_first ... ok test layout::tests::config_change_updates_cached_sizes ... ok test layout::tests::animations::height_resize_before_another_y_anim_then_back ... ok test layout::tests::empty_workspaces_dont_move_back_to_original_output ... ok test layout::tests::expel_pending_left_from_fullscreen_tabbed_column ... ok test layout::tests::fullscreen::disable_tabbed_mode_in_fullscreen ... ok test layout::tests::fullscreen::fullscreen ... ok test layout::tests::fullscreen::fullscreen_to_windowed_fullscreen ... ok test layout::tests::fullscreen::interactive_move_restore_to_floating_animates_view_offset ... ok test layout::tests::fullscreen::interactive_move_unfullscreen_to_floating_stops_dnd_scroll ... ok test layout::tests::fullscreen::interactive_resize_on_pending_unfullscreen_column ... ok test layout::tests::fullscreen::move_pending_unfullscreen_window_out_of_active_column ... ok test layout::tests::fullscreen::move_unfocused_pending_unfullscreen_window_out_of_active_column ... ok test layout::tests::fullscreen::one_window_in_column_becomes_weight_1_after_fullscreen ... ok test layout::tests::fixed_height_takes_max_non_auto_into_account ... ok test layout::tests::fullscreen::removing_only_fullscreen_tile_updates_view_offset ... ok test layout::tests::fullscreen::unfullscreen_of_tabbed_preserves_view_pos ... ok test layout::tests::fullscreen::unfullscreen_preserves_view_pos ... ok test layout::tests::fullscreen::unfullscreen_of_tabbed_via_change_to_normal_preserves_view_pos ... ok test layout::tests::fullscreen::unfullscreen_view_offset_not_reset_during_dnd_gesture ... ok test layout::tests::fullscreen::unfullscreen_view_offset_not_reset_during_gesture ... ok test layout::tests::fullscreen::unfullscreen_view_offset_not_reset_during_ongoing_gesture ... ok test layout::tests::fullscreen::unfullscreen_view_offset_not_reset_on_gesture ... ok test layout::tests::fullscreen::unfullscreen_view_offset_not_reset_on_consume ... ok test layout::tests::fullscreen::unfullscreen_view_offset_not_reset_on_quick_double_toggle ... ok test layout::tests::fullscreen::unfullscreen_view_offset_not_reset_on_removal ... ok test layout::tests::fullscreen::unfullscreen_view_offset_set_on_fullscreening_inactive_tile_in_column ... ok test layout::tests::fullscreen::unfullscreen_window_in_column ... ok test layout::tests::fullscreen::unfullscreen_with_large_border ... ok test layout::tests::fullscreen::windowed_fullscreen_to_fullscreen ... ok test layout::tests::interactive_move_drop_on_other_output_during_animation ... ok test layout::tests::interactive_move_from_workspace_with_layout_config ... ok test layout::tests::interactive_move_onto_empty_output_ewaf ... ok test layout::tests::interactive_move_onto_first_empty_workspace ... ok test layout::tests::interactive_move_onto_last_workspace ... ok test layout::tests::interactive_move_toggle_floating_ends_dnd_gesture ... ok test layout::tests::interactive_resize_to_negative ... ok test layout::tests::large_max_size ... ok test layout::tests::large_negative_height_change ... ok test layout::tests::move_column_to_workspace_down_focus_false_on_floating_window ... ok test layout::tests::move_column_to_workspace_focus_false_on_floating_window ... ok test layout::tests::interactive_move_onto_empty_output ... ok test layout::tests::move_column_to_workspace_maximize_and_fullscreen ... ok test layout::tests::move_column_to_workspace_unfocused_with_multiple_monitors ... ok test layout::tests::move_to_workspace_by_idx_does_not_leave_empty_workspaces ... ok test layout::tests::move_window_to_different_output ... ok test layout::tests::move_window_to_empty_workspace_above_first ... ok test layout::tests::move_window_to_workspace_maximize_and_fullscreen ... ok test layout::tests::move_window_to_workspace_with_different_active_output ... ok test layout::tests::move_workspace_to_output ... ok test layout::tests::move_workspace_to_same_monitor_doesnt_reorder ... ok test layout::tests::named_workspace_to_output ... ok test layout::tests::named_workspace_to_output_ewaf ... ok test layout::tests::named_workspaces_dont_update_original_output_on_adding_window ... ok test layout::tests::open_right_of_on_different_workspace ... ok test layout::tests::one_window_in_column_becomes_weight_1 ... ok test layout::tests::operations_dont_panic ... ok test layout::tests::operations_from_starting_state_dont_panic ... ok test layout::tests::output_active_workspace_is_preserved ... ok test layout::tests::output_active_workspace_is_preserved_with_other_outputs ... ok test layout::tests::preset_column_width_fixed_correct_with_border ... ok test layout::tests::preset_column_width_reset_after_set_width ... ok test layout::tests::preset_height_change_removes_preset ... ok test layout::tests::primary_active_workspace_idx_not_updated_on_output_add ... ok test layout::tests::open_right_of_on_different_workspace_ewaf ... ok test layout::tests::removing_all_outputs_preserves_empty_named_workspaces ... ok test layout::tests::removing_output_must_keep_empty_focus_on_primary ... ok test layout::tests::removing_window_above_preserves_focused_window ... ok test layout::tests::restore_to_floating_persists_across_fullscreen_maximize ... ok test layout::tests::random_operations_dont_panic ... ok test layout::tests::set_first_workspace_name_ewaf ... ok test layout::tests::set_height_fixed_negative ... ok test layout::tests::set_first_workspace_name ... ok test layout::tests::set_last_workspace_name ... ok test layout::tests::set_width_fixed_negative ... ok test layout::tests::stacking_activate_brings_up_descendants ... ok test layout::tests::set_window_height_recomputes_to_auto ... ok test layout::tests::stacking_add_parent_brings_up_child ... ok test layout::tests::stacking_set_parent_brings_up_child ... ok test layout::tests::stacking_add_parent_brings_up_descendants ... ok test layout::tests::start_interactive_move_then_remove_window ... ok test layout::tests::switch_ewaf_on ... ok test layout::tests::switch_ewaf_off ... ok test layout::tests::tabs_with_different_border ... ok test layout::tests::unmaximize_during_fullscreen_does_not_float ... ok test layout::tests::window_closed_on_previous_workspace ... ok test layout::tests::windows_on_other_workspaces_remain_activated ... ok test layout::tests::workspace_cleanup_during_switch ... ok test layout::tests::workspace_render_geo_at_fractional_scale ... ok test layout::tests::workspace_transfer_during_switch ... ok test layout::tests::workspace_transfer_during_switch_gets_cleaned_up ... ok test layout::tests::workspaces_update_original_output_on_moving_to_same_monitor ... ok test layout::tests::workspaces_update_original_output_on_moving_to_same_output ... ok test layout::tests::workspace_transfer_during_switch_from_last ... ok Failed to create /niri-26.04_writes_to_HOME for shader cache (Permission denied)---disabling. Failed to create /niri-26.04_writes_to_HOME for shader cache (Permission denied)---disabling. test tests::animations::egl_clientside_height_change_doesnt_animate ... ok test tests::floating::floating_doesnt_store_fullscreen_size ... ok test tests::animations::egl_height_resize_animates_next_y ... ok test tests::floating::floating_doesnt_store_maximized_size ... ok test tests::floating::floating_respects_non_fixed_min_max_rule ... ok test tests::floating::interactive_move_restores_floating_size_when_set_to_floating ... ok test tests::floating::interactive_move_unfullscreen_to_floating_restores_size ... ok test tests::floating::interactive_move_unmaximize_to_floating_restores_size ... ok test tests::floating::moving_across_workspaces_doesnt_cancel_resize ... ok test tests::floating::moving_to_floating_doesnt_cancel_resize ... ok test tests::floating::repeated_size_request ... ok test tests::floating::resize_during_interactive_move_propagates_to_floating ... ok test tests::floating::resize_in_steps ... ok test tests::floating::resize_to_different_size ... ok test tests::floating::resize_to_different_then_same ... ok test tests::floating::resize_to_same_size ... ok test tests::floating::restore_floating_size ... ok test tests::floating::set_window_width_uses_current_height ... ok test tests::floating::set_window_height_uses_current_width ... ok test tests::floating::state_change_doesnt_break_use_window_size ... ok test tests::floating::unfocus_preserves_current_size ... ok test tests::floating::unfullscreen_to_floating_doesnt_send_extra_configure ... ok test tests::floating::unfullscreen_to_same_size_floating ... ok test tests::floating::unfullscreen_to_same_size_same_bounds_floating ... ok test tests::floating::unfullscreen_to_same_size_windowed_fullscreen_floating ... ok test tests::floating::unmap_from_floating ... ok test tests::floating::unmaximize_to_floating_doesnt_send_extra_configure ... ok test tests::floating::unmaximize_to_same_size_floating ... ok test tests::floating::unmaximize_to_same_size_same_bounds_floating ... ok test tests::floating::unmaximize_to_same_size_windowed_fullscreen_floating ... ok test tests::fullscreen::interactive_move_unfullscreen_to_scrolling_restores_size ... ok test tests::fullscreen::interactive_move_unmaximize_to_scrolling_restores_size ... ok test tests::fullscreen::unfullscreen_before_fullscreen_ack_doesnt_prevent_view_offset_save_restore ... ok test tests::fullscreen::windowed_fullscreen ... ok test tests::fullscreen::windowed_fullscreen_chain ... ok test tests::layer_shell::margin_overflow ... ok test tests::layer_shell::multiple_commits_before_mapping ... ok test tests::layer_shell::simple_top_anchor ... ok test tests::remove_output::set_fullscreen_on_removed_output_does_not_panic ... ok test tests::layer_shell::unmap_through_null_buffer ... ok test tests::transactions::column_resize_waits_for_both_windows ... ok error in client communication (pid 53989) xdg_surface#10: error 3: must ack the initial configure before attaching buffer test tests::window_opening::dont_ack_initial_configure - should panic ... ok test tests::window_opening::simple ... ok test tests::window_opening::simple_no_workspaces ... ok test tests::window_opening::fullscreen_maximize ... ok test tests::window_opening::target_size ... ok test ui::hotkey_overlay::tests::test_format_bind ... ok test ui::mru::tests::random_operations_dont_panic ... ok test ui::mru::tests::remove_last_window_out_of_two ... ok test utils::region::tests::non_overlapping_output ... ok test utils::region::tests::test_region_to_non_overlapping_rects ... ok test utils::scale::tests::guess_monitor_scale_unknown_size ... ok test utils::scale::tests::test_guess_monitor_scale ... ok test utils::scale::tests::test_round_scale ... ok test utils::tests::test_clamp_preferring_top_left ... ok test utils::watcher::tests::broken_include_still_gets_watched ... ok test utils::watcher::tests::change_file ... ok test utils::watcher::tests::change_file_in_linked_dir ... ok test utils::watcher::tests::change_included_file ... ok test utils::watcher::tests::change_linked_file ... ok test utils::watcher::tests::create_dir_and_file ... ok test utils::watcher::tests::create_file ... ok test utils::watcher::tests::nested_includes ... ok test utils::watcher::tests::overwrite_but_dont_change_file ... ok test utils::watcher::tests::recreate_dir ... ok test utils::watcher::tests::recreate_file ... ok test utils::watcher::tests::remove_dir ... ok test utils::watcher::tests::remove_file ... ok test utils::watcher::tests::remove_included_file ... ok test utils::watcher::tests::swap_dir ... ok test utils::watcher::tests::swap_dir_link ... ok test utils::watcher::tests::swap_just_link ... ok test utils::watcher::tests::swap_many_links_regular_like_nix ... FAILED test utils::watcher::tests::swap_many_regular ... ok test utils::watcher::tests::touch_file ... ok thread '' (554026) panicked at src/tests/client.rs:162:47: called `Result::unwrap()` on an `Err` value: IoError(Os { code: 24, kind: Uncategorized, message: "Too many open files" }) stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x66579a259d7 - niri::tests::client::Client::new::hb9799cab7f107440 13: 0x665796c0724 - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 14: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 15: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 16: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 17: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 18: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 19: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 20: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 21: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 22: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 23: 0x66579b4d1bc - as rayon_core::job::Job>::execute::h64f2f6ba1fa1746b 24: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 25: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 26: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 27: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 28: 0x6657a312512 - ::new::thread_start 29: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 30: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (519765) panicked at src/tests/fixture.rs:109:65: called `Result::unwrap()` on an `Err` value: Os { code: 24, kind: Uncategorized, message: "Too many open files" } stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x665796c0970 - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 13: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 14: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 15: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 16: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 17: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 18: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 19: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 20: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 21: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 22: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 23: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 24: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 25: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 26: 0x6657a312512 - ::new::thread_start 27: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 28: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (519765) panicked at src/tests/fixture.rs:109:65: called `Result::unwrap()` on an `Err` value: Os { code: 24, kind: Uncategorized, message: "Too many open files" } stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x665796c0970 - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 13: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 14: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 15: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 16: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 17: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 18: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 19: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 20: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 21: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 22: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 23: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 24: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 25: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 26: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 27: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 28: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 29: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 30: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 31: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 32: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 33: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 34: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 35: 0x6657a312512 - ::new::thread_start 36: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 37: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (519765) panicked at src/tests/client.rs:162:47: called `Result::unwrap()` on an `Err` value: IoError(Os { code: 24, kind: Uncategorized, message: "Too many open files" }) stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x66579a259d7 - niri::tests::client::Client::new::hb9799cab7f107440 13: 0x665796c0724 - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 14: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 15: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 16: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 17: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 18: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 19: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 20: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 21: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 22: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 23: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 24: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 25: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 26: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 27: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 28: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 29: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 30: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 31: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 32: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 33: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 34: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 35: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 36: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 37: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 38: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 39: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 40: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 41: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 42: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 43: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 44: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 45: 0x6657a312512 - ::new::thread_start 46: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 47: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (519765) panicked at src/tests/client.rs:162:47: called `Result::unwrap()` on an `Err` value: IoError(Os { code: 24, kind: Uncategorized, message: "Too many open files" }) stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x66579a259d7 - niri::tests::client::Client::new::hb9799cab7f107440 13: 0x665796c0724 - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 14: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 15: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 16: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 17: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 18: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 19: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 20: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 21: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 22: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 23: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 24: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 25: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 26: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 27: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 28: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 29: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 30: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 31: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 32: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 33: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 34: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 35: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 36: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 37: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 38: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 39: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 40: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 41: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 42: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 43: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 44: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 45: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 46: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 47: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 48: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 49: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 50: 0x6657a312512 - ::new::thread_start 51: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 52: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (519765) panicked at src/tests/client.rs:162:47: called `Result::unwrap()` on an `Err` value: IoError(Os { code: 24, kind: Uncategorized, message: "Too many open files" }) stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x66579a259d7 - niri::tests::client::Client::new::hb9799cab7f107440 13: 0x665796c0724 - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 14: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 15: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 16: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 17: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 18: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 19: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 20: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 21: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 22: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 23: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 24: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 25: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 26: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 27: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 28: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 29: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 30: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 31: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 32: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 33: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 34: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 35: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 36: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 37: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 38: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 39: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 40: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 41: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 42: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 43: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 44: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 45: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 46: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 47: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 48: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 49: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 50: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 51: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 52: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 53: 0x6657a312512 - ::new::thread_start 54: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 55: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (554026) panicked at src/tests/client.rs:162:47: called `Result::unwrap()` on an `Err` value: IoError(Os { code: 24, kind: Uncategorized, message: "Too many open files" }) stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x66579a259d7 - niri::tests::client::Client::new::hb9799cab7f107440 13: 0x665796c0724 - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 14: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 15: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 16: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 17: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 18: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 19: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 20: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 21: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 22: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 23: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 24: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 25: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 26: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 27: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 28: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 29: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 30: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 31: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 32: 0x66579b4d1bc - as rayon_core::job::Job>::execute::h64f2f6ba1fa1746b 33: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 34: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 35: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 36: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 37: 0x6657a312512 - ::new::thread_start 38: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 39: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (519765) panicked at src/tests/client.rs:162:47: called `Result::unwrap()` on an `Err` value: IoError(Os { code: 24, kind: Uncategorized, message: "Too many open files" }) stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x66579a259d7 - niri::tests::client::Client::new::hb9799cab7f107440 13: 0x665796c0724 - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 14: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 15: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 16: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 17: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 18: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 19: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 20: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 21: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 22: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 23: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 24: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 25: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 26: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 27: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 28: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 29: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 30: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 31: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 32: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 33: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 34: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 35: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 36: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 37: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 38: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 39: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 40: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 41: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 42: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 43: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 44: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 45: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 46: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 47: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 48: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 49: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 50: 0x6657a312512 - ::new::thread_start 51: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 52: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (519765) panicked at src/tests/fixture.rs:99:49: called `Result::unwrap()` on an `Err` value: Os { code: 24, kind: Uncategorized, message: "Too many open files" } stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x665796c093c - niri::tests::fixture::Fixture::add_client::h6fd7bc0cc2c2e517 13: 0x665795c42f7 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 14: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 15: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 16: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 17: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 18: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 19: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 20: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 21: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 22: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 23: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 24: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 25: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 26: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 27: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 28: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 29: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 30: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 31: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 32: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 33: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 34: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 35: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 36: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 37: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 38: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 39: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 40: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 41: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 42: 0x6657a312512 - ::new::thread_start 43: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 44: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (554026) panicked at src/utils/transaction.rs:113:46: called `Result::unwrap()` on an `Err` value: Os { code: 24, kind: Uncategorized, message: "Too many open files" } stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a319d8b - as std[fc6f109810c393f0]::io::Write>::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cef6 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0bf9 - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330dc0 - core[d6c71fd35ad5e3c0]::panicking::panic_fmt 11: 0x6657a330b66 - core[d6c71fd35ad5e3c0]::result::unwrap_failed 12: 0x66579a26d21 - niri::utils::transaction::Transaction::register_deadline_timer::hbc691b2d49152548 13: 0x6657973b319 - smithay::wayland::compositor::add_pre_commit_hook::{{closure}}::hdcd6605b9d6477f4 14: 0x665796cf1f9 - niri::handlers::compositor::_:: for niri::niri::State>::request::hcf15e3f061e7829f 15: 0x665797dc435 - as wayland_backend::sys::server::ObjectData>::request::h45697a4e909792ee 16: 0x66579980f3e - scoped_tls::ScopedKey::with::h70593d7652f1923a 17: 0x66579495a04 - wayland_backend::sys::server_impl::resource_dispatcher::hc468d9687f5cd48e 18: 0x66862d41d49 - 19: 0x66862d3a8da - 20: 0x66862d3f6a6 - 21: 0x66579980c97 - scoped_tls::ScopedKey::set::hc17e74426fd109e6 22: 0x665794967fd - wayland_backend::sys::server_impl::InnerBackend::dispatch_all_clients::h4eab22057718e770 23: 0x665797a2574 - as calloop::sources::EventSource>::process_events::h0d89bf7196577572 24: 0x665798354f2 - > as calloop::sources::EventDispatcher>::process_events::hcbff16c7c0534772 25: 0x6657972e4ec - calloop::loop_logic::EventLoop::dispatch::h8333282cdb8760e1 26: 0x665797a5795 - as calloop::sources::EventSource>::process_events::hef3913eadb170fc1 27: 0x66579834762 - > as calloop::sources::EventDispatcher>::process_events::h78d96562356a51c6 28: 0x665796c191b - niri::tests::fixture::Fixture::roundtrip::h82b5160a9c79e549 29: 0x665795c5039 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 30: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 31: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 32: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 33: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 34: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 35: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 36: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 37: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 38: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 39: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 40: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 41: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 42: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 43: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 44: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 45: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 46: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 47: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 48: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 49: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 50: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 51: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 52: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 53: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 54: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 55: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 56: 0x66579b4d1bc - as rayon_core::job::Job>::execute::h64f2f6ba1fa1746b 57: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 58: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 59: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 60: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 61: 0x6657a312512 - ::new::thread_start 62: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 63: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread '' (554026) panicked at /rustc/ac68faa20c58cbccd01ee7208bf3b6e93a7d7f96/library/core/src/panicking.rs:225:5: panic in a function that cannot unwind stack backtrace: 0: 0x6657a313835 - <::print::DisplayBacktrace as core[d6c71fd35ad5e3c0]::fmt::Display>::fmt 1: 0x6657a3305d1 - core[d6c71fd35ad5e3c0]::fmt::write 2: 0x6657a31adcb - ::write_fmt 3: 0x6657a2f0b31 - std[fc6f109810c393f0]::panicking::default_hook::{closure#0} 4: 0x6657a30cec2 - std[fc6f109810c393f0]::panicking::default_hook 5: 0x66579b7f907 - test[5de5e50b8b91b6f7]::test_main_with_exit_callback::::{closure#0} 6: 0x6657a30d259 - std[fc6f109810c393f0]::panicking::panic_with_hook 7: 0x6657a2f0c2b - std[fc6f109810c393f0]::panicking::panic_handler::{closure#0} 8: 0x6657a2e75ad - std[fc6f109810c393f0]::sys::backtrace::__rust_end_short_backtrace:: 9: 0x6657a2f1ac1 - __rustc[b1da763420d39311]::rust_begin_unwind 10: 0x6657a330c21 - core[d6c71fd35ad5e3c0]::panicking::panic_nounwind_fmt 11: 0x6657a330b8f - core[d6c71fd35ad5e3c0]::panicking::panic_nounwind 12: 0x6657a330d37 - core[d6c71fd35ad5e3c0]::panicking::panic_cannot_unwind 13: 0x66579495909 - wayland_backend::sys::server_impl::resource_dispatcher::hc468d9687f5cd48e 14: 0x66862d41d49 - 15: 0x66862d3a8da - 16: 0x66862d3f6a6 - 17: 0x66579980c97 - scoped_tls::ScopedKey::set::hc17e74426fd109e6 18: 0x665794967fd - wayland_backend::sys::server_impl::InnerBackend::dispatch_all_clients::h4eab22057718e770 19: 0x665797a2574 - as calloop::sources::EventSource>::process_events::h0d89bf7196577572 20: 0x665798354f2 - > as calloop::sources::EventDispatcher>::process_events::hcbff16c7c0534772 21: 0x6657972e4ec - calloop::loop_logic::EventLoop::dispatch::h8333282cdb8760e1 22: 0x665797a5795 - as calloop::sources::EventSource>::process_events::hef3913eadb170fc1 23: 0x66579834762 - > as calloop::sources::EventDispatcher>::process_events::h78d96562356a51c6 24: 0x665796c191b - niri::tests::fixture::Fixture::roundtrip::h82b5160a9c79e549 25: 0x665795c5039 - core::ops::function::impls:: for &F>::call_mut::h6de222654a20237a 26: 0x665798efaaf - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 27: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 28: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 29: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 30: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 31: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 32: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 33: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 34: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 35: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 36: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 37: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 38: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 39: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 40: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 41: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 42: 0x66579b4cbea - as rayon_core::job::Job>::execute::h2538df575a0450d4 43: 0x66579bb8c5a - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 44: 0x66579bb7585 - rayon_core::join::join_recover_from_panic::h50460bcb05f64cf4 45: 0x6657997f8be - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 46: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 47: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 48: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 49: 0x6657997f7b2 - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 50: 0x665798efb6c - rayon::iter::plumbing::bridge_producer_consumer::helper::h272a87f1710274e4 51: 0x6657997f6ac - rayon_core::join::join_context::{{closure}}::hc2e12c848848aa9e 52: 0x66579b4d1bc - as rayon_core::job::Job>::execute::h64f2f6ba1fa1746b 53: 0x66579bb8d80 - rayon_core::registry::WorkerThread::wait_until_cold::h8699c4d37618c56c 54: 0x66579bb9116 - rayon_core::registry::ThreadBuilder::run::hc352a0b7af06c78a 55: 0x66579bb7a9d - std::sys::backtrace::__rust_begin_short_backtrace::ha0c2c1b40a7dd591 56: 0x66579bb829f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4ff23ff0ed2323f7 57: 0x6657a312512 - ::new::thread_start 58: 0x667832050d2 - _rthread_start at /usr/src/lib/librthread/rthread.c:99:11 59: 0x667f7ba435a - __tfork_thread at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:87:0 thread caused non-unwinding panic. aborting. -- // Checks had no problems. Not sure about the tests but it runs on // the i5-3340M laptop smoothly? // Updated alongside xwayland-satellite update # TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all/ pkg_add -Dsnap -u niri xwayland-satellite niri-26.04:xwayland-satellite-0.8p0->0.8.1pl20260316: ok niri-25.11.20260220p0->26.04: ok -- The new options like xray are nice, described below for those curious. https://github.com/niri-wm/niri/releases/tag/v26.04 Been running niri and xwayland-satellite for a few hours. And left it on overnight. No obvious regression or crashes. No formatting or other nits to report. Looks fine. Thank you for the update. Hope this helps. May you all stay cool and be successful hacking. -- yaydn