On 05/28/2010 02:04 PM, Lubos Lunak wrote: > 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 >> typing. > > KRunner auto-restarts and apparently the crash isn't that common. Not even > close to justifying doing anything special about it. It is not just KRunner. Dolphin crashes a lot due to that bug (less to not at all with my workaround though), the activity manager crashes, the nepomuk filewactch service crashes. And those are only the ones I looked into. I think the problem is that before this no app really used DBus in a multithreaded situation. Cheers, Sebastian