Closed Bug 1522734 Opened 6 years ago Closed 6 years ago

Skia validate fail in SkPathRef::CreateTransformedCopy on aarch64

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1516543

People

(Reporter: cpearce, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Attached file skia-crash.txt

When viewing https://cpearce.github.io/mse-eme/ in an aarch64 build on a Windows on ARM64 machine (Lenovo Yoga C630), I see the following assertion failure:

 # Child-SP          RetAddr           Call Site
00 00000014`9f575cf0 00007ffe`a15f16f0 mozglue!mozalloc_abort+0x80 [c:\users\chris\src\firefox\memory\mozalloc\mozalloc_abort.cpp @ 33] 
01 00000014`9f575d10 00007ffe`a173cd84 xul!sk_abort_no_print+0x40 [c:\users\chris\src\firefox\gfx\skia\skia\src\ports\skmemory_mozalloc.cpp @ 24] 
02 00000014`9f575d20 00007ffe`a1737538 xul!SkPathRef::CreateTransformedCopy+0x46c [c:\users\chris\src\firefox\gfx\skia\skia\src\core\skpathref.cpp @ 254] 
03 00000014`9f575da0 00007ffe`a1585110 xul!SkPath::transform+0x210 [c:\users\chris\src\firefox\gfx\skia\skia\src\core\skpath.cpp @ 1838] 
04 00000014`9f575e60 00007ffe`a13d3384 xul!SkDraw::drawPath+0x2d0 [c:\users\chris\src\firefox\gfx\skia\skia\src\core\skdraw.cpp @ 1114] 
05 (Inline Function) --------`-------- xul!SkDraw::drawPath+0x1c [c:\users\chris\src\firefox\gfx\skia\skia\src\core\skdraw.h @ 56] 
06 00000014`9f575fb0 00007ffe`a1404124 xul!SkBitmapDevice::drawPath+0xec [c:\users\chris\src\firefox\gfx\skia\skia\src\core\skbitmapdevice.cpp @ 416] 
07 00000014`9f576110 00007ffe`a13f6318 xul!SkCanvas::onDrawPath+0x1fc [c:\users\chris\src\firefox\gfx\skia\skia\src\core\skcanvas.cpp @ 2136] 
08 00000014`9f5762f0 00007ffe`9c9a4f40 xul!SkCanvas::drawPath+0xc8 [c:\users\chris\src\firefox\gfx\skia\skia\src\core\skcanvas.cpp @ 1698] 
09 00000014`9f576360 00007ffe`a0b31be0 xul!mozilla::gfx::DrawTargetSkia::Fill+0xf8 [c:\users\chris\src\firefox\gfx\2d\drawtargetskia.cpp @ 922] 
0a (Inline Function) --------`-------- xul!mozilla::gfx::GeneralPattern::{dtor}+0x10 [c:\users\chris\src\firefox\obj-aarch64\dist\include\mozilla\gfx\patternhelpers.h @ 35] 
0b 00000014`9f576430 00007ffe`a0b2bf44 xul!mozilla::SVGGeometryFrame::Render+0x2a0 [c:\users\chris\src\firefox\layout\svg\svggeometryframe.cpp @ 702] 
0c 00000014`9f576610 00007ffe`a0b2a6dc xul!mozilla::SVGGeometryFrame::PaintSVG+0x13c [c:\users\chris\src\firefox\layout\svg\svggeometryframe.cpp @ 264] 
0d 00000014`9f5766f0 00007ffe`a0ce7d54 xul!nsDisplaySVGGeometry::Paint+0x13c [c:\users\chris\src\firefox\layout\svg\svggeometryframe.cpp @ 124] 
0e 00000014`9f5767c0 00007ffe`a0cb5a70 xul!mozilla::FrameLayerBuilder::PaintItems+0x784 [c:\users\chris\src\firefox\layout\painting\framelayerbuilder.cpp @ 7052] 
0f 00000014`9f576ae0 00007ffe`9cd69ba8 xul!mozilla::FrameLayerBuilder::DrawPaintedLayer+0x588 [c:\users\chris\src\firefox\layout\painting\framelayerbuilder.cpp @ 7209] 
10 00000014`9f576c80 00007ffe`9cd69534 xul!mozilla::layers::BasicPaintedLayer::PaintThebes+0x348 [c:\users\chris\src\firefox\gfx\layers\basic\basicpaintedlayer.cpp @ 92] 
11 00000014`9f576df0 00007ffe`9cd68c40 xul!mozilla::layers::BasicLayerManager::PaintSelfOrChildren+0x74 [c:\users\chris\src\firefox\gfx\layers\basic\basiclayermanager.cpp @ 690] 
12 00000014`9f576e40 00007ffe`9cd6960c xul!mozilla::layers::BasicLayerManager::PaintLayer+0x8f0 [c:\users\chris\src\firefox\gfx\layers\basic\basiclayermanager.cpp @ 854] 
13 00000014`9f577040 00007ffe`9cd68c40 xul!mozilla::layers::BasicLayerManager::PaintSelfOrChildren+0x14c [c:\users\chris\src\firefox\gfx\layers\basic\basiclayermanager.cpp @ 713] 
14 00000014`9f577090 00007ffe`9cd5efa8 xul!mozilla::layers::BasicLayerManager::PaintLayer+0x8f0 [c:\users\chris\src\firefox\gfx\layers\basic\basiclayermanager.cpp @ 854] 
15 00000014`9f577290 00007ffe`a0ce9260 xul!mozilla::layers::BasicLayerManager::EndTransactionInternal+0x350 [c:\users\chris\src\firefox\gfx\layers\basic\basiclayermanager.cpp @ 606] 
16 00000014`9f5773c0 00007ffe`a0843f1c xul!nsDisplayList::PaintRoot+0x700 [c:\users\chris\src\firefox\layout\painting\nsdisplaylist.cpp @ 2737] 
17 00000014`9f577550 00007ffe`a07aa248 xul!nsLayoutUtils::PaintFrame+0x136c [c:\users\chris\src\firefox\layout\base\nslayoututils.cpp @ 3788] 
18 00000014`9f57a0b0 00007ffe`9d0c45f8 xul!mozilla::PresShell::RenderDocument+0x3f0 [c:\users\chris\src\firefox\layout\base\presshell.cpp @ 4547] 
19 00000014`9f57a1e0 00007ffe`9ce8c1dc xul!mozilla::image::SVGDrawingCallback::operator()+0x3c8 [c:\users\chris\src\firefox\image\vectorimage.cpp @ 308] 
1a 00000014`9f57a360 00007ffe`9cf9c40c xul!gfxCallbackDrawable::Draw+0xf4 [c:\users\chris\src\firefox\gfx\thebes\gfxdrawable.cpp @ 146] 
1b 00000014`9f57a3c0 00007ffe`9d0e4788 xul!gfxUtils::DrawPixelSnapped+0x1d4 [c:\users\chris\src\firefox\gfx\thebes\gfxutils.cpp @ 561] 
1c 00000014`9f57a490 00007ffe`9d0d2430 xul!mozilla::image::imgFrame::InitWithDrawable+0x3b0 [c:\users\chris\src\firefox\image\imgframe.cpp @ 447] 
1d 00000014`9f57a560 00007ffe`9d0d63c8 xul!mozilla::image::VectorImage::CreateSurface+0x158 [c:\users\chris\src\firefox\image\vectorimage.cpp @ 1126] 
1e 00000014`9f57a5f0 00007ffe`a0807030 xul!mozilla::image::VectorImage::Draw+0x2e0 [c:\users\chris\src\firefox\image\vectorimage.cpp @ 991] 
1f 00000014`9f57a7d0 00007ffe`a0806890 xul!DrawImageInternal+0x1c8 [c:\users\chris\src\firefox\layout\base\nslayoututils.cpp @ 6580] 
20 00000014`9f57a960 00007ffe`a0d112c8 xul!nsLayoutUtils::DrawBackgroundImage+0x208 [c:\users\chris\src\firefox\layout\base\nslayoututils.cpp @ 6794] 
21 00000014`9f57aa70 00007ffe`a0d12b90 xul!mozilla::nsImageRenderer::Draw+0x618 [c:\users\chris\src\firefox\layout\painting\nsimagerenderer.cpp @ 459] 
22 00000014`9f57ad20 00007ffe`a0cea6d8 xul!mozilla::nsImageRenderer::DrawLayer+0xd0 [c:\users\chris\src\firefox\layout\painting\nsimagerenderer.cpp @ 706] 
23 00000014`9f57ad50 00007ffe`a0ce9cf4 xul!nsCSSRendering::PaintStyleImageLayerWithSC+0x828 [c:\users\chris\src\firefox\layout\painting\nscssrendering.cpp @ 2607] 
24 00000014`9f57b010 00007ffe`a0ce71c4 xul!nsCSSRendering::PaintStyleImageLayer+0xf4 [c:\users\chris\src\firefox\layout\painting\nscssrendering.cpp @ 1837] 
25 00000014`9f57b060 00007ffe`a0ce7d54 xul!nsDisplayBackgroundImage::PaintInternal+0xfc [c:\users\chris\src\firefox\layout\painting\nsdisplaylist.cpp @ 4156] 
26 00000014`9f57b100 00007ffe`a0cb5a70 xul!mozilla::FrameLayerBuilder::PaintItems+0x784 [c:\users\chris\src\firefox\layout\painting\framelayerbuilder.cpp @ 7052] 
27 00000014`9f57b420 00007ffe`9cd6e79c xul!mozilla::FrameLayerBuilder::DrawPaintedLayer+0x588 [c:\users\chris\src\firefox\layout\painting\framelayerbuilder.cpp @ 7209] 
28 00000014`9f57b5c0 00007ffe`9cd6d394 xul!mozilla::layers::ClientPaintedLayer::RenderLayerWithReadback+0x20c [c:\users\chris\src\firefox\gfx\layers\client\clientpaintedlayer.cpp @ 156] 
29 00000014`9f57b6a0 00007ffe`9cd6d394 xul!mozilla::layers::ClientContainerLayer::RenderLayer+0x84 [c:\users\chris\src\firefox\gfx\layers\client\clientcontainerlayer.h @ 55] 
2a 00000014`9f57b6e0 00007ffe`9cd6d394 xul!mozilla::layers::ClientContainerLayer::RenderLayer+0x84 [c:\users\chris\src\firefox\gfx\layers\client\clientcontainerlayer.h @ 55] 
2b 00000014`9f57b720 00007ffe`9cd5fa08 xul!mozilla::layers::ClientContainerLayer::RenderLayer+0x84 [c:\users\chris\src\firefox\gfx\layers\client\clientcontainerlayer.h @ 55] 
2c 00000014`9f57b760 00007ffe`9cd5ea38 xul!mozilla::layers::ClientLayerManager::EndTransactionInternal+0x3c8 [c:\users\chris\src\firefox\gfx\layers\client\clientlayermanager.cpp @ 324] 
2d 00000014`9f57b9b0 00007ffe`a0ce9260 xul!mozilla::layers::ClientLayerManager::EndTransaction+0x60 [c:\users\chris\src\firefox\gfx\layers\client\clientlayermanager.cpp @ 374] 
2e 00000014`9f57ba10 00007ffe`a0843f1c xul!nsDisplayList::PaintRoot+0x700 [c:\users\chris\src\firefox\layout\painting\nsdisplaylist.cpp @ 2737] 
2f 00000014`9f57bba0 00007ffe`a0799878 xul!nsLayoutUtils::PaintFrame+0x136c [c:\users\chris\src\firefox\layout\base\nslayoututils.cpp @ 3788] 
30 00000014`9f57e700 00007ffe`a031bbf0 xul!mozilla::PresShell::Paint+0x938 [c:\users\chris\src\firefox\layout\base\presshell.cpp @ 6089] 
31 00000014`9f57e8c0 00007ffe`a031b62c xul!nsViewManager::ProcessPendingUpdatesPaint+0x1d8 [c:\users\chris\src\firefox\view\nsviewmanager.cpp @ 461] 
32 00000014`9f57e940 00007ffe`a031b3d8 xul!nsViewManager::ProcessPendingUpdatesForView+0x1c4 [c:\users\chris\src\firefox\view\nsviewmanager.cpp @ 392] 
33 00000014`9f57e9a0 00007ffe`a0747dac xul!nsViewManager::ProcessPendingUpdates+0x58 [c:\users\chris\src\firefox\view\nsviewmanager.cpp @ 1031] 
34 00000014`9f57e9c0 00007ffe`a0749c30 xul!nsRefreshDriver::Tick+0x1064 [c:\users\chris\src\firefox\layout\base\nsrefreshdriver.cpp @ 1962] 
35 (Inline Function) --------`-------- xul!mozilla::RefreshDriverTimer::TickDriver+0x1c [c:\users\chris\src\firefox\layout\base\nsrefreshdriver.cpp @ 328] 
36 00000014`9f57ed20 00007ffe`a0746b30 xul!mozilla::RefreshDriverTimer::TickRefreshDrivers+0x98 [c:\users\chris\src\firefox\layout\base\nsrefreshdriver.cpp @ 305] 
37 00000014`9f57ed90 00007ffe`a07498dc xul!mozilla::RefreshDriverTimer::Tick+0x170 [c:\users\chris\src\firefox\layout\base\nsrefreshdriver.cpp @ 324] 
38 (Inline Function) --------`-------- xul!mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers+0x24 [c:\users\chris\src\firefox\layout\base\nsrefreshdriver.cpp @ 727] 
39 00000014`9f57ee30 00007ffe`a0743a64 xul!mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver+0x144 [c:\users\chris\src\firefox\layout\base\nsrefreshdriver.cpp @ 649] 
3a 00000014`9f57eec0 00007ffe`9b262044 xul!mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::ParentProcessVsyncNotifier::Run+0xac [c:\users\chris\src\firefox\layout\base\nsrefreshdriver.cpp @ 489] 
3b 00000014`9f57ef00 00007ffe`9b25fa68 xul!nsThread::ProcessNextEvent+0x564 [c:\users\chris\src\firefox\xpcom\threads\nsthread.cpp @ 1164] 
3c 00000014`9f57f480 00007ffe`9bc72a54 xul!NS_ProcessNextEvent+0x78 [c:\users\chris\src\firefox\xpcom\threads\nsthreadutils.cpp @ 468] 
3d 00000014`9f57f4c0 00007ffe`9bbf6038 xul!mozilla::ipc::MessagePump::Run+0x124 [c:\users\chris\src\firefox\ipc\glue\messagepump.cpp @ 89] 
3e 00000014`9f57f500 00007ffe`9bbf5f98 xul!MessageLoop::RunInternal+0x60 [c:\users\chris\src\firefox\ipc\chromium\src\base\message_loop.cc @ 315] 
3f 00000014`9f57f540 00007ffe`9bbf568c xul!MessageLoop::RunHandler+0x50 [c:\users\chris\src\firefox\ipc\chromium\src\base\message_loop.cc @ 308] 
40 00000014`9f57f570 00007ffe`a0386a78 xul!MessageLoop::Run+0x24 [c:\users\chris\src\firefox\ipc\chromium\src\base\message_loop.cc @ 291] 
41 00000014`9f57f5b0 00007ffe`a0445f90 xul!nsBaseAppShell::Run+0x58 [c:\users\chris\src\firefox\widget\nsbaseappshell.cpp @ 139] 
42 00000014`9f57f5d0 00007ffe`a20087b0 xul!nsAppShell::Run+0x120 [c:\users\chris\src\firefox\widget\windows\nsappshell.cpp @ 411] 
43 00000014`9f57f620 00007ffe`a218160c xul!nsAppStartup::Run+0x68 [c:\users\chris\src\firefox\toolkit\components\startup\nsappstartup.cpp @ 272] 
44 00000014`9f57f640 00007ffe`a217dbf4 xul!XREMain::XRE_mainRun+0xdcc [c:\users\chris\src\firefox\toolkit\xre\nsapprunner.cpp @ 4388] 
45 00000014`9f57f900 00007ffe`a217d238 xul!XREMain::XRE_main+0x8e4 [c:\users\chris\src\firefox\toolkit\xre\nsapprunner.cpp @ 4526] 
46 00000014`9f57f9c0 00007ff6`cf1f4f74 xul!XRE_main+0x40 [c:\users\chris\src\firefox\toolkit\xre\nsapprunner.cpp @ 4610] 
47 00000014`9f57fb60 00007ff6`cf1f488c firefox!do_main+0x1fc [c:\users\chris\src\firefox\browser\app\nsbrowserapp.cpp @ 214] 
48 00000014`9f57fce0 00007ff6`cf1f5608 firefox!NS_internal_main+0x19c [c:\users\chris\src\firefox\browser\app\nsbrowserapp.cpp @ 295] 
49 00000014`9f57fd70 00007ff6`cf27ca04 firefox!wmain+0x2f8 [c:\users\chris\src\firefox\toolkit\xre\nswindowswmain.cpp @ 132] 
4a (Inline Function) --------`-------- firefox!invoke_main+0x24 [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 90] 
4b 00000014`9f57fde0 00007ff6`cf27cee0 firefox!__scrt_common_main_seh+0x124 [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 
4c (Inline Function) --------`-------- firefox!__scrt_common_main+0x8 [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 330] 
4d 00000014`9f57fe20 00007ffe`d98d5ba4 firefox!wmainCRTStartup+0x10 [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_wmain.cpp @ 16] 
4e 00000014`9f57fe30 00007ffe`d9a10404 KERNEL32!BaseThreadInitThunk+0x34
4f 00000014`9f57fe70 00000000`00000000 ntdll!RtlUserThreadStart+0x44

I think Skia is asserting on the SVG from the "fork me on github" badge.

It is the "fork me on github" badge that triggers the assertion. Testcase.

Since the clang-cl switch just landed on m-c, can you confirm bug 1516543 comment 11 with tomorrow's nightly?

Er, I'm guessing you built with --enable-debug, so nightly won't help you. Could you pick up m-c and clobber build? It should switch you to clang.

You may also want to bootstrap to pick up clang 8.

Updating to clang8 made this problem go away.

Ok great, thanks for testing.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: