On Wed, Jan 11, 2012 at 1:05 PM, Jarred Nicholls <[email protected]> wrote:
> On Tue, Jan 10, 2012 at 11:08 PM, Leo Franchi <[email protected]> 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 >> >> -- >> [email protected] KDAB (USA), LLC >> [email protected] The KDE Project >> >> -- >> [email protected] KDAB (USA), LLC >> [email protected] 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 [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
