<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>38490</bug_id>
          
          <creation_ts>2010-05-03 14:41:33 -0700</creation_ts>
          <short_desc>[Qt] Crashes in QSvgHandler</short_desc>
          <delta_ts>2010-05-03 14:55:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Images</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>37826</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>220296</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-05-03 14:41:33 -0700</bug_when>
    <thetext>QtWebKit crashes sometimes in QSvgHandler.

We should have a look at QSvgHandler if we can find the cause of the crash. We could also probably get rid of QtSvg altogether and use WebCore to render SVG.

Here is the trace of the crash.

0   QtSvg                         	0x000000010f7f4a52 QSvgHandler::characters(QStringRef const&amp;) + 146
1   QtSvg                         	0x000000010f7f53c7 QSvgHandler::parse() + 679
2   QtSvg                         	0x000000010f7f55a5 QSvgHandler::init() + 197
3   QtSvg                         	0x000000010f7f58ab QSvgHandler::QSvgHandler(QByteArray const&amp;) + 187
4   QtSvg                         	0x000000010f805432 QSvgTinyDocument::load(QByteArray const&amp;) + 146
5   QtSvg                         	0x000000010f806448 QSvgRenderer::load(QByteArray const&amp;) + 56
6   libqsvg.dylib                 	0x000000010dae5442 QSvgIOHandlerPrivate::load(QIODevice*) + 146
7   libqsvg.dylib                 	0x000000010dae5670 QSvgIOHandler::option(QImageIOHandler::ImageOption) const + 192
8   QtGui                         	0x0000000101b67ee9 QImageReader::size() const + 121
9   QtWebKit                      	0x00000001009456d8 WebCore::ImageDecoderQt::internalDecodeSize() + 24
10  QtWebKit                      	0x00000001009457ce WebCore::ImageDecoderQt::isSizeAvailable() + 46
11  QtWebKit                      	0x00000001007e7ad4 WebCore::ImageSource::isSizeAvailable() + 20
12  QtWebKit                      	0x00000001007d5eb0 WebCore::BitmapImage::isSizeAvailable() + 32
13  QtWebKit                      	0x00000001007d6218 WebCore::BitmapImage::dataChanged(bool) + 72
14  QtWebKit                      	0x00000001007e767d WebCore::Image::setData(WTF::PassRefPtr&lt;WebCore::SharedBuffer&gt;, bool) + 109
15  QtWebKit                      	0x00000001006f1dcc WebCore::CachedImage::data(WTF::PassRefPtr&lt;WebCore::SharedBuffer&gt;, bool) + 124
16  QtWebKit                      	0x0000000100732c4f WebCore::Loader::Host::didFinishLoading(WebCore::SubresourceLoader*) + 367
17  QtWebKit                      	0x000000010074b3e4 WebCore::SubresourceLoader::didFinishLoading() + 52
18  QtWebKit                      	0x00000001009505a0 WebCore::QNetworkReplyHandler::finish() + 160
19  QtWebKit                      	0x0000000100950f70 WebCore::QNetworkReplyHandler::qt_metacall(QMetaObject::Call, int, void**) + 192
20  QtCore                        	0x00000001028a69cb QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 603
21  QtNetwork                     	0x0000000102712d79 QNetworkReplyImplPrivate::finished() + 473
22  QtNetwork                     	0x00000001026ff1e0 QNetworkAccessHttpBackend::replyFinished() + 640
23  QtNetwork                     	0x000000010271252f QNetworkReplyImplPrivate::handleNotifications() + 399
24  QtNetwork                     	0x0000000102712579 QNetworkReplyImpl::event(QEvent*) + 41
25  QtGui                         	0x0000000101aca4fd QApplicationPrivate::notify_helper(QObject*, QEvent*) + 189
26  QtGui                         	0x0000000101ad1ffe QApplication::notify(QObject*, QEvent*) + 2094
27  com.yourcompany.light         	0x000000010000a63c WebApplication::notify(QObject*, QEvent*) + 188 (webapplication.cpp:72)
28  QtCore                        	0x000000010289ffec QCoreApplication::notifyInternal(QObject*, QEvent*) + 124
29  QtCore                        	0x000000010297b64d QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 701
30  com.apple.CoreFoundation      	0x00007fff84958f21 __CFRunLoopDoSources0 + 1361
31  com.apple.CoreFoundation      	0x00007fff84957119 __CFRunLoopRun + 873
32  com.apple.CoreFoundation      	0x00007fff849568df CFRunLoopRunSpecific + 575
33  com.apple.HIToolbox           	0x00007fff83bfdada RunCurrentEventLoopInMode + 333
34  com.apple.HIToolbox           	0x00007fff83bfd8df ReceiveNextEventCommon + 310
35  com.apple.HIToolbox           	0x00007fff83bfd798 BlockUntilNextEventMatchingListInMode + 59
36  com.apple.AppKit              	0x00007fff863b1a2a _DPSNextEvent + 708
37  com.apple.AppKit              	0x00007fff863b1379 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155
38  com.apple.AppKit              	0x00007fff8637705b -[NSApplication run] + 395
39  QtGui                         	0x0000000101a874c4 QEventDispatcherMac::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) + 1588
40  QtCore                        	0x0000000102979ff4 QEventLoop::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) + 68
41  QtCore                        	0x000000010297a304 QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) + 180
42  QtCore                        	0x000000010297b94c QCoreApplication::exec() + 188
43  com.yourcompany.light         	0x0000000100005b40 main + 433 (main.cpp:36)
44  com.yourcompany.light         	0x0000000100003120 start + 52</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220298</commentid>
    <comment_count>1</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-03 14:45:01 -0700</bug_when>
    <thetext>looks like a dup of bug 37826 :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220306</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-05-03 14:55:07 -0700</bug_when>
    <thetext>Thanks Antonio, definitively a duplicate.

*** This bug has been marked as a duplicate of bug 37826 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>