Qwebview Crash "qt5webkitd.dll! Wtfcrash () line 345 C + + "workaround

Source: Internet
Author: User

Today using Qwebview to make a simple browser, there are a few crashes, my Qt version is the latest 5.4.2, I believe 5.3.2 or lower version will also appear these problems.

Problem Recurrence:

1, Qwebview::load (URL), when the interface has not finished loading, double-click the control will crash;

2, when the load () process, the interface appears vertical scroll bar and did not fully load the completed time, using the mouse wheel or directly drag the scroll bar to the top or bottom of the crash (some pages appear).

The stack of crashes is as follows:


 qt5webkitd.dll! Wtfcrash () line 345c++ qt5webkitd.dll! Webcore::noexceptionassertionchecker::~noexceptionassertionchecker () line 48c++ qt5webkitd.dll! Webcore::range::range (WTF::P assrefptr<webcore::D ocument> ownerdocument, WTF::P assrefptr<webcore::node > startcontainer, int startoffset, WTF::P assrefptr<webcore::node> endcontainer, int endoffset) line 96C++ qt5webkitd.dll! Webcore::range::create (WTF::P assrefptr<webcore::D ocument> ownerdocument, WTF::P assrefptr<webcore::node > startcontainer, int startoffset, WTF::P assrefptr<webcore::node> endcontainer, int endoffset) line 101C++ qt5webkitd.dll! Webcore::simplifiedbackwardstextiterator::range () line 1368c++ qt5webkitd.dll! WebCore::p reviousboundary (const webcore::visibleposition & c, unsigned int (const wchar_t *, unsigned int, unsigned in T, Webcore::boundarysearchcontextavailability, BOOL &) * searchfunction) line 513c++ qt5webkitd.dll! Webcore::startofword (const webcore::visibleposition & C, webcore::ewordside SIDe) Line 639c++ qt5webkitd.dll! Webcore::visibleselection::setstartandendfrombaseandextentrespectinggranularity (WebCore::TextGranularity Granularity) Line 299c++ qt5webkitd.dll! Webcore::visibleselection::validate (webcore::textgranularity granularity) line 418c++ Qt5WebKitd.dll! Webcore::visibleselection::expandusinggranularity (webcore::textgranularity granularity) line 198C++ Qt5WebKitd.dll! Webcore::eventhandler::selectclosestwordfromhittestresult (const Webcore::hittestresult & result, WebCore:: Appendtrailingwhitespace appendtrailingwhitespace) Line 495c++ qt5webkitd.dll! Webcore::eventhandler::selectclosestwordfrommouseevent (const webcore::mouseeventwithhittestresults & result) line 508c++ qt5webkitd.dll! Webcore::eventhandler::handlemousepresseventdoubleclick (const Webcore::mouseeventwithhittestresults & event) line 543c++ qt5webkitd.dll! Webcore::eventhandler::handlemousepressevent (const Webcore::mouseeventwithhittestresults & event) Line 708C++ qt5webkitd.dll! Webcore::eventhandler::handlemouseprEssevent (const WebCore::P latformmouseevent & mouseEvent) line 1636c++ qt5webkitd.dll! Qwebpageadapter::mousedoubleclickevent (qmouseevent * ev) line 547c++ qt5webkitwidgetsd.dll! Qwebpage::event (qevent * ev) line 2564c++ qt5webkitwidgetsd.dll! Qwebview::mousedoubleclickevent (qmouseevent * ev) line 886c++ qt5widgetsd.dll! Qwidget::event (qevent * Event) line 8662c++ qt5webkitwidgetsd.dll! Qwebview::event (Qevent * e) line 734c++ qt5widgetsd.dll! Qapplicationprivate::notify_helper (Qobject * receiver, qevent * e) line 3720c++ qt5widgetsd.dll! Qapplication::notify (Qobject * receiver, qevent * e) line 3280c++ qt5cored.dll! Qcoreapplication::notifyinternal (Qobject * receiver, qevent * Event) Line 935c++>qt5cored.dll! Qcoreapplication::sendspontaneousevent (Qobject * receiver, qevent * Event) line 231c++ qt5widgetsd.dll! Qapplicationprivate::sendmouseevent (Qwidget * receiver, qmouseevent * event, Qwidget * alienwidget, Qwidget * NativeWidge T, Qwidget * * Buttondown, qpointer<qwidget> & Lastmousereceiver, BOOL SpontaneoUS) line 2751c++ qt5widgetsd.dll! Qwidgetwindow::handlemouseevent (qmouseevent * Event) line 543c++ qt5widgetsd.dll! Qwidgetwindow::event (qevent * Event) line 211c++ qt5widgetsd.dll! Qapplicationprivate::notify_helper (Qobject * receiver, qevent * e) line 3720c++ qt5widgetsd.dll! Qapplication::notify (Qobject * receiver, qevent * e) line 3164c++ qt5cored.dll! Qcoreapplication::notifyinternal (Qobject * receiver, qevent * Event) line 935c++ qt5cored.dll! Qcoreapplication::sendspontaneousevent (Qobject * receiver, qevent * Event) line 231c++ qt5guid.dll! Qguiapplicationprivate::p rocessmouseevent (qwindowsysteminterfaceprivate::mouseevent * e) line 1812C++ Qt5Guid.dll! Qguiapplicationprivate::p rocesswindowsystemevent (qwindowsysteminterfaceprivate::windowsystemevent * e) line 1573C++ qt5guid.dll! Qwindowsysteminterface::sendwindowsystemevents (qflags<enum qeventloop::P rocesseventsflag> flags) line 572C++ qwindowsd.dll! Qwindowsguieventdispatcher::sendpostedevents () line 82c++ qt5cored.dll!qt_internal_proc (HWND__ * HWND, unsigned int message, unsigned int WP, long LP) line 414c++ [External code] [the following frame may be incorrect and/or missing, no symbols are loaded for user32.dll] qt5cored.dll! QEventDispatcherWin32::p rocessevents (qflags<enum qeventloop::P rocesseventsflag> flags) line 807c++ Qwindowsd.dll ! Qwindowsguieventdispatcher::p rocessevents (qflags<enum qeventloop::P rocesseventsflag> flags) line 73C++ qt5cored.dll! Qeventloop::p rocessevents (qflags<enum qeventloop::P rocesseventsflag> flags) line 129c++ qt5cored.dll! Qeventloop::exec (qflags<enum qeventloop::P rocesseventsflag> flags) line 204c++ qt5cored.dll! Qcoreapplication::exec () line 1188c++ qt5guid.dll! Qguiapplication::exec () line 1508c++ qt5widgetsd.dll! Qapplication::exec () line 2957c++ minibrowser.exe!main (int argc, char * * argv) line 39c++ minibrowser.exe! WinMain (hinstance__ * __formal, hinstance__ * __formal, char * __formal, int __formal) line 113c++ [external code]

 qt5webkitd.dll! Wtfcrash () line 345c++ qt5webkitd.dll! Webcore::renderlayer::updatelayerpositionsafterscroll (Webcore::rendergeometrymap * geometryMap, unsigned int flags) Line 812c++ qt5webkitd.dll! Webcore::renderlayer::updatelayerpositionsafterscroll (Webcore::rendergeometrymap * geometryMap, unsigned int flags) Line 816c++ qt5webkitd.dll! Webcore::renderlayer::updatelayerpositionsafterscroll (Webcore::rendergeometrymap * geometryMap, unsigned int flags) Line 816c++ qt5webkitd.dll! Webcore::renderlayer::updatelayerpositionsafterscroll (Webcore::rendergeometrymap * geometryMap, unsigned int flags) Line 816c++ qt5webkitd.dll! Webcore::renderlayer::updatelayerpositionsafterscroll (Webcore::rendergeometrymap * geometryMap, unsigned int flags) Line 816c++ qt5webkitd.dll! Webcore::renderlayer::updatelayerpositionsafterscroll (Webcore::rendergeometrymap * geometryMap, unsigned int flags) Line 816c++ qt5webkitd.dll! Webcore::renderlayer::updatelayerpositionsafterdocumentscroll () line 763c++ qt5webkitd.dll! Webcore::frameview::rEpaintfixedelementsafterscrolling () line 2071c++ qt5webkitd.dll! Webcore::scrollview::scrollto (const webcore::intsize & newoffset) row 398c++ qt5webkitd.dll! Webcore::frameview::scrollto (const webcore::intsize & newoffset) row 3113c++ qt5webkitd.dll! Webcore::scrollview::setscrolloffset (const Webcore::intpoint & offset) line 379c++ qt5webkitd.dll! Webcore::scrollablearea::scrollpositionchanged (const webcore::intpoint & position) row 147c++ qt5webkitd.dll! Webcore::scrollablearea::setscrolloffsetfromanimation (const Webcore::intpoint & offset) line 191c++ Qt5WebKitd.dll! Webcore::scrollanimator::notifypositionchanged (const webcore::floatsize & Delta) line 143c++ qt5webkitd.dll! Webcore::scrollanimator::scroll (webcore::scrollbarorientation orientation, webcore::scrollgranularity __formal, Float step, float multiplier) line 73c++ qt5webkitd.dll! Webcore::scrollanimator::handlewheelevent (const WebCore::P latformwheelevent & E) line 115c++ qt5webkitd.dll! Webcore::scrollablearea::handlewheelevent (Const WebCore::P latformwheelevent & wheelevent) line 177c++ qt5webkitd.dll! Webcore::frameview::wheelevent (const WebCore::P latformwheelevent & wheelevent) line 4188c++ qt5webkitd.dll! Webcore::eventhandler::handlewheelevent (const WebCore::P latformwheelevent & E) line 2463c++ qt5webkitd.dll! Qwebpageadapter::wheelevent (qwheelevent * ev, int wheelscrolllines) row 616c++ qt5webkitwidgetsd.dll! Qwebpage::event (qevent * ev) line 2614c++ qt5webkitwidgetsd.dll! Qwebview::wheelevent (qwheelevent * ev) line 922c++ qt5widgetsd.dll! Qwidget::event (qevent * Event) line 8666c++ qt5webkitwidgetsd.dll! Qwebview::event (Qevent * e) line 734c++ qt5widgetsd.dll! Qapplicationprivate::notify_helper (Qobject * receiver, qevent * e) line 3720c++ qt5widgetsd.dll! Qapplication::notify (Qobject * receiver, qevent * e) line 3339c++ qt5cored.dll! Qcoreapplication::notifyinternal (Qobject * receiver, qevent * Event) Line 935c++>qt5cored.dll! Qcoreapplication::sendspontaneousevent (Qobject * receiver, qevent * Event) line 231c++ qt5widgetsd.dll! QwidgEtwindow::handlewheelevent (qwheelevent * Event) line 715c++ qt5widgetsd.dll! Qwidgetwindow::event (qevent * Event) line 238c++ qt5widgetsd.dll! Qapplicationprivate::notify_helper (Qobject * receiver, qevent * e) line 3720c++ qt5widgetsd.dll! Qapplication::notify (Qobject * receiver, qevent * e) line 3164c++ qt5cored.dll! Qcoreapplication::notifyinternal (Qobject * receiver, qevent * Event) line 935c++ qt5cored.dll! Qcoreapplication::sendspontaneousevent (Qobject * receiver, qevent * Event) line 231c++ qt5guid.dll! Qguiapplicationprivate::p rocesswheelevent (qwindowsysteminterfaceprivate::wheelevent * e) line 1845C++ Qt5Guid.dll! Qguiapplicationprivate::p rocesswindowsystemevent (qwindowsysteminterfaceprivate::windowsystemevent * e) line 1576C++ qt5guid.dll! Qwindowsysteminterface::sendwindowsystemevents (qflags<enum qeventloop::P rocesseventsflag> flags) line 572C++ qwindowsd.dll! Qwindowsguieventdispatcher::sendpostedevents () line 82c++ qt5cored.dll!qt_internal_proc (HWND__ * HWND, unsigned int message, unsigned int WP, LONG LP) Line 414c++ [External code] [the following frame may be incorrect and/or missing, no symbols loaded for user32.dll] qt5cored.dll! QEventDispatcherWin32::p rocessevents (qflags<enum qeventloop::P rocesseventsflag> flags) line 807c++ Qwindowsd.dll ! Qwindowsguieventdispatcher::p rocessevents (qflags<enum qeventloop::P rocesseventsflag> flags) line 73C++ qt5cored.dll! Qeventloop::p rocessevents (qflags<enum qeventloop::P rocesseventsflag> flags) line 129c++ qt5cored.dll! Qeventloop::exec (qflags<enum qeventloop::P rocesseventsflag> flags) line 204c++ qt5cored.dll! Qcoreapplication::exec () line 1188c++ qt5guid.dll! Qguiapplication::exec () line 1508c++ qt5widgetsd.dll! Qapplication::exec () line 2957c++ minibrowser.exe!main (int argc, char * * argv) line 39c++ minibrowser.exe! WinMain (hinstance__ * __formal, hinstance__ * __formal, char * __formal, int __formal) line 113c++ [external code]


From the above can be seen, the final collapse of the place are: qt5webkitd.dll! Wtfcrash () line 345

Workaround:

Load () hides the control before using hide (), and when the loadfinished (bool OK) event is triggered, it does not crash.


Finally, advertising time, to help friends promote the site: Worry-free warehouse

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

Qwebview Crash "qt5webkitd.dll! Workaround for Wtfcrash () line 345c++ "

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.