<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/111052/">http://git.reviewboard.kde.org/r/111052/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On June 17th, 2013, 6:42 a.m. UTC, <b>Andreas Pakulat</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;">Can you post a backtrace? I don't see why these changes would be necessary except when there's a bug elsewhere. Why does kdelibs assert on reading from non-existing groups and why does it work just fine without the assert's enabled? This sounds like a kdelibs bug.</pre>
</blockquote>
<p>On June 17th, 2013, 11:21 a.m. UTC, <b>Aleix Pol Gonzalez</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;">If you really want backtraces I can provide them, but at a quick glance to the KConfigGroup you can see many of those:
Q_ASSERT_X(isValid(), "KConfigGroup::config", "accessing an invalid group");</pre>
</blockquote>
<p>On June 17th, 2013, 6:27 p.m. UTC, <b>Andreas Pakulat</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;">Yes I'd like to see a backtrace. In particular I'd like to know what exactly is invalid and why it is invalid. IMO the usage of a class called KConfigGroup that is there looks fine, so I think that there's either a bug elsewhere in our code or KConfigGroup is badly designed. I'd just like to verify what it is before applying a workaround (or maybe even move this to kdelibs to adjust the asserts if they're not needed at all).</pre>
</blockquote>
<p>On June 17th, 2013, 10:49 p.m. UTC, <b>Aleix Pol Gonzalez</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;">Here it is:
http://proli.net/meu/kdevelop/kdevelop-custombuildsystem.kcrash.txt
I won't argue about KConfigGroup being quite shitty, but having our code asserting is not good.</pre>
</blockquote>
<p>On June 18th, 2013, 7:18 a.m. UTC, <b>Andreas Pakulat</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;">Thanks, this definetly needs to be raised for kdelibs. I don't see a reason at the moment why KConfigGroup asserts if it can work with invalid groups anyway and generates the right files.
As far as the fix goes, I'd rather have a fix thats constrained to CustomBuildSystem::configuration, i.e. make sure a valid config group is returned from that function instead of possibly returning an invalid one and having to take care of that everywhere else. So if the 'current config' config group does not exist, create it there and then return it.</pre>
</blockquote>
<p>On June 18th, 2013, 10:47 a.m. UTC, <b>Aleix Pol Gonzalez</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;">Can you please take a look into this, then?</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;">I guess I could try, but since I don't have a kdelibs compiled in debug mode I won't know wether the problem is fixed or not.</pre>
<br />
<p>- Andreas</p>
<br />
<p>On June 18th, 2013, 10:47 a.m. UTC, Aleix Pol Gonzalez 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 KDevelop and Andreas Pakulat.</div>
<div>By Aleix Pol Gonzalez.</div>
<p style="color: grey;"><i>Updated June 18, 2013, 10:47 a.m.</i></p>
<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;">Well, I decided to give the CustomBuildSystem a try to develop a non-cmake project. It was crashing all the time because the configuration wasn't initialized and I got crashes because of usage of invalid KConfigGroup. I guess other people are not hitting this because their kdelibs is not compiled in debug and they don't get crashes on Q_ASSERT.
This patch only has changes to letting me work with it but I didn't put much attention on it. Still I'd like if Andreas could look into this and see what's the best solution-</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;">Managed to use it a bit, not much.</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>projectmanagers/custom-buildsystem/custombuildjob.cpp <span style="color: grey">(84ac8c2)</span></li>
<li>projectmanagers/custom-buildsystem/custombuildsystemplugin.cpp <span style="color: grey">(3d47dba)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/111052/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>