Bug 27519
Summary: | Run-Time Check triggers in WebDragClient::willPerformDragSourceAction | ||
---|---|---|---|
Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> |
Component: | WebKit Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Major | ||
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Windows Vista |
Ryosuke Niwa
Launch the Nightly build. Click the search bar, and then select all texts in address bar and drag downwards to the web page. Run-time check error occurs in WebDragClient::willPerformDragSourceAction, which is located at \WebKit\win\WebCoreSupport/webdragclient.h
The following is what VS spits out:
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
Call Stack:
> WebKit.dll!WebDragClient::willPerformDragSourceAction(WebCore::DragSourceAction action=DragSourceActionSelection, const WebCore::IntPoint & intPoint={...}, WebCore::Clipboard * clipboard=0x07230a88) Line 117 + 0x46 bytes C++
WebKit.dll!WebCore::DragController::startDrag(WebCore::Frame * src=0x036a4ff0, WebCore::Clipboard * clipboard=0x07230a88, WebCore::DragOperation srcOp=DragOperationNone, const WebCore::PlatformMouseEvent & dragEvent={...}, const WebCore::IntPoint & dragOrigin={...}, bool isDHTMLDrag=false) Line 699 + 0x21 bytes C++
WebKit.dll!WebCore::EventHandler::handleDrag(const WebCore::MouseEventWithHitTestResults & event={...}) Line 2256 + 0x44 bytes C++
WebKit.dll!WebCore::EventHandler::handleMouseDraggedEvent(const WebCore::MouseEventWithHitTestResults & event={...}) Line 406 + 0xc bytes C++
WebKit.dll!WebCore::EventHandler::handleMouseMoveEvent(const WebCore::PlatformMouseEvent & mouseEvent={...}, WebCore::HitTestResult * hoveredNode=0x009af29c) Line 1371 + 0xc bytes C++
WebKit.dll!WebCore::EventHandler::mouseMoved(const WebCore::PlatformMouseEvent & event={...}) Line 1263 + 0x10 bytes C++
WebKit.dll!WebView::handleMouseEvent(unsigned int message=512, unsigned int wParam=1, long lParam=917508) Line 1324 + 0x1d bytes C++
WebKit.dll!WebViewWndProc(HWND__ * hWnd=0x003202f8, unsigned int message=512, unsigned int wParam=1, long lParam=917508) Line 1858 + 0x14 bytes C++
Error triggers at the line 117 of the file where the statement is:
HRESULT result = uiDelegate->willPerformDragSourceAction(m_webView, static_cast<WebDragSourceAction>(action), &point, dataObject.get(), &newDataObject);
The following is a dump of relevant variables:
action DragSourceActionSelection WebCore::DragSourceAction
+ newDataObject {m_ptr=0x00000000 } COMPtr<IDataObject>
- dataObject {m_ptr=0x08efb978 } COMPtr<IDataObject>
- m_ptr 0x08efb978 {m_ref=3 m_formats={...} m_medium={...} } IDataObject *
- [WebCore::WCDataObject] {m_ref=3 m_formats={...} m_medium={...} } WebCore::WCDataObject
+ IDataObject {...} IDataObject
m_ref 3 long
+ m_formats {m_size=2 m_buffer={...} } WTF::Vector<tagFORMATETC *,0>
+ m_medium {m_size=2 m_buffer={...} } WTF::Vector<tagSTGMEDIUM *,0>
- IUnknown {...} IUnknown
- __vfptr 0x02609760 const WebCore::WCDataObject::`vftable' *
[0] 0x019655d0 WebCore::WCDataObject::QueryInterface(const _GUID &, void * *) *
[1] 0x01965650 WebCore::WCDataObject::AddRef(void) *
[2] 0x01965680 WebCore::WCDataObject::Release(void) *
- uiDelegate {m_ptr=0x036a4738 } COMPtr<IWebUIDelegate>
- m_ptr 0x036a4738 IWebUIDelegate *
- IUnknown {...} IUnknown
- __vfptr 0x004f1da0 *
[0] 0x00281570 *
[1] 0x002bfad0 *
[2] 0x002bfad0 *
- m_webView 0x036a4798 {m_refCount=4 m_hostWindow=0x00140382 m_viewWindow=0x003202f8 ...} WebView *
+ IWebView {...} IWebView
+ IWebViewPrivate {...} IWebViewPrivate
+ IWebIBActions {...} IWebIBActions
+ IWebViewCSS {...} IWebViewCSS
+ IWebViewEditing {...} IWebViewEditing
+ IWebViewUndoableEditing {...} IWebViewUndoableEditing
+ IWebViewEditingActions {...} IWebViewEditingActions
+ IWebNotificationObserver {...} IWebNotificationObserver
+ IDropTarget {...} IDropTarget
+ WebCore::WindowMessageListener {...} WebCore::WindowMessageListener
m_refCount 4 unsigned long
+ m_hostWindow 0x00140382 {unused=7209065 } HWND__ *
+ m_viewWindow 0x003202f8 {unused=-1407844525 } HWND__ *
+ m_mainFrame 0x036a4f40 {m_refCount=1 d=0x036a4fc8 m_quickRedirectComing=false ...} WebFrame *
+ m_page 0x036a48c8 {m_chrome={...} m_dragCaretController={...} m_dragController={...} ...} WebCore::Page *
+ m_backingStoreBitmap {m_ptr=0x5f0515ea } WTF::OwnPtr<HBITMAP__ *>
+ m_backingStoreSize {cx=355 cy=17 } tagSIZE
+ m_backingStoreDirtyRegion {m_ptr=0x00000000 } WTF::OwnPtr<HRGN__ *>
+ m_editingDelegate {m_ptr=0x00000000 } COMPtr<IWebEditingDelegate>
+ m_frameLoadDelegate {m_ptr=0x036a4740 } COMPtr<IWebFrameLoadDelegate>
+ m_frameLoadDelegatePrivate {m_ptr=0x00000000 } COMPtr<IWebFrameLoadDelegatePrivate>
+ m_uiDelegate {m_ptr=0x036a4738 } COMPtr<IWebUIDelegate>
+ m_uiDelegatePrivate {m_ptr=0x036a473c } COMPtr<IWebUIDelegatePrivate>
+ m_formDelegate {m_ptr=0x036a4748 } COMPtr<IWebFormDelegate>
+ m_policyDelegate {m_ptr=0x036a474c } COMPtr<IWebPolicyDelegate>
+ m_resourceLoadDelegate {m_ptr=0x00000000 } COMPtr<IWebResourceLoadDelegate>
+ m_downloadDelegate {m_ptr=0x00000000 } COMPtr<IWebDownloadDelegate>
+ m_preferences {m_ptr=0x036ad6e8 } COMPtr<WebPreferences>
+ m_webInspector {m_ptr=0x00000000 } COMPtr<WebInspector>
m_userAgentOverridden false bool
m_useBackForwardList true bool
+ m_userAgentCustom {m_impl={...} } WebCore::String
+ m_userAgentStandard {m_impl={...} } WebCore::String
m_zoomMultiplier 1.0000000 float
+ m_overrideEncoding {m_impl={...} } WebCore::String
+ m_applicationName {m_impl={...} } WebCore::String
m_mouseActivated false bool
+ m_dragData {m_ptr=0x00000000 } COMPtr<IDataObject>
+ m_dropTargetHelper {m_ptr=0x00ab0ff4 } COMPtr<IDropTargetHelper>
m_currentCharacterCode 0 wchar_t
m_isBeingDestroyed false bool
m_paintCount 0 unsigned int
m_hasSpellCheckerDocumentTag false bool
m_smartInsertDeleteEnabled true bool
m_selectTrailingWhitespaceEnabled false bool
m_didClose false bool
m_hasCustomDropTarget true bool
m_inIMEComposition 0 unsigned int
+ m_toolTipHwnd 0x00160256 {unused=??? } HWND__ *
+ m_toolTip {m_impl={...} } WebCore::String
m_deleteBackingStoreTimerActive false bool
m_transparent false bool
s_allowSiteSpecificHacks true bool
+ m_closeWindowTimer {m_object=0x036a4798 m_function=0x0129d106 } WebCore::Timer<WebView>
+ m_mouseOutTracker {m_ptr=0x087c84c0 } WTF::OwnPtr<tagTRACKMOUSEEVENT>
+ m_topLevelParent 0x000809a0 {unused=0 } HWND__ *
+ m_embeddedViewMIMETypes {m_ptr=0x00000000 } WTF::OwnPtr<WTF::HashSet<WebCore::String,WebCore::StringHash,WTF::HashTraits<WebCore::String> > >
m_lastPanX 0 long
m_lastPanY 0 long
m_xOverpan 0 long
m_yOverpan 0 long
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Ryosuke Niwa
*** This bug has been marked as a duplicate of bug 27073 ***