branches/KDE/3.5/kdelibs/kio/kio

Aaron J. Seigo aseigo at kde.org
Mon Dec 5 18:11:51 GMT 2005


short version:

> > i'm not going to simply re-commit, because i think that kind of commit
> > fighting is not useful. i'd like to request permission to recommit my
> > changes so that 3.5.1 might not suck as much in such an obviously stupid
> > way.
>
> Absolutely no. I sent you the proper patch for KDirListerCache already and
> I told you why I didn't commit it yet (see attachment). I'll commit it
> soon. Soon enough for KDE 3.5.1,

as long as it's there for 3.5.1 and it actually works. that's what matters.

long version, primarily for michael:

On Monday 05 December 2005 10:45, Michael Brade wrote:
> On Thursday 01 December 2005 20:12, Aaron J. Seigo wrote:
> > UNBELIEVABLE.
> >
> > i discussed this with brade, alright. but it was NOT to revert this
> > change. this change should not in practice affect anyone IMHO (since the
> > problem was ONLY trigged in situations where something went wrong anyways
> > and this simply protected as well as possible against it). the times when
> > this affected anyone would be in situations such as kicker.
>
> Well gee ey? What's going on with you, you're writing this almost two weeks
> after I reverted, which was still *before* our discussion, we have
> exchanged about 6 emails each since then, discussing the real cause and the
> proper fix!

when we talked, you told me that your reversion had been made after the 
tagging for 3.5.0. so i wasn't exactly overly concerned about rushing about 
and ensuring that anything was done since we had until 3.5.1 ... then i 
started getting crash reports again over this bug, and so i go and check the 
commits and sure enough, there it is. and yes, that made me a little less 
than happy.

> Now pretending you didn't get my (pseudo-)patch I sent with my 
> second last mail?

no. i'm pretending i haven't seen any fixes made to svn, because that's what's 
happened thus far.

meanwhile i've been replying to (and apologizing to) people for whom kicker is 
crashing in 3.5 on every exit. i just dealt with two more of them today 
alone.

> And ranting exactly at the time I left for Venezuela, 
> right after my last diploma examination, about two days before I actually
> wanted to start debugging KLibLoader, which I did tell you more than a week
> ago already?

sorry, i haven't been keeping your schedule on my calendar. and my issue is 
not 3.5.1 (the crash will be fixed in that release, one way or another) but 
the 3.5 release.

> I don't understand you anymore, honestly. 

you understood me before? ;P

> > and NO, kicker can't fix this because it is out of kicker's control. it's
> > the confluence of various kdelibs classes each individually doing The
> > Right Thing for themselves, but not working together (static object
> > deletion based cleanup on app exit). in this case, particularly
> > klibloader and kdirlister.
>
> we don't actually know for sure yet.

yes, actually, i do.

> > and NOW we hae a 3.5.0 where kicker crashes on logout EVERY TIME in the
> > DEFAULT CONFIGURATION. this is beyond stupid.
>
> Mind you, it was not THIS commit that did that, this is KDE_3_5_BRANCH and
> we still have more than enough time to fix it.

3.5.0 went out without my fix. there is no time to fix that at this point. 

>   - this is my code (sadly there are not many people yet who understand the
>     big picture of KDirListerCache) and you did not tell me anything about
>     your problem before committing the flawed fix,

perhaps you should talk to dfaure and explain to him that it's flawed too 
then. he's look at it.

>     you did not even send it to core-devel, and you committed it during the
>     freeze, so I don't think 
> it's ok for you to complain *NOW* that Kicker crashes and that I don't want
> a really bad hack in my code that *I* need to debug later on.

here's my priority: user's having a good experience. 

leaving my patch in there for 3.5.0 wouldn't have made one whit of difference 
for you and your debugging but sure would've made a lot of other people's 3.5 
experience a lot nicer.

>   - your fix would have made it impossibly difficult to debug the crashes
> that are still left in KDirListerCache (probably about 1-2 of them) by
> violating one of KDirListerCache's core invariants. All future KDE 3.5.0
> reports would be a lot closer to "useless" with your patch in.

again, this only affects things when that invariant was violated in the first 
place. and the time it seems to be violated (app termination) makes it rather 
improbable that it would lead to further crashes if your descriptions of 
those cases were comprehensive in our private conversations.

of course, we can tell all this to the people whose kicker is once again 
crashing. i'm sure they'll care. =(

> > i spent a fair amount of time working this through and had a long
> > conversation with michael about this via private email. and now, to cover
> > a theoretical issue, we have a very real practical issue.
>
> Ok, to make this clear for the public: Aaron spend this time *before* our
> discussion and I told him why his patch was completely wrong.

and i respectfully disagree that the patch is completely wrong. maybe there is 
a better fix, but it provided the pragmatically correct results and in time 
for 3.5.0.

> I reverted this before our main discussion as well, 

which is to say you reverted with no discussion. that's my issue here.

> after telling him that the fix 
> won't be in KDE 3.5.0 (suggested by Coolo), so it's not like I said
> something to Aaron and did it the other way around behind his back.

well, as i recall, you said that my changes weren't in 3.5.0 and then later 
came back and said that you reverted it too late for 3.5.0 tagging and so 
trusting you i figured the problem was now a 3.5.1 issue. ergo i took a 
wait-and-work-it-out-patiently approach. in the end it was our users who got 
screwed, regardless.

> I even sent a patch that would change KDirListerCache *properly*.

it didn't get into 3.5 and i don't see it there yet either, so at this point 
this is purely academic.

> The obvious patch is to check in the KDirLister DTOR if the cache is still
> there, no need to spend days just to hack one of the core methods in
> KDirListerCache with the purpose to delay the crash long enough so that
> Kicker can quit before it. It took me about 2 minutes to find the problem
> and the patch---after updating, freeing space on my hd and recompiling my
> KDE (-libs) with debugging symbols, which took a lot longer.

once i figured out what the problem was, it took a few minutes to zero in on a 
fix, too. it was figuring out what the cause was (static variable lifetimes) 
and where the problem was exactly (unsafe assumptions being made in 
kdirlister's implementation) that took the time.

> but not before I have debugged the problem 
> to maybe find a fix for the real cause, a fix for KLibLoader, or Kicker, or
> whatever.

i thought you said above that you fixed it in 2 minutes? ;)

all kidding aside, though, i've looked through this. feel free to do so again, 
but i'd hate to see you spend time duplicating that work.

> The least understandable part about your reaction is that you actually want
> to put your hack back in KDirListerCache right now, instead of forcing me
> to put my new patch in as soon as possible. The reasoning behind the latter
> I would at least have been able to follow.

if your patch gets there in time for 3.5.1 great. i'm not going to let 3.5.1 
ship with this problem, though, and i had no actual commitment from you that 
it would be done in time for 3.5.1 until this email. i just knew you were 
busy for the next while travelling, studying, etc...

my reaction was impassioned, and that's because i was told 3.5.0 was going to 
ship without the crash and that obviously was not the truth. given the impact 
to our users and how it makes 3.5.0 look, i just can not fathom the purpose 
or point behind that move and even less so your defense of it.

had i known this fix had not made it in, i would have changed the defaults for 
kicker so at least the default installation did not crash, for instance. =(

-- 
Aaron J. Seigo
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

Full time KDE developer sponsored by Trolltech (http://www.trolltech.com)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20051205/eb2b0a20/attachment.sig>


More information about the kde-core-devel mailing list