[WebKit-devel] [Bug 227947] browserbenchmark "peacekeeper" causes crash in the first stage

Dawit Alemayehu adawit at kde.org
Mon Apr 26 01:56:33 CEST 2010


https://bugs.kde.org/show_bug.cgi?id=227947





--- Comment #9 from Dawit Alemayehu <adawit kde org>  2010-04-26 01:56:29 ---
(In reply to comment #8)
> In my system (KDE 4.4 from branches, Qt 4.6.2, rekonq git master) rekonq
> crashes every time in the peacekeeper test. konqueror never (Also if it "fails"
> the test, 50% of the times). Arora "wins" every time.
> So, I'm quite sure this is NOT a *webkit issue but a KIO one. Moreover,
> launching rekonq from the terminal, we have these "strange" messages (possibly
> related to this problem), that I never see in konqueror (khtml or webkit):

Well if you use multi-threading in your application and somehow access a kio
job generated in one thread from a completely different one, you can indeed
have unexecpted crashe. You should actually check to see if you get "KIO is not
thread-safe." warning message in your .xsession-error or X.err files or on the
command line where you started it.

> rekonq(2259)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished:
> KIO::TransferJob(0xae7cc28) KIO::Slave(0xad219c8)
> rekonq(2259)/kio (Scheduler) KIO::SchedulerPrivate::cancelJob: Doing nothing
> because I don't know job KIO::TransferJob(0xae7cc28)
> rekonq(2259)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished:
> KIO::TransferJob(0xae80668) KIO::Slave(0xaca1168)
> rekonq(2259)/kio (Scheduler) KIO::SchedulerPrivate::cancelJob: Doing nothing
> because I don't know job KIO::TransferJob(0xae80668)

I get that a lot too with Konqueror + kwebkitpart. It is benign and you can
ignore it. It seems to be debug statement that comes from a sanity check to
prevent multiple deletion of an already deleted ioslave...

> So, without having read 1 line of code about yet, situation seems the
> following:
> - kio::scheduler doesn't "know" rekonq requests, while "knows" konqueror's
> ones.

I am not familiar with the new scheduler code because it has been re-written
for KDE 4.5 by Andreas, but the above statement does not make any sense if you
look at the code. You can effectively ignore the bogus/unclear debug for the
reasons I stated above. Anyhow, it is entirely possible the bug stems from this
scheduler rewrite. With all the new functionality and features added to it, the
schduler has become more complicated than it was... More complications/features
almost always by definition entails the introduction of new bugs. I know
because I have been stuck fixing a lot of bugs in kio_http which was re-written
for KDE 4.

> - (going ahead with imagination..)
> - in "heavy load" situations (such the peacekeeper test is) this lets
> kio-rekonq use something forbidden (or just deleted). And crash!

Doubt it. It is more likely caused by something else. Like accessing the same
KIO job from multiple thread for example. However, no matter what I do here, I
cannot duplicate the crash at all and the test finishes completely. I will
retest

> Ok, sorry for the last lines. :)
> Time to start "KIO investigation"..

Can you try to comment out the deprecated KIO::Scheduler::scheduleJob(...) from
KIO::AccessManager::createRequest and see if that makes any difference in your
case ? I doubt it, but never hurts to try...

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the WebKit-devel mailing list