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

            Bug ID: 378445
           Summary: kscreenlocker_greet occasionally freezes in malloc in
                    signal handler
           Product: kscreenlocker
           Version: unspecified
          Platform: openSUSE RPMs
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: greeter
          Assignee: plasma-b...@kde.org
          Reporter: r...@alum.mit.edu
                CC: bhus...@gmail.com, mgraess...@kde.org
  Target Milestone: ---

Using kscreenlocker 5.9.4-66.1 (and earlier versions) on openSUSE Leap 42.2,
kscreenlocker occasionally (perhaps every few days) freezes, not accepting any
input.  The clock is also stopped at the moment of the freeze.  The workaround
is to log in to a virtual terminal and kill the kscreenlocker_greet process.

A representative stack trace, all of which show the same top of the stack
(malloc called inside  asignal handler).  Unfortunately, the debuginfo packages
aren't conveniently available to me, but calling a malloc that isn't re-entrant
inside a signal handler is not a good idea.

(gdb) where
#0  0x00007fb1e919913b in __lll_lock_wait_private () from /lib64/libc.so.6
#1  0x00007fb1e911e62a in malloc () from /lib64/libc.so.6
#2  0x00007fb1e94dce38 in operator new(unsigned long) () from
/usr/lib64/libstdc++.so.6
#3  0x00007fb1eab5c65d in QQmlProperty::QQmlProperty(QObject*, QString const&)
() from /usr/lib64/libQt5Qml.so.5
#4  0x000000000040c65e in ?? ()
#5  <signal handler called>
#6  0x00007fb1e911b179 in _int_free () from /lib64/libc.so.6
#7  0x00007fb1e911d980 in _int_realloc () from /lib64/libc.so.6
#8  0x00007fb1e911edaf in realloc () from /lib64/libc.so.6
#9  0x00007fb1e98fc897 in QString::reallocData(unsigned int, bool) () from
/usr/lib64/libQt5Core.so.5
#10 0x00007fb1e98fd0d4 in QString::append(QString const&) () from
/usr/lib64/libQt5Core.so.5
#11 0x00007fb1e35171ae in ?? () from /usr/lib64/libQt5DBus.so.5
#12 0x00007fb1e3519253 in ?? () from /usr/lib64/libQt5DBus.so.5
#13 0x00007fb1e3519464 in ?? () from /usr/lib64/libQt5DBus.so.5
#14 0x00007fb1e35195d4 in ?? () from /usr/lib64/libQt5DBus.so.5
#15 0x00007fb1e355fc67 in ?? () from /usr/lib64/libQt5DBus.so.5
#16 0x00007fb1e355fd2a in QDBusServiceWatcher::QDBusServiceWatcher(QString
const&, QDBusConnection const&, QFlags<QDBusServiceWatcher::WatchModeFlag>,
QObject*) () from /usr/lib64/libQt5DBus.so.5
#17 0x00007fb1e352af63 in ?? () from /usr/lib64/libQt5DBus.so.5
#18 0x00007fb1e352ed63 in QDBusInterface::QDBusInterface(QString const&,
QString const&, QString const&, QDBusConnection const&, QObject*) () from
/usr/lib64/libQt5DBus.so.5
#19 0x00007fb1d9b8efa7 in ?? () from /usr/lib64/libKF5Solid.so.5
#20 0x00007fb1d9b8bc04 in ?? () from /usr/lib64/libKF5Solid.so.5
#21 0x00007fb1d9b6087e in
Solid::Device::listFromType(Solid::DeviceInterface::Type const&, QString
const&) () from /usr/lib64/libKF5Solid.so.5
#22 0x00007fb1b57104b4 in ?? () from
/usr/lib64/qt5/plugins/plasma/dataengine/plasma_engine_powermanagement.so
#23 0x00007fb1b57114e3 in ?? () from
/usr/lib64/qt5/plugins/plasma/dataengine/plasma_engine_powermanagement.so
#24 0x00007fb1e9a5d71c in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib64/libQt5Core.so.5
#25 0x00007fb1d9bc0cc6 in Solid::Battery::chargeStateChanged(int, QString
const&) () from /usr/lib64/libKF5Solid.so.5
#26 0x00007fb1d9bc36c7 in ?? () from /usr/lib64/libKF5Solid.so.5
#27 0x00007fb1e9a5d0d5 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib64/libQt5Core.so.5
#28 0x00007fb1d9bc0816 in ?? () from /usr/lib64/libKF5Solid.so.5
#29 0x00007fb1d9b91d8e in ?? () from /usr/lib64/libKF5Solid.so.5
#30 0x00007fb1d9bc2a2d in ?? () from /usr/lib64/libKF5Solid.so.5
#31 0x00007fb1e9a5d0d5 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib64/libQt5Core.so.5
#32 0x00007fb1d9bc9ce3 in ?? () from /usr/lib64/libKF5Solid.so.5
#33 0x00007fb1e351b49b in ?? () from /usr/lib64/libQt5DBus.so.5
#34 0x00007fb1e9a5e886 in QObject::event(QEvent*) () from
/usr/lib64/libQt5Core.so.5
#35 0x00007fb1e9a3530c in QCoreApplication::notify(QObject*, QEvent*) () from
/usr/lib64/libQt5Core.so.5
#36 0x00007fb1e9a35245 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib64/libQt5Core.so.5
#37 0x00007fb1e9a372a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib64/libQt5Core.so.5
#38 0x00007fb1e9a84043 in ?? () from /usr/lib64/libQt5Core.so.5
#39 0x00007fb1e5624134 in g_main_context_dispatch () from
/usr/lib64/libglib-2.0.so.0
#40 0x00007fb1e5624388 in ?? () from /usr/lib64/libglib-2.0.so.0
#41 0x00007fb1e562442c in g_main_context_iteration () from
/usr/lib64/libglib-2.0.so.0
#42 0x00007fb1e9a8388c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/libQt5Core.so.5
#43 0x00007fb1e9a336ab in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/libQt5Core.so.5
#44 0x00007fb1e9a3b344 in QCoreApplication::exec() () from
/usr/lib64/libQt5Core.so.5
#45 0x0000000000409bf4 in ?? ()
#46 0x00007fb1e90c36e5 in __libc_start_main () from /lib64/libc.so.6
#47 0x0000000000409e49 in _start ()

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

Reply via email to