After http://trac.webkit.org/changeset/96779 this test always fails with timeout:
The data URL for the SVG image now contains <a><a>...</a></a>. This used to be URL encoded.
Does Qt do something different for SVG images than other ports?
This test introduced in http://trac.webkit.org/changeset/57263/trunk/LayoutTests/fast/images/svg-nested.html . (Chris or Adam, have you got any idea?)
We can URL encode them in the test, if that would be helpful. The intent of that test is to create a very deeply nested DOM in the SVG image.
(and to check that we don't crash when that happens)
There should be no need to URL encode this data URL.
FYI: It does not time out on other ports and Qurl passes other tests that have markup (html) in a data URL.
I'll get the Qt port building on my machine so I can track this down
Here is a stack trace
#0 _wordcopy_fwd_dest_aligned (dstp=16305872, srcp=16305888, len=11580) at wordcopy.c:197
#1 0x00007ffff149873e in memmove (dest=0xf81db0, src=<value optimized out>, len=137996) at memmove.c:73
#2 0x00007ffff21f2474 in QByteArray::remove(int, int) () from /usr/local/Trolltech/Qt-4.7.4/lib/libQtCore.so.4
#3 0x00007ffff21f3f50 in QByteArray::replace(int, int, char const*, int) ()
#4 0x00007ffff229ae86 in QUrl::setEncodedUrl(QByteArray const&, QUrl::ParsingMode) ()
#5 0x00007ffff229b6a6 in QUrl::fromEncoded(QByteArray const&) () from /usr/local/Trolltech/Qt-4.7.4/lib/libQtCore.so.4
#6 0x00007ffff605acf5 in WebCore::KURL::operator QUrl (this=0xc0cf08) at ../../../Source/WebCore/platform/qt/KURLQt.cpp:40
#7 0x00007ffff6041409 in WebCore::ResourceRequest::toNetworkRequest (this=0xc0cf08, originatingFrame=0x94f0b0)
#8 0x00007ffff6045d47 in WebCore::QNetworkReplyHandler::QNetworkReplyHandler (this=0xc0c040, handle=0xc0aa20,
#9 0x00007ffff604074f in WebCore::ResourceHandle::start (this=0xc0aa20, context=0x985ff0)
#10 0x00007ffff5e22955 in WebCore::ResourceHandle::create (context=0x985ff0, request=..., client=0xc0b8e0,
defersLoading=false, shouldContentSniff=true) at ../../../Source/WebCore/platform/network/ResourceHandle.cpp:71
Any update on why this is happening?
It is still valid. Any volunteer to pick it up?
Still valid now. Zoltán? AFAIK, you are searching a good debugging thing. :) It is debugging and SVG too. ;)
Using latest WebKit revision this test takes 10s on average running on Qt4 and under 1s on Qt5 (both WK1/WK2). Wouldn't it be better to move it to "qt-4.8" skip list instead of "qt"?
(In reply to comment #11)
> Using latest WebKit revision this test takes 10s on average running on Qt4 and under 1s on Qt5 (both WK1/WK2). Wouldn't it be better to move it to "qt-4.8" skip list instead of "qt"?
Best would be to fix it for Qt4, but if it's non-trivial and there is no volunteer for the task I support skipping it on Qt4.
I think I got the root of the problem. http://trac.webkit.org/changeset/114240 made QtWebKit use libxml instead of QtXmlPatterns, but for only Qt 5. It seems QtXmlPatterns are very very slow, but libxml is quite fast.
Oh, I didn't see Comment7, it isn't libxml/QtXmlPatterns related, but QUrl related thing. But I don't think if anybody will fix it in Qt 4.8. (maybe Digia for commercial users)
But this test works fine on Qt 4.8 too, but it is very slow. So I marked it as SLOW - r118485. And the bug isn't in WebKit, but in Qt 4.8, so we can close it.
Qt bug report, maybe somebody is interested in fixing it - https://bugreports.qt-project.org/browse/QTBUG-25907