Review Request: Workaround for non-thread-safety of QDBusConnection
l.lunak at suse.cz
Fri May 28 13:04:15 BST 2010
On Friday 28 of May 2010, Thiago Macieira wrote:
> Em Sexta-feira 28. Maio 2010, às 01.17.47, Lubos Lunak escreveu:
> > For example, openSUSE 11.3 is now entering RC phase and that means that
> > only fixes can enter it, not features or newer non-patchlevel releases.
> > Since the fix is in 1.4.0 and openSUSE is at 1.2.8 IIRC, 1.4.0 cannot
> > enter openSUSE 11.3, neither now nor later. Now I know what the fix is
> > and I need to know what the actual problems are to evaluate and possibly
> > justify a request for exception to the rules. With the information given
> > so far the fix appears to be rather risky and not even remotely worth a
> > problem that has existed for quite a while and is "theoretical".
> It's not theoretical. It's quite easy to run into that issue: if the mutex
> is unlocked for a callback, the other thread will not be able to send the
> message. It will fail.
You don't understand - for me as a packager, this all is completely
uninteresting so far. Thread safety problem with D-Bus? If a mutex is
unlocked, other thread will not be able to send a message? And the fix is a
new minor release? I don't need five seconds to shrug this off.
Let me try to explain this way: Suppose I'd give you a 1000-line patch for Qt
that'd rewrite a part of QClipboard internals because the Xlib locking there
was wrong and said you should include it in Qt4.6.3 . That's like what you've
done. You are missing the equivalent of "without the fix Qt applications may
randomly crash as a result of copy&pasting in any app".
> I've seen krunner crashing because of this. That happens because the D-Bus
> calls are sent by several threads in response to the same event: the user
KRunner auto-restarts and apparently the crash isn't that common. Not even
close to justifying doing anything special about it.
> Anyway, QtDBus is resistant to the change and wouldn't have problems with
> the patch. The problem are other bindings and low-level apps.
openSUSE Boosters team, KDE developer
l.lunak at suse.cz , l.lunak at kde.org
More information about the kde-core-devel