<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/113471/">http://git.reviewboard.kde.org/r/113471/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On October 27th, 2013, 11:05 a.m. UTC, <b>Christoph Feck</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;">Ah, that makes sense, thanks for your investigation!
What could be done to improve it, is to let the timer fire again sometimes later, until the item could actually be removed. I am not sure, though, if it is needed, in other words, what happens when items do not get removed by the timer.
But since this seems to workaround the crash, it should get into 4.11.3. Someone else must approve.</pre>
</blockquote>
<p>On October 27th, 2013, 12:29 p.m. UTC, <b>Albert Astals Cid</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;">Well, the timer will trigger again 10 minutes later, and this is just for "cleaning up" the list a bit, so at most you'll have a few more notifications for a while, won't cause anything bad.</pre>
</blockquote>
<p>On October 27th, 2013, 1:26 p.m. UTC, <b>Christoph Feck</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;">The timer says "repeat: false", and if it is triggered again, probably on a different "index"?</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;">the timer will trigger again when idleTimeSource.idle changes from false to true to false, and if that never happens the notification will still be eventually removed by the addNotification code</pre>
<br />
<p>- Albert</p>
<br />
<p>On October 27th, 2013, 10:36 a.m. UTC, Albert Astals Cid wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for kde-workspace, Plasma, Àlex Fiestas, and Michael Zanetti.</div>
<div>By Albert Astals Cid.</div>
<p style="color: grey;"><i>Updated Oct. 27, 2013, 10:36 a.m.</i></p>
<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=311871">311871</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-workspace
</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;">Reading https://bugs.kde.org/show_bug.cgi?id=311871#c41 you can see that it happens that we are doing a
#78 0x00007f4eff8c5ffb in QDeclarativeListModel::insert (this=0x1ebbdb0, index=0, valuemap=...) at util/qdeclarativelistmodel.cpp:436
and then we end up reentring and doing
#16 0x00007f4eff8c737f in QDeclarativeListModel::remove (this=0x1ebbdb0, index=6) at util/qdeclarativelistmodel.cpp:402
Some of the stuff that depends on the QDeclarativeListModel doesn't seem to like getting a "remove" while a "insert" is happening and to be honest m in no mood to fix that, so basically I'm protecting against that happening in our QML code. From what i read you have to be extremely unlucky since the timer only triggers each 10 minutes and it has to trigger at the same time a notification is being added, but oh well, the backtrace points to it and two different people in two different systems say it has stopped the crashes so I don't think it hurts to have this in.</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;">I can't reproduce it in my desktop but Alex and Michael have been running this patch for weeks and can certainly say that the crashing situation has improved (i.e. no crashes in days with this patch and crashes daily without it).</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>plasma/generic/applets/notifications/contents/ui/NotificationDelegate/NotificationDelegate.qml <span style="color: grey">(bf33eb1)</span></li>
<li>plasma/generic/applets/notifications/contents/ui/Notifications.qml <span style="color: grey">(114ead2)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/113471/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>