Bug 118744 - ASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
Summary: ASSERT_NOT_REACHED was touched in WebCore::SVGAnimatedType::valueAsString
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Renata Hodovan
URL:
Keywords:
: 108485 (view as bug list)
Depends on:
Blocks: 116980
  Show dependency treegraph
 
Reported: 2013-07-16 12:09 PDT by Renata Hodovan
Modified: 2013-07-31 12:22 PDT (History)
9 users (show)

See Also:


Attachments
Test case (149 bytes, image/svg+xml)
2013-07-16 12:09 PDT, Renata Hodovan
no flags Details
Proposed patch (4.63 KB, patch)
2013-07-18 08:33 PDT, Renata Hodovan
pdr: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-ews-04 for mac-mountainlion (765.87 KB, application/zip)
2013-07-18 18:45 PDT, Build Bot
no flags Details
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2 (487.97 KB, application/zip)
2013-07-18 19:32 PDT, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Renata Hodovan 2013-07-16 12:09:13 PDT
The following test caused the fail:

<svg xmlns="http://www.w3.org/2000/svg" >	 		 		 		 		
   <animatetransform attributename="transform" attributetype="CSS"></animatetransform>
</svg>


The backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff577f390 in WTFCrash () at /home/reni/Data/REPOS/webkit_sec/Source/WTF/wtf/Assertions.cpp:339
339	    *(int *)(uintptr_t)0xbbadbeef = 0;
(gdb) bt
#0  0x00007ffff577f390 in WTFCrash () at /home/reni/Data/REPOS/webkit_sec/Source/WTF/wtf/Assertions.cpp:339
#1  0x00007ffff4d06169 in WebCore::SVGAnimatedType::valueAsString (this=0x8b9640)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGAnimatedType.cpp:268
#2  0x00007ffff4d0a58f in WebCore::SVGAnimateElement::applyResultsToTarget (this=0x8ae2e0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGAnimateElement.cpp:360
#3  0x00007ffff4cb39aa in WebCore::SMILTimeContainer::updateAnimations (this=0x889890, elapsed=..., seekToTime=false)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/animation/SMILTimeContainer.cpp:316
#4  0x00007ffff4cb2cf8 in WebCore::SMILTimeContainer::begin (this=0x889890)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/animation/SMILTimeContainer.cpp:139
#5  0x00007ffff4cd7abb in WebCore::SVGDocumentExtensions::startAnimations (this=0x88baf0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGDocumentExtensions.cpp:102
#6  0x00007ffff42951c3 in WebCore::Document::implicitClose (this=0x872440) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/dom/Document.cpp:2478
#7  0x00007ffff4689ec3 in WebCore::FrameLoader::checkCallImplicitClose (this=0x7ad098)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:843
#8  0x00007ffff4689c2e in WebCore::FrameLoader::checkCompleted (this=0x7ad098) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:786
#9  0x00007ffff468996c in WebCore::FrameLoader::finishedParsing (this=0x7ad098) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:719
#10 0x00007ffff429c03b in WebCore::Document::finishedParsing (this=0x872440) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/dom/Document.cpp:4417
#11 0x00007ffff44e8dd3 in WebCore::HTMLConstructionSite::finishedParsing (this=0x76bda8)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLConstructionSite.cpp:348
#12 0x00007ffff451a4bf in WebCore::HTMLTreeBuilder::finished (this=0x76bd90)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2926
#13 0x00007ffff44f0386 in WebCore::HTMLDocumentParser::end (this=0x767520)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:756
#14 0x00007ffff44f0473 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x767520)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:767
#15 0x00007ffff44ef0a6 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x767520)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:211
#16 0x00007ffff44f04b6 in WebCore::HTMLDocumentParser::attemptToEnd (this=0x767520)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:779
#17 0x00007ffff44f056d in WebCore::HTMLDocumentParser::finish (this=0x767520)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:828
#18 0x00007ffff46819b5 in WebCore::DocumentWriter::end (this=0x694190) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/DocumentWriter.cpp:248
#19 0x00007ffff467459e in WebCore::DocumentLoader::finishedLoading (this=0x6940f0, finishTime=0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/DocumentLoader.cpp:402
#20 0x00007ffff467430c in WebCore::DocumentLoader::notifyFinished (this=0x6940f0, resource=0x753f50)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/DocumentLoader.cpp:344
#21 0x00007ffff465b9d8 in WebCore::CachedResource::checkNotify (this=0x753f50)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedResource.cpp:369
#22 0x00007ffff465baae in WebCore::CachedResource::finishLoading (this=0x753f50)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedResource.cpp:385
#23 0x00007ffff46581be in WebCore::CachedRawResource::finishLoading (this=0x753f50, data=0x774c70)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedRawResource.cpp:94
#24 0x00007ffff46bda4a in WebCore::SubresourceLoader::didFinishLoading (this=0x772310, finishTime=0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/SubresourceLoader.cpp:282
#25 0x00007ffff46b43d7 in WebCore::ResourceLoader::didFinishLoading (this=0x772310, finishTime=0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/ResourceLoader.cpp:488
#26 0x00007ffff4b4179c in WebCore::QNetworkReplyHandler::finish (this=0x7544e0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:516
#27 0x00007ffff4b40462 in WebCore::QNetworkReplyHandlerCallQueue::flush (this=0x754518)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:250
#28 0x00007ffff4b4018a in WebCore::QNetworkReplyHandlerCallQueue::push (this=0x754518, 
    method=(void (WebCore::QNetworkReplyHandler::*)(WebCore::QNetworkReplyHandler * const)) 0x7ffff4b415de <WebCore::QNetworkReplyHandler::finish()>)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:216
