<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/100577/">http://git.reviewboard.kde.org/r/100577/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for kdelibs and Thiago Macieira.</div>
<div>By Dawit Alemayehu.</div>
<p style="color: grey;"><i>Updated Jan. 30, 2012, 6:35 a.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Bring back an updated version of this patch since this crash can be reproduced using Qt 4.8.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Summary (updated)</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;">Fix a VLC crash by delaying object deletion to avoid invalid access by QtDBus</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description (updated)</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;">As described in the bug report when opening the file dialog, canceling it and exiting VLC causes the application to seg fault. The backtraces posted in the bug report shows that the crash happens somewhere in QtDBus and I get a similar backtrace when using v1.1.7 of this application.
When I looked into this issue what I discovered was that only KIO classes that register themselves with QtDBus cause the crash. I only found that out because fixing the crash in KIO::Scheduler by defering its deletion using deleteLater() did not prevent the application from still crashing on exit. However, the crash had moved to another location, KBookmarkManager. The only common thing between the crash at KBookmarkmanager and KIO::Scheduler was that in both cases the backtrace shows QtDBus attempting to invoke or access some method or slot in the object that was just destroyed. At this point I decided to check how many other classes in KIO register themselves with QtDBus and found only one more. I then applied the same changes to all three, defering the deletion of any object registered with QtDBus using QObject::deleteLater, and the crashing went away.
Anyhow, I have no idea why the crashes are only seen with this application. I was not able to duplicate the crash using the same sequences in another Qt only app, Arora or any of the other KDE applications I tried.</pre>
</td>
</tr>
</table>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="http://bugs.kde.org/show_bug.cgi?id=234484">234484</a>
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> (updated)</h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kio/bookmarks/kbookmarkmanager.cc <span style="color: grey">(d8a9cb7)</span></li>
<li>kio/kio/fileundomanager.cpp <span style="color: grey">(f580c29)</span></li>
<li>kio/kio/scheduler.cpp <span style="color: grey">(6b36d9d)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/100577/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>