https://bugs.kde.org/show_bug.cgi?id=483355

            Bug ID: 483355
           Summary: krfb crashes when using yakuake
    Classification: Applications
           Product: krfb
           Version: 24.02.0
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: grundleb...@googlemail.com
          Reporter: jpwhit...@kde.org
  Target Milestone: ---

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug
symbols.
See
https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Run krfb --nodialog
2. Launch or open yakuake
3. Type anything in the yakuake window
4. Watch as the vnc connection dies

OBSERVED RESULT
Segfault of krfb


EXPECTED RESULT
Typing goes to yakuake and krfb remains running

SOFTWARE/OS VERSIONS
Linux/KDE Plasma:  24.02.0
(available in About System)
KDE Plasma Version: 24.02.0
KDE Frameworks Version: 6.0.0-4
Qt Version: 6.6.2-4

ADDITIONAL INFORMATION
Here's the backtrace I get on archlinux when running with gdb with debuginfod
set up. There are also a couple of errors at the top about issues with the
notifications. Not sure if they are related to the crash

kf.notifications: No event config could be found for event id
"NewConnectionAutoAccepted" under notifyrc file for app "krfb"
kf.notifications: No event config could be found for event id
"UserAcceptsConnection" under notifyrc file for app "krfb"
/usr/include/c++/13.2.1/optional:477: constexpr _Tp&
std::_Optional_base_impl<_Tp, _Dp>::_M_get() [with _Tp = PipeWireCursor; _Dp =
std::_Optional_base<PipeWireCursor, false, false>]: Assertion
'this->_M_is_engaged()' failed.

Thread 1 "krfb" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6,
no_tid=no_tid@entry=0) at pthread_kill.c:44
Downloading source file /usr/src/debug/glibc/glibc/nptl/pthread_kill.c
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO
(ret) : 0;                                                                      
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff7568393 in __pthread_kill_internal (signo=6, threadid=<optimized
out>) at pthread_kill.c:78
#2  0x00007ffff75176c8 in __GI_raise (sig=sig@entry=6) at
../sysdeps/posix/raise.c:26
#3  0x00007ffff74ff4b8 in __GI_abort () at abort.c:79
#4  0x00007ffff5add3b2 in std::__glibcxx_assert_fail
    (file=file@entry=0x7fffeb3f8328 "/usr/include/c++/13.2.1/optional",
line=line@entry=477, function=function@entry=0x7fffeb3f8290 "constexpr _Tp&
std::_Optional_base_impl<_Tp, _Dp>::_M_get() [with _Tp = PipeWireCursor; _Dp =
std::_Optional_base<PipeWireCursor, false, false>]",
condition=condition@entry=0x7fffeb3f800e "this->_M_is_engaged()") at
/usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/debug.cc:61
#5  0x00007fffeb3ece7c in std::_Optional_base_impl<PipeWireCursor,
std::_Optional_base<PipeWireCursor, false, false> >::_M_get (this=<optimized
out>)
    at /usr/include/c++/13.2.1/optional:477
#6  std::_Optional_base_impl<PipeWireCursor,
std::_Optional_base<PipeWireCursor, false, false> >::_M_get (this=<optimized
out>)
    at /usr/include/c++/13.2.1/optional:475
#7  std::optional<PipeWireCursor>::operator-> (this=<optimized out>) at
/usr/include/c++/13.2.1/optional:966
#8  PWFrameBuffer::cursorPosition (this=<optimized out>) at
/usr/src/debug/krfb/krfb-24.02.0/framebuffers/pipewire/pw_framebuffer.cpp:514
#9  0x0000555555573f29 in RfbServerManager::updateScreens
    (this=0x55555558b8d0
<_ZZN13QGlobalStaticIN14QtGlobalStatic6HolderIN12_GLOBAL__N_116Q_QGS_s_instanceEEEE8instanceEvE6holder.lto_priv.0>)
    at /usr/src/debug/krfb/krfb-24.02.0/krfb/rfbservermanager.cpp:156
#10 0x00007ffff5f90ca9 in QtPrivate::QSlotObjectBase::call
    (a=0x7fffffffd8c0, r=0x55555558b8d0
<_ZZN13QGlobalStaticIN14QtGlobalStatic6HolderIN12_GLOBAL__N_116Q_QGS_s_instanceEEEE8instanceEvE6holder.lto_priv.0>,
this=0x5555557a5ba0, this=<optimized out>, r=<optimized out>, a=<optimized
out>)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#11 doActivate<false> (sender=0x5555557b7260, signal_index=3,
argv=0x7fffffffd8c0)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
#12 0x00007ffff5f98d64 in QTimer::timeout (_t1=..., this=0x5555557b7260) at
/usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qtimer.cpp:272
#13 QTimer::timerEvent (e=<optimized out>, this=0x5555557b7260) at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qtimer.cpp:252
#14 QTimer::timerEvent (this=0x5555557b7260, e=<optimized out>) at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qtimer.cpp:246
#15 0x00007ffff5f7c236 in QObject::event (this=0x5555557b7260,
e=0x7fffffffda60)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:1414
#16 0x00007ffff6ef438b in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x5555557b7260, e=0x7fffffffda60)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:3296
#17 0x00007ffff5f39818 in QCoreApplication::notifyInternal2
(receiver=0x5555557b7260, event=0x7fffffffda60)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1121
#18 0x00007ffff609efa6 in QCoreApplication::sendEvent (event=0x7fffffffda60,
receiver=<optimized out>)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1539
#19 QTimerInfoList::activateTimers (this=0x555555621420) at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qtimerinfo_unix.cpp:507
#20 0x00007ffff61756dc in timerSourceDispatch (source=<optimized out>)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:149
#21 0x00007ffff4bd1f69 in g_main_dispatch (context=0x7fffec000ef0) at
../glib/glib/gmain.c:3476
#22 0x00007ffff4c303a7 in g_main_context_dispatch_unlocked
(context=0x7fffec000ef0) at ../glib/glib/gmain.c:4284
#23 g_main_context_iterate_unlocked.isra.0
(context=context@entry=0x7fffec000ef0, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/glib/gmain.c:4349
#24 0x00007ffff4bd0162 in g_main_context_iteration (context=0x7fffec000ef0,
may_block=1) at ../glib/glib/gmain.c:4414
#25 0x00007ffff61739c4 in QEventDispatcherGlib::processEvents
(this=0x5555555be730, flags=...)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#26 0x00007ffff5f43d6e in QEventLoop::processEvents (flags=...,
this=0x7fffffffdd30)
    at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:100
#27 QEventLoop::exec (this=0x7fffffffdd30, flags=...) at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:182
--Type <RET> for more, q to quit, c to continue without paging--
#28 0x00007ffff5f3c2b8 in QCoreApplication::exec () at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/global/qflags.h:74
#29 0x00007ffff6ef0f0a in QApplication::exec () at
/usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:2574
#30 0x00005555555656c3 in main (argc=<optimized out>, argv=<optimized out>) at
/usr/src/debug/krfb/krfb-24.02.0/krfb/main.cpp:183


Actually this backtrace I get when yakuake is open and visible and I just
connect over vnc. But I also get a crash when typing in yakuake. This one above
is preventing me from getting to that point currently though.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to