Bug 68361 - [Qt][WK2] Crash in Qt when loading plugins in the UI process
Summary: [Qt][WK2] Crash in Qt when loading plugins in the UI process
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P1 Normal
Assignee: Nobody
URL:
Keywords: Qt, QtTriaged
Depends on:
Blocks:
 
Reported: 2011-09-19 07:41 PDT by Balazs Kelemen
Modified: 2012-02-01 16:45 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Balazs Kelemen 2011-09-19 07:41:25 PDT
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>&) ()
Comment 1 Balazs Kelemen 2011-09-19 09:19:29 PDT
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
Comment 2 Zeno Albisser 2011-09-20 08:21:16 PDT
can you give us some more information about how to reproduce this?
Comment 3 Balazs Kelemen 2011-09-21 04:05:13 PDT
(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.
Comment 4 Jesus Sanchez-Palencia 2012-02-01 12:38:02 PST
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...).
Comment 5 Alexis Menard (darktears) 2012-02-01 13:01:53 PST
(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.
Comment 6 Balazs Kelemen 2012-02-01 16:45:09 PST
(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.