WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
30375
QWebView crashes with Flash content
https://bugs.webkit.org/show_bug.cgi?id=30375
Summary
QWebView crashes with Flash content
Paul Colby
Reported
2009-10-14 21:32:04 PDT
Created
attachment 41205
[details]
Example application compiled with Qt 4.6.0-beta1; source code in bug description. Steps to reproduce / test case: Enable QWebView plugins, then show the following URL:
http://www.adobe.com/software/flash/about/
Example: #include <QApplication> #include <QWebView> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWebView webView; webView.settings()->setAttribute(QWebSettings::PluginsEnabled,true); //webView.setUrl(QUrl::fromEncoded("
http://www.google.com.au
")); // Works fine. webView.setUrl(QUrl::fromEncoded("
http://www.adobe.com/software/flash/about/
")); // Crashes with 4.6.0-tp1. webView.show(); return app.exec(); } The problem occurs on many (but not all) webpages with Flash content. Examples include: *
http://www.adobe.com/software/flash/about/
*
http://developer.yahoo.com/search/boss/
Crash occurs on Windows XP, but not on OSX. Crash occurs when built with, and run-time linked to, Qt 4.6.0-tp1 or Qt 4.6.0-beta1. Interestingly, the crash does *not* occur if the example is built with 4.6.0, but runs with 4.5.x DLLs. All Qt 4.6.0 versions were build via: make confclean configure -debug-and-release -opensource -no-exceptions -no-qt3support -openssl-linked OPENSSL_LIBS="-lssl -lcrypto -lgdi32 -lWs2_32" -I C:\OpenSSL\include -L C:\OpenSSL\lib make -j2 sub-src Qt Creator's debugger shows that the crash is somewhere in WebCore::PluginView::hookedBeginPaint. Example crash debug stack: 0 ?? 0 1 WebCore::PluginView::hookedBeginPaint D:\Qt\4.6.0-tp1-dynamic\bin\QtWebKitd4.dll 0 2 npswf32!Flash_DisableLocalSecurity C:\WINDOWS\system32\macromed\Flash\NPSWF32.dll 0 3 ?? 0 4 ?? 0 5 ?? 0 6 ?? 0 7 ?? 0 8 ?? 0 9 ?? 0 10 ?? 0 11 ?? 0 12 ?? 0 13 ?? 0 14 ?? 0 I've attached a copy if above example compiled with Qt 4.6.0-beta1; just run it with Qt 4.6.0-beta1 DLLs and it should crash (but runs fine with Qt 4.6.0-beta1 DLLs, but with QtWebKit4.dll replaced with 4.5.3 version). In case it helps, Qt 4.6.0-beta1 appears to be using WebKit 532.1.
Attachments
Example application compiled with Qt 4.6.0-beta1; source code in bug description.
(23.00 KB, application/octet-stream)
2009-10-14 21:32 PDT
,
Paul Colby
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Paul Colby
Comment 1
2009-11-17 20:20:42 PST
Crash still occurs with the just-released Qt 4.6.0 rc1 :(
Jocelyn Turcotte
Comment 2
2009-11-18 04:44:27 PST
I tried the sample on Windows 7 with 4.6.0 RC and I couldn't reproduce the crash. My version of flash is 10.0.32.18, I am running the 32 bit version on a 64bit system. Could you give us the version of flash you are using and try with an upgraded version if possible?
Paul Colby
Comment 3
2009-11-18 14:07:03 PST
(In reply to
comment #2
)
> Could you give us the version of flash you are using and try with an upgraded > version if possible?
Adobe says: "You have version 10,0,32,18 installed" - which is, as far as I know, the latest version available. The crash is on at least two different 32bit Windows XP machines (I don't have any 64 bit XP machines to test on). If there's anything at all I can do to help track it down, I'm only too happy to :)
Paul Colby
Comment 4
2009-11-18 14:50:14 PST
To rule out my own Qt SDK compilation, I've just compiled the sample application from a completely clean install of "Qt 4.6.0 RC for Windows: minGW 4.4" (
http://get.qt.nokia.com/qt/source/qt-win-opensource-4.6.0-rc1-mingw.exe
). Crash still occurs, though Qt Creator's stack dump does look slightly more interesting now: 0 ?? 0 0xfe0300ba 1 WebCore::PluginView::hookedBeginPaint C:\Qt\2009.05-rc1\qt\bin\QtWebKitd4.dll 0 0x0911391f 2 QETWidget::translatePaintEvent qapplication_win.cpp 3596 0x006383f4 3 QtWndProc@16 qapplication_win.cpp 1917 0x00633414 4 USER32!GetDC C:\WINDOWS\system32\user32.dll 0 0x7e418734 5 QAlgorithmsPrivate::qSortHelper<QList<QString>::iterator, QString, qLess<QString> > qalgorithms.h 356 0x00c306ee 6 USER32!GetDC C:\WINDOWS\system32\user32.dll 0 0x7e418816 7 qt_is_translatable_mouse_event qapplication_win.cpp 1389 0x00631acd 8 USER32!DefWindowProcW C:\WINDOWS\system32\user32.dll 0 0x7e428ea0 9 ?? 0 0x00000000 Don't know if that makes anymore sense to anyone. Has anyone tested this bug against the MinGW version of Qt? Perhaps it's not a problem with the Visual Studio compiler? I've just tried, and again, the exe produced by 4.6.0 RC1 works correctly if I replace the 4.6.0 QtWebKit4.dll/QtWebKit4d.dll files with the 4.5.0 versions. Hope that helps in some way.
Jocelyn Turcotte
Comment 5
2009-12-01 08:36:48 PST
(In reply to
comment #4
)
> Has anyone tested this bug against the MinGW version of Qt? Perhaps it's not a > problem with the Visual Studio compiler? >
You were right, the problem was due to mingw-specific code in plugin handling. Thanks for your report, we were able to correct this bug before 4.6.0! Resolved in
r51388
Paul Colby
Comment 6
2009-12-01 21:08:40 PST
(In reply to
comment #5
)
> You were right, the problem was due to mingw-specific code in plugin handling. > Thanks for your report, we were able to correct this bug before 4.6.0! > > Resolved in
r51388
Beautiful! I've just tested, and it works perfectly now. Thanks for all your efforts! :)
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug