-
-
Notifications
You must be signed in to change notification settings - Fork 27
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
Session: only dispatch udev in dispatchPendingEventsAsync if on linux #86
Conversation
hyprland without hyprwm/Hyprland@34e4a60 will crash with this change |
@jbeich this shouldn't block on BSD, can we get a short 👍 or 👎? IIRC it was only udev. |
Doesn't seem to work hyprctl systeminfo -c
|
|
oopsie |
also below in that function input device add events like |
now that you mention it |
I think we need stack trace
|
done |
Hyprland? more like Hyprcrash |
not latest hl git commit @alba4k |
Crashes on FreeBSD (even with empty config). Tested version: aquamarine v0.4.1-5-gf40d6ce + hyprland v0.43.0-56-g2121ff77 backtrace(lldb) bt
* thread #1, name = 'Hyprland', stop reason = signal SIGABRT
* frame #0: 0x00000008475e352a libsys.so.7`__sys_thr_kill at thr_kill.S:4
frame #1: 0x00000008361954d4 libc.so.7`__raise(s=6) at raise.c:48:10
frame #2: 0x0000000836257899 libc.so.7`abort at abort.c:61:8
frame #3: 0x0000000000c3900c Hyprland`handleUnrecoverableSignal(sig=11) at Compositor.cpp:73:5
frame #4: 0x0000000832fa7a3f libthr.so.3`handle_signal(actp=0x0000000821e9ddc0, sig=11, info=0x0000000821e9e1b0, ucp=0x0000000821e9de40) at thr_sig.c:299:3
frame #5: 0x0000000832fa6f1a libthr.so.3`thr_sighandler(sig=11, info=0x0000000821e9e1b0, _ucp=0x0000000821e9de40) at thr_sig.c:243:2
frame #6: 0x000000082230f2d3
frame #7: 0x00000000010b8562 Hyprland`CSeatManager::updateActiveKeyboardData(this=0x000017cf8b043800) at SeatManager.cpp:103:18
frame #8: 0x0000000000edcc4a Hyprland`IKeyboard::setKeymap(this=0x000017cf8b129c00, rules=0x0000000821e9ec18) at IKeyboard.cpp:140:21
frame #9: 0x0000000001118bc0 Hyprland`CInputManager::applyConfigToKeyboard(this=0x000017cf8b129300, pKeyboard=(impl_ = 0x000017cf8b0bf040)) at InputManager.cpp:979:16
frame #10: 0x0000000001116ec5 Hyprland`CInputManager::setupKeyboard(this=0x000017cf8b129300, keeb=(impl_ = 0x000017cf8b0bf040)) at InputManager.cpp:923:5
frame #11: 0x000000000111689d Hyprland`CInputManager::newKeyboard(this=0x000017cf8b129300, keyboard=(impl_ = 0x000017cf8b0bf1c0)) at InputManager.cpp:842:5
frame #12: 0x0000000000c5f436 Hyprland`CCompositor::initAllSignals()::$_2::operator()(this=0x000017cf8b04c258, data=0x0000000000000000, d=any @ 0x0000000821e9f3d8) const at Compositor.cpp:348:30
frame #13: 0x0000000000c5f314 Hyprland`decltype(std::declval<CCompositor::initAllSignals()::$_2&>()(std::declval<void*>(), std::declval<std::__1::any>())) std::__1::__invoke[abi:se180100]<CCompositor::initAllSignals()::$_2&, void*, std::__1::any>(__f=0x000017cf8b04c258, __args=0x0000000821e9f4e0, __args=0x0000000821e9f548) at invoke.h:344:25
frame #14: 0x0000000000c5f295 Hyprland`void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:se180100]<CCompositor::initAllSignals()::$_2&, void*, std::__1::any>(__args=0x000017cf8b04c258, __args=0x0000000821e9f4e0, __args=0x0000000821e9f548) at invoke.h:419:5
frame #15: 0x0000000000c5f25d Hyprland`std::__1::__function::__alloc_func<CCompositor::initAllSignals()::$_2, std::__1::allocator<CCompositor::initAllSignals()::$_2>, void (void*, std::__1::any)>::operator()[abi:se180100](this=0x000017cf8b04c258, __arg=0x0000000821e9f4e0, __arg=0x0000000821e9f548) at function.h:169:12
frame #16: 0x0000000000c5e4f9 Hyprland`std::__1::__function::__func<CCompositor::initAllSignals()::$_2, std::__1::allocator<CCompositor::initAllSignals()::$_2>, void (void*, std::__1::any)>::operator()(this=0x000017cf8b04c250, __arg=0x0000000821e9f4e0, __arg=0x0000000821e9f548) at function.h:311:10
frame #17: 0x0000000832356982 libhyprutils.so.1`std::__1::__function::__value_func<void (void*, std::__1::any)>::operator()[abi:se180100](this=0x000017cf8b04c250, __args=0x0000000821e9f4e0, __args=0x0000000821e9f548) const at function.h:428:12
frame #18: 0x000000083235657f libhyprutils.so.1`std::__1::function<void (void*, std::__1::any)>::operator()(this=0x000017cf8b04c250, __arg=0x0000000000000000, __arg=any @ 0x0000000821e9f548) const at function.h:981:10
frame #19: 0x00000008323563c2 libhyprutils.so.1`Hyprutils::Signal::CStaticSignalListener::emit(this=0x000017cf8b04c240, data=any @ 0x0000000821e9f698) at Listener.cpp:21:5
frame #20: 0x0000000832356d48 libhyprutils.so.1`Hyprutils::Signal::CSignal::emit(this=0x000017cf8b1152e0, data=any @ 0x0000000821e9fad0) at Signal.cpp:35:12
frame #21: 0x00000008291f3a82 libaquamarine.so.3`Aquamarine::CLibinputDevice::init(this=0x000017cf8ea96580) at Session.cpp:807:50
frame #22: 0x00000008291ef134 libaquamarine.so.3`Aquamarine::CSession::handleLibinputEvent(this=0x000017cf8b108280, e=0x000017cf8b188370) at Session.cpp:397:14
frame #23: 0x00000008291ed468 libaquamarine.so.3`Aquamarine::CSession::dispatchLibinputEvents(this=0x000017cf8b108280) at Session.cpp:351:9
frame #24: 0x00000008291ed002 libaquamarine.so.3`Aquamarine::CSession::onReady(this=0x000017cf8b108280) at Session.cpp:268:5
frame #25: 0x00000008291c98b0 libaquamarine.so.3`Aquamarine::CBackend::start(this=0x000017cf8b115280) at Backend.cpp:170:18
frame #26: 0x0000000000c3b0ad Hyprland`CCompositor::initServer(this=0x000017cf8b043600, socketName="", socketFd=-1) at Compositor.cpp:260:24
frame #27: 0x0000000000fe5960 Hyprland`main(argc=3, argv=0x0000000821ea1fc8) at main.cpp:172:20
frame #28: 0x00000008361670fa libc.so.7`__libc_start1(argc=<unavailable>, argv=<unavailable>, env=<unavailable>, cleanup=<unavailable>, mainX=<unavailable>) at libc_start1.c:157:7
frame #29: 0x0000000000c38c30 Hyprland`_start at crt1_s.S:83 |
ups, we also don't have |
But moving that introduces other problems as well. |
Crashes for me too hyprlandCrashReport380335.txt, that's on hyprwm/Hyprland@2121ff7 and aqua with this pr. Doesn't even get out of tty. |
hm... right. I'll try to come up with a better solution tmr |
Dispatches libinput events when onReady is called. Prevents unread events on start
fixes hyprwm/Hyprland#7855 hyprwm/Hyprland#7391