<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/127261/">https://git.reviewboard.kde.org/r/127261/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On March 3rd, 2016, 7:05 a.m. UTC, <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">nice work! I had run into it in the past and didn't succeed investigating it.</p></pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">https://bugreports.qt.io/browse/QTBUG-51648</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As pointed out by Thiago on irc, this should be considered as a bug in Qt. Not sure if we want to commit it. As disconnecting this signal indeed breaks some invariant in qtdbus (not critical though, since we are going to exit anyway).</p></pre>
<br />
<p>- Xuetian</p>
<br />
<p>On March 2nd, 2016, 8:58 p.m. UTC, Xuetian Weng wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDE Frameworks and David Edmundson.</div>
<div>By Xuetian Weng.</div>
<p style="color: grey;"><i>Updated March 2, 2016, 8:58 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kauth
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm on Qt 5.6 RC, and just notice a issue that kded5 never cleanly exits.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">With gdb attached to kded5, it shows following backtrace:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">#1 0x00007ffff5c820eb in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x74ac70) at thread/qwaitcondition_unix.cpp:136
#2 QWaitCondition::wait (this=this@entry=0x71c308, mutex=mutex@entry=0x71c300, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3 0x00007ffff5c7b08b in QSemaphore::acquire (this=this@entry=0x7fffffffd840, n=n@entry=1) at thread/qsemaphore.cpp:137
#4 0x00007ffff5e80fff in QMetaObject::activate (sender=sender@entry=0x976280, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd8d0)
at kernel/qobject.cpp:3698
#5 0x00007ffff5e81687 in QMetaObject::activate (sender=sender@entry=0x976280, m=m@entry=0x7ffff6092760 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0,
argv=argv@entry=0x7fffffffd8d0) at kernel/qobject.cpp:3595
#6 0x00007ffff5e8172f in QObject::destroyed (this=this@entry=0x976280, _t1=_t1@entry=0x976280) at .moc/moc_qobject.cpp:213
#7 0x00007ffff5e886e5 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:913
#8 0x00007fffb39bbb09 in KAuth::DBusHelperProxy::~DBusHelperProxy (this=0x976280, __in_chrg=<optimized out>) at /chakra/core/kauth/src/kauth-5.19.0/src/backends/dbus/DBusHelperProxy.cpp:55
#9 0x00007ffff5e49ff9 in QLibraryPrivate::unload (this=0x71dba0, flag=QLibraryPrivate::NoUnloadSys) at plugin/qlibrary.cpp:551
#10 0x00007ffff5e4e521 in QLibraryStore::cleanup () at plugin/qlibrary.cpp:397
#11 0x00007ffff78592ef in __cxa_finalize () from /usr/lib/libc.so.6
#12 0x00007ffff5c52583 in __do_global_dtors_aux () from /usr/lib/libQt5Core.so.5
#13 0x00007fffffffe230 in ?? ()
#14 0x00007ffff7dea867 in _dl_fini () from /lib64/ld-linux-x86-64.so.2
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Which indicates that kauth dbus plugin's QObject::destroyed is being connected to QDBusConnectionPrivate with Qt::BlockQueuedConnection. But at this point, QApplication is already gone and this call is never being handled. Disconnect everything in destructor can fix this issue.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Related upstream qt code:
https://github.com/qtproject/qtbase/blob/5.6.0/src/dbus/qdbusintegrator.cpp#L2135</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Now kded5 can exits upon logout/exit. Tested with kquitapp5 kded5.</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>src/backends/dbus/DBusHelperProxy.cpp <span style="color: grey">(20dad0a)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/127261/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>