Bug 68361
Summary: | [Qt][WK2] Crash in Qt when loading plugins in the UI process | ||
---|---|---|---|
Product: | WebKit | Reporter: | Balazs Kelemen <kbalazs> |
Component: | WebKit2 | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | jesus, menard, zeno |
Priority: | P1 | Keywords: | Qt, QtTriaged |
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Linux |
Balazs Kelemen
64 bit Linux, up-to-date Qt5.
#0 0x00007ffff227cab5 in raise () from /lib64/libc.so.6
#1 0x00007ffff227dfb6 in abort () from /lib64/libc.so.6
#2 0x00007ffff22b7dd3 in __libc_message () from /lib64/libc.so.6
#3 0x00007ffff22bd3b6 in malloc_printerr () from /lib64/libc.so.6
#4 0x00007ffff22c22dc in free () from /lib64/libc.so.6
#5 0x00007ffff32fb026 in qFree (ptr=0x614b40) at global/qmalloc.cpp:60
#6 0x00007ffff3356400 in QString::free (d=0x614b40) at tools/qstring.cpp:1219
#7 0x00007ffff32dd159 in QString::~QString (this=0x86d668, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qstring.h:851
#8 0x00007ffff33c5eff in QFileInfoPrivate::~QFileInfoPrivate (this=0x86d5d0, __in_chrg=<value optimized out>) at io/qfileinfo_p.h:69
#9 0x00007ffff33c602b in QSharedDataPointer<QFileInfoPrivate>::~QSharedDataPointer (this=0x7fffffffbf30, __in_chrg=<value optimized out>)
at ../../include/QtCore/../../src/corelib/tools/qshareddata.h:90
#10 0x00007ffff33c2e28 in QFileInfo::~QFileInfo (this=0x7fffffffbf30, __in_chrg=<value optimized out>) at io/qfileinfo.cpp:364
#11 0x00007ffff342e45a in QLibraryPrivate::load_sys (this=0x7fe110) at plugin/qlibrary_unix.cpp:87
#12 0x00007ffff34281cc in QLibraryPrivate::load (this=0x7fe110) at plugin/qlibrary.cpp:460
#13 0x00007ffff34290b1 in QLibrary::load (this=0x7fe228) at plugin/qlibrary.cpp:817
#14 0x00007ffff681bc0d in WebKit::Module::load() () from /home/balazs/work/WebKitGit/wk2Build/Release/bin/../lib/libQtWebKit.so.4
#15 0x00007ffff67b1ed7 in WebKit::NetscapePluginModule::tryLoad() () from /home/balazs/work/WebKitGit/wk2Build/Release/bin/../lib/libQtWebKit.so.4
#16 0x00007ffff67b2275 in WebKit::NetscapePluginModule::load() () from /home/balazs/work/WebKitGit/wk2Build/Release/bin/../lib/libQtWebKit.so.4
#17 0x00007ffff67b2475 in WebKit::NetscapePluginModule::getOrCreate(WTF::String const&) ()
from /home/balazs/work/WebKitGit/wk2Build/Release/bin/../lib/libQtWebKit.so.4
#18 0x00007ffff67b2c0e in WebKit::NetscapePluginModule::getPluginInfo(WTF::String const&, WebKit::PluginModuleInfo&) ()
from /home/balazs/work/WebKitGit/wk2Build/Release/bin/../lib/libQtWebKit.so.4
#19 0x00007ffff67d07a7 in WebKit::PluginInfoStore::loadPlugin(WTF::Vector<WebKit::PluginModuleInfo, 0ul>&, WTF::String const&) ()
from /home/balazs/work/WebKitGit/wk2Build/Release/bin/../lib/libQtWebKit.so.4
#20 0x00007ffff67d15cb in WebKit::PluginInfoStore::loadPluginsIfNecessary() () from /home/balazs/work/WebKitGit/wk2Build/Release/bin/../lib/libQtWebKit.so.4
#21 0x00007ffff67d235c in WebKit::PluginInfoStore::plugins() () from /home/balazs/work/WebKitGit/wk2Build/Release/bin/../lib/libQtWebKit.so.4
#22 0x00007ffff672f50d in WebKit::WebContext::getPlugins(bool, WTF::Vector<WebCore::PluginInfo, 0ul>&) ()
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Balazs Kelemen
Backtrace in debug
#0 0x00007fffef894ab5 in raise () from /lib64/libc.so.6
#1 0x00007fffef895fb6 in abort () from /lib64/libc.so.6
#2 0x00007fffef8cfdd3 in __libc_message () from /lib64/libc.so.6
#3 0x00007fffef8d53b6 in malloc_printerr () from /lib64/libc.so.6
#4 0x00007fffef8da2dc in free () from /lib64/libc.so.6
#5 0x00007ffff0913026 in qFree (ptr=0x61c9c0) at global/qmalloc.cpp:60
#6 0x00007ffff096e400 in QString::free (d=0x61c9c0) at tools/qstring.cpp:1219
#7 0x00007ffff08f5159 in QString::~QString (this=0x7961c8, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qstring.h:851
#8 0x00007ffff09ddeff in QFileInfoPrivate::~QFileInfoPrivate (this=0x796130, __in_chrg=<value optimized out>) at io/qfileinfo_p.h:69
#9 0x00007ffff09de02b in QSharedDataPointer<QFileInfoPrivate>::~QSharedDataPointer (this=0x7fffffffba50, __in_chrg=<value optimized out>)
at ../../include/QtCore/../../src/corelib/tools/qshareddata.h:90
#10 0x00007ffff09dae28 in QFileInfo::~QFileInfo (this=0x7fffffffba50, __in_chrg=<value optimized out>) at io/qfileinfo.cpp:364
#11 0x00007ffff0a4645a in QLibraryPrivate::load_sys (this=0x796020) at plugin/qlibrary_unix.cpp:87
#12 0x00007ffff0a401cc in QLibraryPrivate::load (this=0x796020) at plugin/qlibrary.cpp:460
#13 0x00007ffff0a410b1 in QLibrary::load (this=0x9fbdc8) at plugin/qlibrary.cpp:817
#14 0x00007ffff5439133 in WebKit::Module::load (this=0x9fbdc0) at /home/balazs/work/WebKitGit/Source/WebKit2/Platform/qt/ModuleQt.cpp:36
#15 0x00007ffff538f2ba in WebKit::NetscapePluginModule::tryLoad (this=0x8b64c0)
at /home/balazs/work/WebKitGit/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp:205
#16 0x00007ffff538f179 in WebKit::NetscapePluginModule::load (this=0x8b64c0)
at /home/balazs/work/WebKitGit/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp:183
#17 0x00007ffff538ef88 in WebKit::NetscapePluginModule::getOrCreate (pluginPath="/usr/lib64/browser-plugins/skypebuttons.so")
at /home/balazs/work/WebKitGit/Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp:149
#18 0x00007ffff53906f7 in WebKit::NetscapePluginModule::getPluginInfo (pluginPath="/usr/lib64/browser-plugins/skypebuttons.so", plugin=...)
at /home/balazs/work/WebKitGit/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:129
#19 0x00007ffff53bd9a3 in WebKit::PluginInfoStore::getPluginInfo (pluginPath="/usr/lib64/browser-plugins/skypebuttons.so", plugin=...)
at /home/balazs/work/WebKitGit/Source/WebKit2/UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:63
#20 0x00007ffff53ba10c in WebKit::PluginInfoStore::loadPlugin (plugins=WTF::Vector of length 2, capacity 16 = {...}, pluginPath=
"/usr/lib64/browser-plugins/skypebuttons.so") at /home/balazs/work/WebKitGit/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp:105
#21 0x00007ffff53b9f86 in WebKit::PluginInfoStore::loadPluginsIfNecessary (this=0x785ab8)
at /home/balazs/work/WebKitGit/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp:95
#22 0x00007ffff53ba18a in WebKit::PluginInfoStore::plugins (this=0x785ab8)
at /home/balazs/work/WebKitGit/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp:116
#23 0x00007ffff5290528 in WebKit::WebContext::getPlugins (this=0x785a10, refresh=false, pluginInfos=WTF::Vector of length 0, capacity 0)
at /home/balazs/work/WebKitGit/Source/WebKit2/UIProcess/WebContext.cpp:549
Zeno Albisser
can you give us some more information about how to reproduce this?
Balazs Kelemen
(In reply to comment #2)
> can you give us some more information about how to reproduce this?
I launched a trunk build of MiniBrowser. It crashed when loaded the plugin named skypebuttons.so. I tried it in debug and it was not the first plugin so other ones was loaded successfully. I don't know anything about this plugin but according to the backtrace it seems to be a Qt bug anyway.
Jesus Sanchez-Palencia
Alexis, am I mistaken or isn't this just that symbol clashing issue we faced a few times already? (skypebuttons trying to load libQt4, or something like that...).
Alexis Menard (darktears)
(In reply to comment #4)
> Alexis, am I mistaken or isn't this just that symbol clashing issue we faced a few times already? (skypebuttons trying to load libQt4, or something like that...).
Yes. But we need to solve that somehow.
Balazs Kelemen
(In reply to comment #5)
> (In reply to comment #4)
> > Alexis, am I mistaken or isn't this just that symbol clashing issue we faced a few times already? (skypebuttons trying to load libQt4, or something like that...).
>
> Yes. But we need to solve that somehow.
As I know nowadays plugins are disabled in trunk. The solution (if we want plugins) can be to use plugin process, for which I have a working solution: https://bugs.webkit.org/show_bug.cgi?id=72121 (the patch is quite old, however it still applied a week ago so most probably it applies now as well). Anyway, I close this as invalid since this bug is not present in ToT.