---Type <return> to continue, or q <return> to quit---
#29 0x00007ffff4b410e8 in WebCore::QNetworkReplyWrapper::didReceiveFinished (this=0x754550)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:409
#30 0x00007ffff4b43aaa in WebCore::QNetworkReplyWrapper::qt_static_metacall (_o=0x754550, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffcfb0)
    at .moc/release-shared/moc_QNetworkReplyHandler.cpp:176
#31 0x00007ffff231e5cb in QMetaObject::activate(QObject*, int, int, void**) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#32 0x00007ffff231f84e in QObject::event(QEvent*) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#33 0x00007ffff3165dbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Widgets.so.5
#34 0x00007ffff3169075 in QApplication::notify(QObject*, QEvent*) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Widgets.so.5
#35 0x00007ffff22f9dbe in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#36 0x00007ffff22fba76 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#37 0x00007ffff2341333 in ?? () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#38 0x00007fffee4840a6 in g_main_dispatch (context=0x6632f0) at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3058
#39 g_main_context_dispatch (context=context@entry=0x6632f0) at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3634
#40 0x00007fffee4843f8 in g_main_context_iterate (context=context@entry=0x6632f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3705
#41 0x00007fffee48449c in g_main_context_iteration (context=0x6632f0, may_block=1) at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3766
#42 0x00007ffff23414bc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#43 0x00007ffff22f8d3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#44 0x00007ffff22fc120 in QCoreApplication::exec() () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#45 0x0000000000421ba0 in launcherMain (app=...) at /home/reni/Data/REPOS/webkit_sec/Tools/QtTestBrowser/qttestbrowser.cpp:49
#46 0x0000000000423680 in main (argc=2, argv=0x7fffffffdc88) at /home/reni/Data/REPOS/webkit_sec/Tools/QtTestBrowser/qttestbrowser.cpp:318
Comment 1 Renata Hodovan 2013-07-16 12:09:32 PDT
Created attachment 206804 [details]
Test case
Comment 2 Renata Hodovan 2013-07-18 06:55:27 PDT
Ehh... It seems I lost my capitals :( So the correct test is:

<svg xmlns="http://www.w3.org/2000/svg">
    <animateTransform attributeName="transform" attributeType="CSS"></animateTransform>
</svg>


Furthermore, it seems the problem is that we didn't check whether the attribute given by attributeName belongs to the type defined by attributeType. Just like in the test above: the transform attribute is an XML attribute type.
Comment 3 Renata Hodovan 2013-07-18 08:33:23 PDT
Created attachment 206993 [details]
Proposed patch
Comment 4 Build Bot 2013-07-18 18:45:09 PDT
Comment on attachment 206993 [details]
Proposed patch

Attachment 206993 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1103688

New failing tests:
svg/animations/attributeNameAndAttributeTypeMissmatch.svg
Comment 5 Build Bot 2013-07-18 18:45:11 PDT
Created attachment 207046 [details]
Archive of layout-test-results from webkit-ews-04 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-04  Port: mac-mountainlion  Platform: Mac OS X 10.8.3
Comment 6 Build Bot 2013-07-18 19:32:03 PDT
Comment on attachment 206993 [details]
Proposed patch

Attachment 206993 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1110730

New failing tests:
svg/animations/attributeNameAndAttributeTypeMissmatch.svg
Comment 7 Build Bot 2013-07-18 19:32:06 PDT
Created attachment 207050 [details]
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-10  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.3
Comment 8 Renata Hodovan 2013-07-20 05:16:09 PDT
It seems the problem of ews is just the missing mac expected for the new test, but I hope gardeners will add it since I don't have a mac build.
Comment 9 Renata Hodovan 2013-07-29 03:56:06 PDT
Can anybody take a look at this? :)
Comment 10 Philip Rogers 2013-07-29 10:05:43 PDT
Comment on attachment 206993 [details]
Proposed patch

Nice, this looks good to me.
Comment 11 Philip Rogers 2013-07-29 10:12:03 PDT
Comment on attachment 206993 [details]
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=206993&action=review

> Source/WebCore/ChangeLog:8
> +        If we have an <animateTransform> tag what sets attributeName and attributeType

nit: "what sets" ->"that sets the"

> Source/WebCore/ChangeLog:9
> +        properties however they are not consistent we shouldn't try to apply it.

nit: they are not consistent and we
Comment 12 Renata Hodovan 2013-07-29 10:44:49 PDT
Committed r153433: <http://trac.webkit.org/changeset/153433>
Comment 13 Renata Hodovan 2013-07-29 10:46:09 PDT
(In reply to comment #10)
> (From update of attachment 206993 [details])
> Nice, this looks good to me.

Thanks :)
Comment 14 Renata Hodovan 2013-07-30 05:53:35 PDT
*** Bug 108485 has been marked as a duplicate of this bug. ***
Comment 15 Alexey Proskuryakov 2013-07-31 12:21:02 PDT
There are a few issues with regression test for this bug:
- it should be text only, with cross-platform results;
- its name has a typo, should be "mismatch".
Comment 16 Philip Rogers 2013-07-31 12:22:21 PDT
(In reply to comment #15)
> There are a few issues with regression test for this bug:
> - it should be text only, with cross-platform results;
> - its name has a typo, should be "mismatch".

I made a mistake when reviewing this :(

We've fixed this in https://bugs.webkit.org/show_bug.cgi?id=119346