[webkit-qt] QtWebkit 2.2.1 - Script Debugger Locks Inspector UI

Leo Franchi lfranchi at kde.org
Tue Jan 10 20:08:08 PST 2012


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-qt/attachments/20120110/c306628c/attachment-0001.html>


More information about the webkit-qt mailing list