Closed Bug 1494380 Opened 2 years ago Closed 2 years ago

Assertion failure: aWM.IsVertical(), at /builds/worker/workspace/build/src/layout/generic/nsTextFrame.cpp:6661 (with 'text-combine-upright' and 'sideways-rl')

Categories

(Core :: Layout: Text and Fonts, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox-esr60 --- wontfix
firefox62 --- wontfix
firefox63 --- wontfix
firefox64 --- fixed

People

(Reporter: jkratzer, Assigned: xidorn)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(3 files)

Attached file testcase.html
Assertion failure: aWM.IsVertical(), at /builds/worker/workspace/build/src/layout/generic/nsTextFrame.cpp:6661

Testcase found while fuzzing mozilla-central rev c5a9878baf35.

rax = 0x0000000000000000   rdx = 0x0000000000000000
rcx = 0x0000000000000b40   rbx = 0x00007f6e9d07ede0
rsi = 0x00007f6eb70748b0   rdi = 0x00007f6eb7073680
rbp = 0x00007ffc2b2b1e00   rsp = 0x00007ffc2b2b1d50
r8 = 0x00007f6eb70748b0    r9 = 0x00007f6eb81ea740
r10 = 0x0000000000000000   r11 = 0x0000000000000000
r12 = 0x00007f6e9d07ed00   r13 = 0x00007f6e9d09b060
r14 = 0x00007ffc2b2b2188   r15 = 0x00007ffc2b2b20e8
rip = 0x00007f6ea7b2935b
OS|Linux|0.0.0 Linux 4.15.0-34-generic #37-Ubuntu SMP Mon Aug 27 15:21:48 UTC 2018 x86_64
CPU|amd64|family 6 model 78 stepping 3|1
GPU|||
Crash|SIGSEGV /SEGV_MAPERR|0x0|0
0|0|libxul.so|nsTextFrame::DrawEmphasisMarks(gfxContext*, mozilla::WritingMode, mozilla::gfx::PointTyped<mozilla::gfx::UnknownUnits, float> const&, mozilla::gfx::PointTyped<mozilla::gfx::UnknownUnits, float> const&, gfxTextRun::Range, unsigned int const*, PropertyProvider*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsTextFrame.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|6661|0x18
0|1|libxul.so|nsTextFrame::DrawTextRunAndDecorations(gfxTextRun::Range, mozilla::gfx::PointTyped<mozilla::gfx::UnknownUnits, float> const&, nsTextFrame::DrawTextParams const&, nsTextFrame::TextDecorations const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsTextFrame.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|7341|0x26
0|2|libxul.so|nsTextFrame::DrawText(gfxTextRun::Range, mozilla::gfx::PointTyped<mozilla::gfx::UnknownUnits, float> const&, nsTextFrame::DrawTextParams const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsTextFrame.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|7374|0x14
0|3|libxul.so|nsTextFrame::PaintOneShadow(nsTextFrame::PaintShadowParams const&, nsCSSShadowItem*, mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits, double>&, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsTextFrame.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|6323|0xd
0|4|libxul.so|nsTextFrame::PaintShadows(nsCSSShadowArray*, nsTextFrame::PaintShadowParams const&)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsTextFrame.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|6908|0x5
0|5|libxul.so|nsTextFrame::PaintText(nsTextFrame::PaintTextParams const&, nsCharClipDisplayItem const&, float)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsTextFrame.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|7052|0xf
0|6|libxul.so|nsDisplayText::RenderToContext(gfxContext*, nsDisplayListBuilder*, bool)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsTextFrame.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|5182|0x19
0|7|libxul.so|nsDisplayText::Paint(nsDisplayListBuilder*, gfxContext*)|hg:hg.mozilla.org/mozilla-central:layout/generic/nsTextFrame.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|5091|0x11
0|8|libxul.so|mozilla::FrameLayerBuilder::PaintItems(std::vector<mozilla::AssignedDisplayItem, std::allocator<mozilla::AssignedDisplayItem> >&, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, gfxContext*, nsDisplayListBuilder*, nsPresContext*, mozilla::gfx::IntPointTyped<mozilla::gfx::UnknownUnits> const&, float, float)|hg:hg.mozilla.org/mozilla-central:layout/painting/FrameLayerBuilder.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|7445|0x1a
0|9|libxul.so|mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*)|hg:hg.mozilla.org/mozilla-central:layout/painting/FrameLayerBuilder.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|7625|0x18
0|10|libxul.so|mozilla::layers::ClientPaintedLayer::RenderLayerWithReadback(mozilla::layers::ReadbackProcessor*)|hg:hg.mozilla.org/mozilla-central:gfx/layers/client/ClientPaintedLayer.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|166|0x2d
0|11|libxul.so|mozilla::layers::ClientContainerLayer::RenderLayer()|hg:hg.mozilla.org/mozilla-central:gfx/layers/client/ClientContainerLayer.h:c5a9878baf35a354cb913b4f06542e233685ea9a|58|0xd
0|12|libxul.so|mozilla::layers::ClientLayerManager::EndTransactionInternal(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags)|hg:hg.mozilla.org/mozilla-central:gfx/layers/client/ClientLayerManager.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|331|0xa
0|13|libxul.so|mozilla::layers::ClientLayerManager::EndTransaction(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags)|hg:hg.mozilla.org/mozilla-central:gfx/layers/client/ClientLayerManager.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|389|0x11
0|14|libxul.so|nsDisplayList::PaintRoot(nsDisplayListBuilder*, gfxContext*, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/painting/nsDisplayList.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|2834|0x17
0|15|libxul.so|nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags)|hg:hg.mozilla.org/mozilla-central:layout/base/nsLayoutUtils.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|3834|0x5
0|16|libxul.so|mozilla::PresShell::Paint(nsView*, nsRegion const&, unsigned int)|hg:hg.mozilla.org/mozilla-central:layout/base/PresShell.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|6345|0x17
0|17|libxul.so|nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*)|hg:hg.mozilla.org/mozilla-central:view/nsViewManager.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|480|0x28
0|18|libxul.so|nsViewManager::ProcessPendingUpdatesForView(nsView*, bool)|hg:hg.mozilla.org/mozilla-central:view/nsViewManager.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|412|0xd
0|19|libxul.so|nsViewManager::ProcessPendingUpdates()|hg:hg.mozilla.org/mozilla-central:view/nsViewManager.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|1102|0x11
0|20|libxul.so|nsRefreshDriver::Tick(mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|2046|0x8
0|21|libxul.so|mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|325|0x8
0|22|libxul.so|mozilla::RefreshDriverTimer::Tick(mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|318|0xc
0|23|libxul.so|mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|756|0xc
0|24|libxul.so|mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::TimeStamp)|hg:hg.mozilla.org/mozilla-central:layout/base/nsRefreshDriver.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|572|0xc
0|25|libxul.so|mozilla::layout::VsyncChild::RecvNotify(mozilla::TimeStamp const&)|hg:hg.mozilla.org/mozilla-central:layout/ipc/VsyncChild.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|78|0x9
0|26|libxul.so|mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&)|s3:gecko-generated-sources:2c36fa176485b987fd1c1ce548d1f34c4c8bfdea36ff5dd016400feb13d3c5c0c7f99d5a56d13733937c9483a48617af010c09f521533a5ce0fc1f74c50b86a2/ipc/ipdl/PVsyncChild.cpp:|167|0xc
0|27|libxul.so|mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|2248|0x6
0|28|libxul.so|mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|2175|0xb
0|29|libxul.so|mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|2012|0xb
0|30|libxul.so|mozilla::ipc::MessageChannel::MessageTask::Run()|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|2045|0xc
0|31|libxul.so|nsThread::ProcessNextEvent(bool, bool*)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|1166|0x15
0|32|libxul.so|NS_ProcessNextEvent(nsIThread*, bool)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|519|0x11
0|33|libxul.so|mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|97|0xa
0|34|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:c5a9878baf35a354cb913b4f06542e233685ea9a|325|0x17
0|35|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:c5a9878baf35a354cb913b4f06542e233685ea9a|318|0x8
0|36|libxul.so|nsBaseAppShell::Run()|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|158|0xd
0|37|libxul.so|XRE_RunAppShell()|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|939|0x11
0|38|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|269|0x5
0|39|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:c5a9878baf35a354cb913b4f06542e233685ea9a|325|0x17
0|40|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:c5a9878baf35a354cb913b4f06542e233685ea9a|318|0x8
0|41|libxul.so|XRE_InitChildProcess(int, char**, XREChildData const*)|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|765|0x8
0|42|firefox-bin|content_process_main(mozilla::Bootstrap*, int, char**)|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|50|0x14
0|43|firefox-bin|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:c5a9878baf35a354cb913b4f06542e233685ea9a|287|0x11
0|44|libc-2.27.so||||0x21b97
0|45|firefox-bin|MOZ_ReportAssertionFailure|hg:hg.mozilla.org/mozilla-central:mfbt/Assertions.h:c5a9878baf35a354cb913b4f06542e233685ea9a|164|0x5
Flags: in-testsuite?
Summary: Assertion failure: aWM.IsVertical(), at /builds/worker/workspace/build/src/layout/generic/nsTextFrame.cpp:6661 → Assertion failure: aWM.IsVertical(), at /builds/worker/workspace/build/src/layout/generic/nsTextFrame.cpp:6661 (with 'text-combine-upright' and 'sideways-rl')
Flags: needinfo?(xidorn+moz)
Attached file simplified testcase
Avoiding this assertion is easy, but what is the right way to do is unclear.
Flags: needinfo?(xidorn+moz)
Assignee: nobody → xidorn+moz
Comment on attachment 9012479 [details]
Bug 1494380 - Ignore emphasis marks on combined text with horizontal writing mode. r=jfkthame

Jonathan Kew (:jfkthame) has approved the revision.
Attachment #9012479 - Flags: review+
Pushed by xquan@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/69fe889aa92a
Ignore emphasis marks on combined text with horizontal writing mode. r=jfkthame
https://hg.mozilla.org/mozilla-central/rev/69fe889aa92a
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.