[Webkit-unassigned] [Bug 29566] New: [Qt] WebKit crash when showing JavaScript prompt immediately upon pa ge load

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Sep 21 08:14:16 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=29566

           Summary: [Qt] WebKit crash when showing JavaScript prompt
                    immediately upon pa ge load
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Other
        OS/Version: Mac OS X 10.5
            Status: NEW
          Keywords: Qt
          Severity: Normal
          Priority: P2
         Component: New Bugs
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: vestbo at webkit.org


This bug report originated from Nokia internal issue QT-1736


--- Comments ---

Product
Qt

Function
webkit

Version
4.5.2

Platform
Mac OS X

Platform details
Mac OS X 10.5.7, quad-core 2.66 GHz Mac Pro.

Compilers
GCC

Compiler details
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)

Subject
WebKit crash when showing JavaScript prompt immediately upon page load

Steps to reproduce / test case
Build and run the attached project.
In the Address field, type the path to the crash.html file included in the zip
file.  ("../../../crash.html" should work.)
When the prompt appears, press either Cancel or OK, or hit escape or return.
If another prompt appears, repeat.
If the application does not crash, hit return to reload the page.
Observe that within a few loads, the application crashes.

More information
This bug is a memory smasher.  Oftentimes, you will see the following written
out to the console after loading the page:

QtWebKitCrashReduction2(12355) malloc: *** error for object 0x200000: pointer
being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

The stack trace when it eventually crashes varies, of course, but here are a
couple I've seen:

0   QtCore                         0x003e4446
QCoreApplication::postEvent(QObject*, QEvent*, int) + 38
1   QtCore                         0x003e46e0
QCoreApplication::postEvent(QObject*, QEvent*) + 32
2   QtCore                         0x003f0ce9 QObject::deleteLater() + 57
3   QtWebKit                       0x01a8afb0
WebCore::QNetworkReplyHandler::finish() + 720
4   QtWebKit                       0x01a8b2be
WebCore::QNetworkReplyHandler::qt_metacall(QMetaObject::Call, int, void**) +
126
5   QtCore                         0x003f0c2b
QMetaCallEvent::placeMetaCall(QObject*) + 43
6   QtCore                         0x003f3b84 QObject::event(QEvent*) + 548
7   QtGui                          0x029a691f
QApplicationPrivate::notify_helper(QObject*, QEvent*) + 191
8   QtGui                          0x029ad43c QApplication::notify(QObject*,
QEvent*) + 268
9   QtCore                         0x003e0c52
QCoreApplication::notifyInternal(QObject*, QEvent*) + 98
10  QtCore                         0x003e3f81
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 705
11  QtGui                          0x029521a8
QEventDispatcherMacPrivate::postedEventsSourcePerformCallback(void*) + 56
12  com.apple.CoreFoundation       0x9463f595 CFRunLoopRunSpecific + 3141
13  com.apple.CoreFoundation       0x9463fc78 CFRunLoopRunInMode + 88
14  com.apple.HIToolbox            0x9355028c RunCurrentEventLoopInMode + 283
15  com.apple.HIToolbox            0x935500a5 ReceiveNextEventCommon + 374
16  com.apple.HIToolbox            0x93693357 ReceiveNextEvent + 58
17  QtGui                          0x02952769
QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
+ 313
18  QtCore                         0x003e0201
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 65
19  QtCore                         0x003e03ad
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 157
20  QtCore                         0x003e41fe QCoreApplication::exec() + 174

