calloop warning
Bevy version
0.14.1
[Optional] Relevant system information
Linux, NixOS, udev, Wayland, sway window manager, just a regular keyboard and mouse
What you did
Start up a bevy app and play around for a bit (I haven't figured out the trigger, exactly)
What went wrong
2024-08-24T07:55:28.218633Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 60, sub_id: 0 }
The version number keeps incrementing, but it seems to skip numbers. id seems to always be 3 in my case
Additional information
calloop seems to be the event loop implementation used on linux/wayland, somewhere deep in the stack. This warning is hardly a big issue, but it is spammy, and also an indication of a potentially more serious bug
Maybe it's keyboard/mouse related? I'm not sure if calloop handles input, but it seemed to happen when I was actively moving around the scene, but that just be my brain looking for a cause for a random event
Can you reproduce this on winit's examples? This is liable to be a bug upstream. If you can, open a bug there and link this one please :)
I can't reproduce it on any of winit's examples yet
However, it is definitely caused by key release events. Short taps aren't enough, so it seems to be possibly related to key repeat events? The version seems to increment with every key release, but only the releases causing the warning are shown, which doesn't seem to be every release
Maybe there's some internal queue somewhere filling up on keyrepeat things, that then can't handle the release event or something
Same warning on Arch Linux (Nouveau/NVK/Mesa, Wayland, Gnome). Only when wayland feature is set.
2024-10-23T20:21:59.025298Z INFO bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce GTX 1660 (NVK TU116)", vendor: 4318, device: 8580, device_type: DiscreteGpu, driver: "NVK", driver_info: "Mesa 24.2.5-arch1.1", backend: Vulkan }
2024-10-23T20:21:59.251359Z INFO bevy_winit::system: Creating new window "App" (Entity { index: 0, generation: 1 })
2024-10-23T20:22:15.638774Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 5, sub_id: 0 }
2024-10-23T20:22:17.888716Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 6, sub_id: 0 }
2024-10-23T20:22:24.355246Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 11, sub_id: 0 }
2024-10-23T20:22:26.871907Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 13, sub_id: 0 }
2024-10-23T20:22:32.805330Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 16, sub_id: 0 }
2024-10-23T20:22:45.205400Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 22, sub_id: 0 }
2024-10-23T20:23:01.205436Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 34, sub_id: 0 }
2024-10-23T20:23:10.288669Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 39, sub_id: 0 }
2024-10-23T20:23:11.422081Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 40, sub_id: 0 }
2024-10-23T20:23:14.738645Z WARN calloop::loop_logic: [calloop] Received an event for non-existence source: TokenInner { id: 3, version: 45, sub_id: 0 }
This warning is pretty much innocent, it means that the event arrived after the source got de-registered, which is likely for a key repeat or something. The key repeat is all client side, so release of the key cancels the entire thing.
Same on Fedora + wayland FWIW
Same on Arch + wayland (Hyprland)
Same on NixOS + Hyprland (wayland)