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

Jarred Nicholls jarred at webkit.org
Fri Jan 13 06:41:49 PST 2012


On Thu, Jan 12, 2012 at 7:24 PM, Kenneth Rohde Christiansen <
kenneth.christiansen at gmail.com> wrote:

> Hey Jarred, Are you going to upstream these patches then?
>
> Kenneth
>

I'd be happy to if Leo doesn't have the time, giving him author credit of
course.  It's not obvious to me if there are any layout tests for remote
inspector support, and I certainly don't see any relevant skipped tests in
Qt.  Anyone familiar?

Thanks,
Jarred


>
> 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 ﹆﹆﹆
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-qt/attachments/20120113/2ae87fa1/attachment.html>


More information about the webkit-qt mailing list