0   libSystem.B.dylib              0x94140e42 __kill + 10
1   libSystem.B.dylib              0x941b323a raise + 26
2   libSystem.B.dylib              0x941bf679 abort + 73
3   libstdc++.6.dylib              0x91110005 0x910c8000 + 294917
4   libstdc++.6.dylib              0x9110e10c __gxx_personality_v0 + 1108
5   libstdc++.6.dylib              0x9110e14b std::terminate() + 29
6   libstdc++.6.dylib              0x9110e6da std::type_info::~type_info() + 0
7   QtWebKit                       0x01966079
WebCore::TimerBase::fireTimers(double, WTF::Vector<WebCore::TimerBase*,
0ul> const&) + 137
8   QtWebKit                       0x01966142
WebCore::TimerBase::sharedTimerFired() + 162
9   QtCore                         0x003f3b08 QObject::event(QEvent*) + 424
10  QtGui                          0x029a691f
QApplicationPrivate::notify_helper(QObject*, QEvent*) + 191
11  QtGui                          0x029ad43c QApplication::notify(QObject*,
QEvent*) + 268
12  QtCore                         0x003e0c52
QCoreApplication::notifyInternal(QObject*, QEvent*) + 98
13  QtGui                          0x029a495c qt_sendSpontaneousEvent(QObject*,
QEvent*) + 60
14  QtGui                          0x029522f8
QEventDispatcherMacPrivate::activateTimer(__CFRunLoopTimer*, void*) + 152
15  com.apple.CoreFoundation       0x9463fac5 CFRunLoopRunSpecific + 4469
16  com.apple.CoreFoundation       0x9463fc78 CFRunLoopRunInMode + 88
17  com.apple.HIToolbox            0x9355028c RunCurrentEventLoopInMode + 283
18  com.apple.HIToolbox            0x9354ffde ReceiveNextEventCommon + 175
19  com.apple.HIToolbox            0x93693357 ReceiveNextEvent + 58
20  QtGui                          0x02952769
QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
+ 313
21  QtCore                         0x003e0201
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 65
22  QtCore                         0x003e03ad
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 157
23  QtCore                         0x003e41fe QCoreApplication::exec() + 174

0   QtWebKit                       0x0180f7cf
WebCore::HTMLTokenizer::parseEntity(WebCore::SegmentedString&, unsigned
short*&, WebCore::HTMLTokenizer::State, unsigned int&, bool, bool) +
1583
1   QtWebKit                       0x0181459c
WebCore::HTMLTokenizer::write(WebCore::SegmentedString const&, bool) + 1900
2   QtWebKit                       0x01862cb8 WebCore::FrameLoader::write(char
const*, int, bool) + 472
3   QtWebKit                       0x01863367
WebCore::FrameLoader::addData(char const*, int) + 39
4   QtWebKit                       0x01aa6271
WebCore::FrameLoaderClientQt::committedLoad(WebCore::DocumentLoader*, char
const*, int) + 193
5   QtWebKit                       0x01852ca6
WebCore::DocumentLoader::commitLoad(char const*, int) + 70
6   QtWebKit                       0x018a0cb5
WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool) + 69
7   QtWebKit                       0x01897d87
WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool)
+ 71
8   QtWebKit                       0x018a0748
WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*,
int, int) + 56
9   QtWebKit                       0x01a8acb1
WebCore::QNetworkReplyHandler::forwardData() + 209
10  QtWebKit                       0x01a8b2ce
WebCore::QNetworkReplyHandler::qt_metacall(QMetaObject::Call, int, void**) +
142
11  QtCore                         0x003f0c2b
QMetaCallEvent::placeMetaCall(QObject*) + 43
12  QtCore                         0x003f3b84 QObject::event(QEvent*) + 548
13  QtGui                          0x029a691f
QApplicationPrivate::notify_helper(QObject*, QEvent*) + 191
14  QtGui                          0x029ad43c QApplication::notify(QObject*,
QEvent*) + 268
15  QtCore                         0x003e0c52
QCoreApplication::notifyInternal(QObject*, QEvent*) + 98
16  QtCore                         0x003e3f81
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 705
17  QtGui                          0x029521a8
QEventDispatcherMacPrivate::postedEventsSourcePerformCallback(void*) + 56
18  com.apple.CoreFoundation       0x9463f595 CFRunLoopRunSpecific + 3141
19  com.apple.CoreFoundation       0x9463fc78 CFRunLoopRunInMode + 88
20  com.apple.HIToolbox            0x9355028c RunCurrentEventLoopInMode + 283
21  com.apple.HIToolbox            0x935500a5 ReceiveNextEventCommon + 374
22  com.apple.HIToolbox            0x93693357 ReceiveNextEvent + 58
23  QtGui                          0x02952769
QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
+ 313
24  QtCore                         0x003e0201
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 65
25  QtCore                         0x003e03ad
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 157
26  QtCore                         0x003e41fe QCoreApplication::exec() + 174

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list