<div class="gmail_quote">On Tue, Jan 10, 2012 at 9:37 PM, Leo Franchi <span dir="ltr"><<a href="mailto:lfranchi@gmail.com">lfranchi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div class="h5"><div><div>On Jan 10, 2012, at 2:45 PM, Jarred Nicholls wrote:</div><br><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" target="_blank">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" target="_blank">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><br></div></div></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" target="_blank">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" target="_blank">https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/4e104bc438c21ef63a6a4227a142d36bf2401b2e</a></div>
<div><a href="https://gitorious.org/~lfranchi/webkit/lfranchis-qtwebkit/commit/1606e202891b856ad0fdae80288ccdbf8d6765e1" target="_blank">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" target="_blank">https://github.com/ariya/phantomjs/blob/master/deploy/qt48_fix_inspector.patch</a></div>
<div><br></div><div>cheers,</div><div>leo</div><span class="HOEnZb"><font color="#888888"><br><div>
<div style="word-wrap:break-word"><div><div>--</div><div><a href="mailto:leo@kdab.com" target="_blank">leo@kdab.com</a> KDAB (USA), LLC</div><div><a href="mailto:lfranchi@kde.org" target="_blank">lfranchi@kde.org</a> The KDE Project</div>
</div></div>
</div>
<br></font></span></div></blockquote></div><br><div>Thanks very much Leo for the information! I did indeed see the patches for the websocket server on phantomjs issues, but didn't catch the latter two. I will check them out right now and see how they fare!</div>
<div><br></div><div>Many thanks,<br>Jarred</div>