[webkit-qt] QtWebkit 2.2.1 - Script Debugger Locks Inspector UI
Kenneth Rohde Christiansen
kenneth.christiansen at gmail.com
Thu Jan 12 16:24:02 PST 2012
Hey Jarred, Are you going to upstream these patches then?
Kenneth
On Thu, Jan 12, 2012 at 10:05 PM, Jarred Nicholls <jarred at webkit.org> wrote:
> On Wed, Jan 11, 2012 at 1:05 PM, Jarred Nicholls <jarred at webkit.org> wrote:
>>
>> On Tue, Jan 10, 2012 at 11:08 PM, Leo Franchi <lfranchi at kde.org> wrote:
>>>
>>> On Jan 10, 2012, at 2:45 PM, Jarred Nicholls wrote:
>>>
>>> Hey qtwebkittens,
>>>
>>> My company has charged me with resolving a very nasty issue with QtWebKit
>>> 2.2.1's web inspector interface (built from Qt 4.8.0 source), which locks up
>>> when one pauses script at a breakpoint.
>>>
>>> https://bugs.webkit.org/show_bug.cgi?id=71271
>>>
>>> CPU on the process goes to 100% and it looks like the EventLoop just runs
>>> on and on (calling QCoreApplication::processEvents), but isn't processing UI
>>> events in the inspector interface at all.
>>>
>>> Before spending much more time trying to analyze this issue and scouring
>>> changesets, has anyone experienced this themself and/or have any indication
>>> of what the issue is or how to fix it? This appears to have been an issue
>>> in the past (https://bugs.webkit.org/show_bug.cgi?id=41142) but I have a
>>> trunk build of QtWebKit @ r84622 (against Qt 4.7.4) that does not have this
>>> issue.
>>>
>>>
>>> Hi Jarred,
>>>
>>> It might be the issue I fixed recently in my qtwebkit fork---I added
>>> support for phantomjs remote debugging, and ran into this exact same thing.
>>> Turns out in a few places setting a breakpoint caused processing of the
>>> incoming events from the JS side of the debugger to fail.
>>>
>>> I mentioned my fixes to jturcotte but didn't get much interest---if there
>>> is interest I will gladly clean up my patches and get these fixes upstream.
>>>
>>> Here's the work to see if it fixes for you:
>>>
>>> 1) Updated Websocket implementation to latest spec to work against a
>>> recent chrome/webkit browser:
>>>
>>>
>>> https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/93a72f2657c2a8bb6863d5d2ffe8ce6faedd4598
>>>
>>> 2) 2 fixes for hanging on breakpoint (one requires the above commit, but
>>> is easy enough to apply against trunk if you read the code)
>>>
>>>
>>> https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/4e104bc438c21ef63a6a4227a142d36bf2401b2e
>>>
>>> https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/1606e202891b856ad0fdae80288ccdbf8d6765e1
>>>
>>> The latter two patches I hope should fix your issue. All 3 are also
>>> available as a standalone patch against qt 4.8 here:
>>>
>>>
>>> https://github.com/ariya/phantomjs/blob/master/deploy/qt48_fix_inspector.patch
>>>
>>> cheers,
>>> leo
>>>
>>> --
>>> leo at kdab.com KDAB (USA), LLC
>>> lfranchi at kde.org The KDE Project
>>>
>>> --
>>> leo at kdab.com KDAB (USA), LLC
>>> lfranchi at kde.org The KDE Project
>>>
>>
>> Hi Leo,
>>
>> I tried the patch on vanilla Qt 4.8 and unfortunately it did not resolve
>> the issue for me :( I will keep digging. Thanks!
>>
>> Jarred
>
>
> Hi Leo,
>
> FYI, I did get remote debugging to work, it was a stupid mistake on my part.
> I narrowed down the issue of local debugging; it seems the inspector's JS
> context is paused when the Frame's context is paused. I added some
> debugging to WebInspector.dispatch() in inspector.js, and it seems that
> execution of the inspector itself is paused. I resumed the code execution
> manually in ScriptDebugServer via GDB and the inspector's code resumes.
> It's a little bizarre, but since I got remote debugging to work (thanks to
> your patch!) this will suffice for now.
>
> Cheers,
> Jarred
>
> _______________________________________________
> webkit-qt mailing list
> webkit-qt at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
>
--
Kenneth Rohde Christiansen
Senior Engineer
Nokia Mobile Phones, Browser / WebKit team
Phone +45 4093 0598 / E-mail kenneth at webkit.org
http://codeposts.blogspot.com ﹆﹆﹆
More information about the webkit-qt
mailing list