[webkit-qt] Issue with KWebwallet and QtWebKit23

Lindsay Mathieson lindsay.mathieson at gmail.com
Tue Oct 23 05:16:18 PDT 2012


I don't know if the following is a bug in QtWebKit-2.3 or whether it is changed behaviour that has triggered a bug in KWebWallet. 

Problem: 100% of CPU core usuage, memory consumption *rapidly* increasing (GB per 10's of seconds)

Steps to reproduce
- Run Konqueror or Rekonq against a QtWebKit 2.3 build
- Open http://www.odt.co.nz (Many other Javascript heavy websites trigger it)
- Wait for the page load to finish


I can reproduce it 100% with Konqueror or Rekonq. It only happens with WebKit 2.3, 2.2 is fine.

I ran rekonq under the debugger, paused it and found a frame trace with these:

#0 JSC::JSLock::unlock()() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1
#1 JSValueIsUndefined() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1
#2 JSC::Bindings::convertValueToQVariant(OpaqueJSContext const*, OpaqueJSValue const*, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>, WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**)() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1
#3 JSC::Bindings::convertValueToQVariant(OpaqueJSContext const*, OpaqueJSValue const*, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>, WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**)() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1
#4 JSC::Bindings::convertValueToQVariant(OpaqueJSContext const*, OpaqueJSValue const*, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>, WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**)() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1
#5 JSC::Bindings::convertValueToQVariant(OpaqueJSContext const*, OpaqueJSValue const*, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>, WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**)() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1
#6 JSC::Bindings::convertValueToQVariant(OpaqueJSContext const*, OpaqueJSValue const*, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>, WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**)() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1
#7 JSC::Bindings::convertValueToQVariant(OpaqueJSContext const*, OpaqueJSValue const*, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>, WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**)() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1
#8 JSC::Bindings::convertValueToQVariant(OpaqueJSContext const*, OpaqueJSValue const*, QMetaType::Type, int*, WTF::HashSet<OpaqueJSValue*, WTF::PtrHash<OpaqueJSValue*>, WTF::HashTraits<OpaqueJSValue*> >*, int, OpaqueJSValue const**)() at /data/dev/qtwebkit-23/WebKitBuild/Release/lib/libQtWebKit.so.4:-1


For hundreds of lines.

They start from here:

#104 KWebWallet::fillFormData(QWebFrame*, bool)() at /usr/lib/libkdewebkit.so.5:-1
#105 WebPage::loadFinished() at /home/lindsay/Projects/rekonq/src/webpage.cpp:493

If I comment out the appropriate line in rekonq:
  wallet()->fillFormData(mainFrame());

Then the problem stops, though of course form data is no longer auto filled.

Would this be a problem for WebKit or KWallet?

I have the full frame trace saved if desired.

-- 
Lindsay Mathieson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.webkit.org/pipermail/webkit-qt/attachments/20121023/4e9e637c/attachment.sig>


More information about the webkit-qt mailing list