Open Bug 1305090 Opened 8 years ago Updated 2 years ago

sk_abort: GrAtlasTextBatch.cpp: fatal error: ""fBounds.contains(rect)"" in GrAtlasTextBatch::onPrepareDraws

Categories

(Core :: Graphics, defect, P5)

x86_64
macOS
defect

Tracking

()

Tracking Status
firefox52 --- affected

People

(Reporter: truber, Unassigned)

References

Details

(Keywords: assertion, testcase, Whiteboard: [gfx-noted])

Attachments

(2 files)

Attached file testcase.html
Attached testcase triggers a skia abort in mozilla-central revision 60cc643978c7 (debug).

Assertion:

/builds/slave/m-cen-m64-d-000000000000000000/build/src/gfx/skia/skia/src/gpu/batches/GrAtlasTextBatch.cpp:167: fatal error: ""fBounds.contains(rect)""
Abort from sk_abort
Hit MOZ_CRASH() at /builds/slave/m-cen-m64-d-000000000000000000/build/src/memory/mozalloc/mozalloc_abort.cpp:33

Stacktrace:

    #0 0x60cc643978c7 in mozalloc_abort(char const*) memory/mozalloc/mozalloc_abort.cpp:33
    #1 0x60cc643978c7 in sk_abort_no_print() gfx/skia/skia/src/ports/SkMemory_mozalloc.cpp:16
    #2 0x60cc643978c7 in GrAtlasTextBatch::onPrepareDraws(GrVertexBatch::Target*) const gfx/skia/skia/src/gpu/batches/GrAtlasTextBatch.cpp:167
    #3 0x60cc643978c7 in GrVertexBatch::onPrepare(GrBatchFlushState*) gfx/skia/skia/src/gpu/batches/GrVertexBatch.cpp:19
    #4 0x60cc643978c7 in GrDrawTarget::prepareBatches(GrBatchFlushState*) gfx/skia/skia/src/gpu/batches/GrBatch.h:109
    #5 0x60cc643978c7 in GrDrawingManager::flush() gfx/skia/skia/src/gpu/GrDrawingManager.cpp:77
    #6 0x60cc643978c7 in GrContext::prepareSurfaceForExternalIO(GrSurface*) gfx/skia/skia/src/gpu/GrContext.cpp:237
    #7 0x60cc643978c7 in SkGpuDevice::flush() gfx/skia/skia/src/gpu/SkGpuDevice.cpp:1823
    #8 0x60cc643978c7 in gfxContext::~gfxContext() gfx/thebes/gfxContext.cpp:121
    #9 0x60cc643978c7 in gfxContext::Release() gfx/thebes/gfxContext.h:56
    #10 0x60cc643978c7 in mozilla::dom::CanvasBidiProcessor::DrawText(int, int) mfbt/RefPtr.h:40
    #11 0x60cc643978c7 in nsBidiPresUtils::ProcessText(char16_t const*, int, unsigned char, nsPresContext*, nsBidiPresUtils::BidiProcessor&, nsBidiPresUtils::Mode, nsBidiPositionResolve*, int, int*, nsBidi*) layout/base/nsBidiPresUtils.cpp:2056
    #12 0x60cc643978c7 in mozilla::dom::CanvasRenderingContext2D::DrawOrMeasureText(nsAString_internal const&, float, float, mozilla::dom::Optional<double> const&, mozilla::dom::CanvasRenderingContext2D::TextDrawOperation, float*) dom/canvas/CanvasRenderingContext2D.cpp:4299
Attached file log.txt
Depends on: 1305151
This is mostly caused by numerical precision being stressed, mainly just triggers some debug code to assert in Skia but otherwise doesn't have any harmful consequence, and is not otherwise easy to fix. Ideally we should handle this via the mechanism in bug 1305151 rather than trying to fix directly.
Has STR: --- → yes
Priority: -- → P5
Whiteboard: [gfx-noted]
Has Regression Range: --- → irrelevant
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: