The pulseaudio mainloop is locked initially via the call to pa_threaded_mainloop_lock(), but then it's not unlocked via the pa_threaded_mainloop_unlock() call before calling pa_threaded_mainloop_free() if the connection or context setup fails. Thus, pa_threaded_mainloop_free() freezes. The proposed patch merely calls pa_threaded_mainloop_unlock() before freeing the main loop. Reproducible: Always Steps to Reproduce: 1. Build qt-mobility[multimedia,pulseaudio]. 2. Build something using QtMultimediaKit, like lc-azoth-9999[media] 3. Make sure PA daemon is stopped. 4. Try running Azoth. Actual Results: Azoth freezed with a trace like the attached one. Expected Results: Azoth started up and running smoothly. The bug has been already reported upstream, but it was rejected and I doubt Qt guys will fix it now: https://bugreports.qt-project.org/browse/QTBUG-29742
Created attachment 378176 [details] The freeze backtrace.
Created attachment 378178 [details, diff] The proposed patch.
Thanks Georg. You should submit the patch upstream via gerrit, otherwise the chances that it'll be accepted are zero.
Thanks, I'll try to figure out their patch inclusion process. Meanwhile, is there any chance for the inclusion of this patch in Gentoo tree?
(In reply to Georg Rudoy from comment #4) > Meanwhile, is there any chance for the inclusion of this patch in Gentoo > tree? Yes, but give me some time, I'm busy with other things atm.
Sure, that wasn't a way to hurry you, but rather a question about patch inclusion policy. For example, Debian doesn't accept patches to packages that weren't included into upstream's VCS. Some other distros also have quite strict reviewing practices. Thanks again.
Hi Georg, did you manage to submit the patch upstream via gerrit?
(In reply to Davide Pesavento from comment #7) > Hi Georg, did you manage to submit the patch upstream via gerrit? Hi Davide, Not really. I never did that before, and frankly I'm a little bit lazy to clone the whole Qt repo and follow their clumsy submitting policy. Moreover, the resolution and comments in the bug ( https://bugreports.qt-project.org/browse/QTBUG-29742 ) make me think that they're not going to accept anything to QtMobility: > Before Qt 5, QtMultimedia was part of the Qt Mobility project, which is not maintained anymore. As the bug is related to Qt4, I doubt it's worth it.
For the record, this is fixed on qtmultimedia's 5.3 branch as of yesterday https://codereview.qt-project.org/87383
Closing wrt comment #9