WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WORKSFORME
10855
REGRESSION: Reproducible crash in svg/custom/evt-onload.svg under GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=10855
Summary
REGRESSION: Reproducible crash in svg/custom/evt-onload.svg under GuardMalloc
Mark Rowe (bdash)
Reported
2006-09-14 06:40:33 PDT
I have seen intermittent occurrences of "DumpRenderTree(1386,0xa000cf60) malloc: *** Deallocation of a pointer not malloced: 0x2ed85de0; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug" while running the layout tests. After experimentation, I narrowed it down to a single test that crashes when using GuardMalloc. atlas:~/WebKit-Devel mrowe$ DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib ./WebKitBuild/Debug/DumpRenderTree LayoutTests/svg/custom/evt-onload.svg Allocations will be placed on word (4 byte) boundaries. - Small buffer overruns may not be noticed. - Applications using AltiVec instructions may fail. GuardMalloc-11 Segmentation fault LEAK: 8 Node LEAK: 3 RenderObject LEAK: 1 Frame LEAK: 23 KJS::Node GDB says: Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0xce35aff8 0x013efdd7 in WebCore::SVGPaint::paintType (this=0xce35afd8) at ./ksvg2/svg/SVGPaint.h:54 54 SVGPaintType paintType() const { return m_paintType; } (gdb) bt #0 0x013efdd7 in WebCore::SVGPaint::paintType (this=0xce35afd8) at ./ksvg2/svg/SVGPaint.h:54 #1 0x0107623e in WebCore::StyleFillData::operator== (this=0xce382ff4, other=@0xce490ff4) at WebKit-Devel/WebCore/ksvg2/css/SVGRenderStyleDefs.cpp:58 #2 0x013f1744 in WebCore::DataRef<WebCore::StyleFillData>::operator== (this=0xce380fe4, o=@0xce48efe4) at WebKit-Devel/WebCore/rendering/DataRef.h:87 #3 0x01075238 in WebCore::SVGRenderStyle::operator== (this=0xce380fd8, o=@0xce48efd8) at WebKit-Devel/WebCore/ksvg2/css/SVGRenderStyle.cpp:90 #4 0x01459c5e in WebCore::DataRef<WebCore::SVGRenderStyle>::operator== (this=0xce37affc, o=@0xce488ffc) at WebKit-Devel/WebCore/rendering/DataRef.h:87 #5 0x011ba836 in WebCore::RenderStyle::operator== (this=0xce37afc0, o=@0xce488fc0) at WebKit-Devel/WebCore/rendering/RenderStyle.cpp:690 #6 0x0125fbd8 in WebCore::Node::diff (this=0xce2aef40, s1=0xce37afc0, s2=0xce488fc0) at WebKit-Devel/WebCore/dom/Node.cpp:647 #7 0x0126599f in WebCore::Element::recalcStyle (this=0xce2aef40, change=NoChange) at WebKit-Devel/WebCore/dom/Element.cpp:579 #8 0x01265bcb in WebCore::Element::recalcStyle (this=0xce042f2c, change=NoChange) at WebKit-Devel/WebCore/dom/Element.cpp:618 #9 0x01118ce7 in WebCore::Document::recalcStyle (this=0xcbf5a860, change=NoChange) at WebKit-Devel/WebCore/dom/Document.cpp:874 #10 0x011121e3 in WebCore::Document::updateRendering (this=0xcbf5a860) at WebKit-Devel/WebCore/dom/Document.cpp:896 #11 0x01115a1e in WebCore::Document::updateDocumentsRendering () at WebKit-Devel/WebCore/dom/Document.cpp:906 #12 0x0127a6f7 in KJS::JSAbstractEventListener::handleEvent (this=0xce112fd8, ele=0xce3b2fd8, isWindowEvent=false) at WebKit-Devel/WebCore/bindings/js/kjs_events.cpp:142 #13 0x01248020 in WebCore::EventTargetNode::handleLocalEvents (this=0xce042f2c, evt=0xce3b2fd8, useCapture=false) at WebKit-Devel/WebCore/dom/EventTargetNode.cpp:164 #14 0x012486d8 in WebCore::EventTargetNode::dispatchGenericEvent (this=0xce042f2c, e=@0xbfffe028, tempEvent=false) at WebKit-Devel/WebCore/dom/EventTargetNode.cpp:212 #15 0x01088515 in WebCore::SVGElement::sendSVGLoadEventIfPossible (this=0xce042f2c, sendParentLoadEvents=false) at WebKit-Devel/WebCore/ksvg2/svg/SVGElement.cpp:180 #16 0x0108861d in WebCore::SVGElement::closeRenderer (this=0xce042f2c) at WebKit-Devel/WebCore/ksvg2/svg/SVGElement.cpp:189 #17 0x0103c161 in WebCore::XMLTokenizer::endElementNs (this=0xcdf2af7c) at WebKit-Devel/WebCore/dom/XMLTokenizer.cpp:794 #18 0x0103c52f in WebCore::endElementNsHandler (closure=0xcdfe5e48, localname=0xcdffbc43 "svg", prefix=0x0, uri=0xcdffbc47 "
http://www.w3.org/2000/svg
") at WebKit-Devel/WebCore/dom/XMLTokenizer.cpp:1053
Attachments
Add attachment
proposed patch, testcase, etc.
Eric Seidel (no email)
Comment 1
2006-09-16 02:01:33 PDT
So the backtrace indicates that somehow an SVGRectElement has a stale SVGRenderStyle pointer. It's not clear to me if the SVGRenderStyle pointer itself is stale, or just the associated DataRef<StyleFillData> is bad.
Eric Seidel (no email)
Comment 2
2006-09-16 02:02:38 PDT
Perhaps somehow the SVGPaint object is being dereffed an extra time?
Alexey Proskuryakov
Comment 3
2006-12-18 10:51:47 PST
I cannot reproduce this anymore.
Mark Rowe (bdash)
Comment 4
2007-01-11 05:27:10 PST
No longer reproducible.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug