Bug 78979

Summary: SVG assert in SkPathMeasure::buildSegments
Product: WebKit Reporter: Philip Rogers <pdr>
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: reed, rwlbuis, zimmermann
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Test case none

Description Philip Rogers 2012-02-18 16:27:16 PST
Created attachment 127719 [details]
Test case

The following will hit an assert in buildSegments:
<svg xmlns="http://www.w3.org/2000/svg" height="100" width="100">
<path style="stroke-dasharray:1" stroke="#000" d="M1,1 l-2.58-2.828-3.82-0.113, 1.9-3.3223-1.08-3.6702, 3.75,0.7744,3.16-2.1551,0.42,3.8008,3.02,2.3384-3.48,1.574-1.29,3.601z"/>
</svg>

Assert details and backtrace:
[2586:2586:18949573090:FATAL:SkPathMeasure.cpp(218)] ../../third_party/skia/src/core/SkPathMeasure.cpp:218: failed assertion "seg->fDistance > distance"

Backtrace:
	base::debug::StackTrace::StackTrace() [0x15af9c6]
	logging::LogMessage::~LogMessage() [0x15daabc]
	SkDebugf_FileLine() [0x2e817bf]
	SkPathMeasure::buildSegments() [0x2df1ece]
	SkPathMeasure::getLength() [0x2df2b08]
	SkPathMeasure::isClosed() [0x2df3306]
	SkDashPathEffect::filterPath() [0x2ed234f]
	SkPaint::getFillPath() [0x2de7862]
	WebCore::Path::strokeBoundingRect() [0x318dc2e]
	WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds() [0x22a1967]
        [ ... snip ...]
Comment 1 Rob Buis 2012-04-19 13:14:36 PDT
It is not clear to me if this is a Skia or SVG problem.
Comment 2 Mike Reed 2012-04-19 14:01:06 PDT
I will investigate
Comment 3 Mike Reed 2012-04-20 09:00:35 PDT
Fixed in skia rev. 3739
will just need to wait until that is rolled into chrome/webkit via DEPS