<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jan 10, 2012, at 2:45 PM, Jarred Nicholls wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hey qtwebkittens,<div><br></div><div>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.</div>

<div><br></div><div><a href="https://bugs.webkit.org/show_bug.cgi?id=71271">https://bugs.webkit.org/show_bug.cgi?id=71271</a></div><div><br></div><div>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.</div>

<div><br></div><div>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 (<a href="https://bugs.webkit.org/show_bug.cgi?id=41142">https://bugs.webkit.org/show_bug.cgi?id=41142</a>) but I have a trunk build of QtWebKit @ r84622 (against Qt 4.7.4) that does not have this issue.</div></blockquote><div><br></div>Hi Jarred,</div><div><br></div><div>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. </div><div><br></div><div>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.</div><div><br></div><div>Here's the work to see if it fixes for you:</div><div><br></div><div>1) Updated Websocket implementation to latest spec to work against a recent chrome/webkit browser:</div><div><br></div><div><a href="https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/93a72f2657c2a8bb6863d5d2ffe8ce6faedd4598">https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/93a72f2657c2a8bb6863d5d2ffe8ce6faedd4598</a></div><div><br></div><div>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)</div><div><br></div><div><a href="https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/4e104bc438c21ef63a6a4227a142d36bf2401b2e">https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/4e104bc438c21ef63a6a4227a142d36bf2401b2e</a></div><div><a href="https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/1606e202891b856ad0fdae80288ccdbf8d6765e1">https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/1606e202891b856ad0fdae80288ccdbf8d6765e1</a></div><div><br></div><div>The latter two patches I hope should fix your issue. All 3 are also available as a standalone patch against qt 4.8 here:</div><div><br></div><div><a href="https://github.com/ariya/phantomjs/blob/master/deploy/qt48_fix_inspector.patch">https://github.com/ariya/phantomjs/blob/master/deploy/qt48_fix_inspector.patch</a></div><div><br></div><div>cheers,</div><div>leo</div><br><div apple-content-edited="true">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>--</div><div><a href="mailto:leo@kdab.com">leo@kdab.com</a>                                 KDAB (USA), LLC</div><div><a href="mailto:lfranchi@kde.org">lfranchi@kde.org</a>                             The KDE Project</div></div></div>
</div>
<br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>--</div><div><a href="mailto:leo@kdab.com">leo@kdab.com</a>                                 KDAB (USA), LLC</div><div><a href="mailto:lfranchi@kde.org">lfranchi@kde.org</a>                             The KDE Project</div></div></div></span></span>
</div>

<br></body></html>