RESOLVED FIXED 74859
[Qt] WK2 Debugging quirks need some improvement
https://bugs.webkit.org/show_bug.cgi?id=74859
Summary [Qt] WK2 Debugging quirks need some improvement
Balazs Kelemen
Reported 2011-12-19 05:51:37 PST
It is very useful to generate a core dump for a crashing tests because sometimes there is no other way to catch the crash in the debugger. This is even more useful with WK2 because catching the crash in the web process is even more complicated. Unfortunately the crash handlers we install for DRT and WTR to produce a backtrace with the bots - which is otherwise very useful - hides the actual crash so no core dump is generated. That's why I plan to add a way to disable them via setting an environment variable.
Attachments
Patch (3.98 KB, patch)
2011-12-19 05:59 PST, Balazs Kelemen
no flags
Patch (5.65 KB, patch)
2011-12-19 08:05 PST, Balazs Kelemen
no flags
Patch (7.29 KB, patch)
2011-12-19 09:27 PST, Balazs Kelemen
no flags
Patch (6.49 KB, patch)
2011-12-20 06:06 PST, Balazs Kelemen
no flags
Balazs Kelemen
Comment 1 2011-12-19 05:59:58 PST
Kenneth Rohde Christiansen
Comment 2 2011-12-19 06:18:24 PST
Comment on attachment 119855 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=119855&action=review > Tools/ChangeLog:9 > + Crash handlers are disabled if the QT_WEBKIT_INSTALL_CRASH_HANDLERS environment variable QT_WEBKIT_TREAD_CRASHES_GRACEFULLY? or can we make a more descriptive word that doesn't spell our the implementation details?
Csaba Osztrogonác
Comment 3 2011-12-19 06:40:56 PST
or what about QTWEBKIT_DISABLE_CRASH_HANDLERS?
Balazs Kelemen
Comment 4 2011-12-19 08:05:33 PST
Balazs Kelemen
Comment 5 2011-12-19 09:27:24 PST
Created attachment 119871 [details] Patch Disable the test timeout in the UI side as well.
Simon Hausmann
Comment 6 2011-12-20 02:00:06 PST
Comment on attachment 119871 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=119871&action=review > Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp:92 > - if (getenv("QT_WEBKIT_KEEP_ALIVE_WEB_PROCESS")) > + if (qgetenv("QT_WEBKIT2_DEBUG") == QByteArray("1")) It is faster to just write if (qgetenv("QT_WEBKIT2_DEBUG") == "1") and avoid the temporary QByteArray (with its malloc). qbytearray.h defines inline bool operator==(const QByteArray &a1, const char *a2) > Tools/WebKitTestRunner/qt/TestControllerQt.cpp:114 > +void TestController::platformRunUntil(bool& done, double timeout) > { > + if (qgetenv("QT_WEBKIT2_DEBUG") == QByteArray("1")) { > + // Never timeout if we are debugging. > + TestControllerRunLoop::instance()->startWithCondition(done); > + return; > + } > + This code needs to be adapted to the removal of TestControllerRunLoop :)
Balazs Kelemen
Comment 7 2011-12-20 06:06:05 PST
Balazs Kelemen
Comment 8 2011-12-20 07:22:04 PST
Comment on attachment 120019 [details] Patch Clearing flags on attachment: 120019 Committed r103329: <http://trac.webkit.org/changeset/103329>
Balazs Kelemen
Comment 9 2011-12-20 07:22:11 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.