Closed Bug 1908069 Opened 8 months ago Closed 7 months ago

Add support for padding/border/margin on MathML elements

Categories

(Core :: MathML, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
131 Branch
Tracking Status
firefox131 --- fixed

People

(Reporter: fredw, Assigned: fredw)

References

(Blocks 4 open bugs)

Details

Attachments

(9 files, 1 obsolete file)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
699 bytes, text/html
Details
66.20 KB, image/png
Details

This is the continuation of bug 1658121, for all MathML elements.

This is a preliminary patch to implement border+padding on MathML
elements, which is essentially done by inflating the math content with
the specificed padding and border. There are a few methods that are
overridden by derived class to implement math layout, one of them is
nsMathMLContainer::Place which is called by nsMathMLContainer::Stretch
method on descendants [2] and so requires to know the border+padding
that was used for them. MathML relies on
Save/GetReflowAndBoundingMetricsFor methods to handle layout parameters,
so add a slot where we could store
ReflowInput::ComputedPhysicalBorderPadding(). Other callers don't
care about child's padding+border.

[1] https://w3c.github.io/mathml-core/#layout-algorithms
[2] https://searchfox.org/mozilla-central/source/layout/mathml/nsMathMLContainerFrame.cpp#299

MathML classes has a few methods like Place(), MeasureForWidth() etc
used for layout and intrinsic metric calculation. This patch
introduces a new parameter for border+padding so these methods can
use them to inflate the math box layout in follow-up patches (this
is already the case for nsMathMLmspaceFrame after bug 1658121).

Summary: Add support for padding/border on MathML elements → Add support for padding/border/margin on MathML elements
Attachment #9412965 - Attachment description: WIP: Bug 1908069 - Save padding+border spacing on MathML frame. r=emilio → WIP: Bug 1908069 - Save padding/border/margin spacing on MathML frame. r=emilio
Attachment #9412968 - Attachment description: WIP: Bug 1908069 - Add border/padding support to <mfrac>. r=emilio → WIP: Bug 1908069 - Add border/padding/margin support to <mfrac>. r=emilio
Duplicate of this bug: 1663867
Attachment #9412991 - Attachment description: WIP: Bug 1908069 - Add border/padding support to mrow-like elements. r=emilio → WIP: Bug 1908069 - Add border/padding/margin support to mrow-like elements. r=emilio
Attachment #9413336 - Attachment description: WIP: Bug 1908069 - Add border/padding support to MathML token elements. r=emilio → WIP: Bug 1908069 - Add border/padding/margin support to MathML token elements. r=emilio
Attachment #9412988 - Attachment description: WIP: Bug 1908069 - Adjust tests to work around Firefox bugs. r=emilio → WIP: Bug 1908069 - Extend and tweak MathML padding/border/margin tests. r=emilio
Blocks: 1907173
Attachment #9412965 - Attachment description: WIP: Bug 1908069 - Save padding/border/margin spacing on MathML frame. r=emilio → Bug 1908069 - Save padding/border/margin spacing on MathML frame. r=emilio
Attachment #9412967 - Attachment description: WIP: Bug 1908069 - Introduce border+padding parameter to MathML layout methods. r=emilio → Bug 1908069 - Introduce border+padding parameter to MathML layout methods. r=emilio
Attachment #9412988 - Attachment description: WIP: Bug 1908069 - Extend and tweak MathML padding/border/margin tests. r=emilio → Bug 1908069 - Extend and tweak MathML padding/border/margin tests. r=emilio
Attachment #9412968 - Attachment description: WIP: Bug 1908069 - Add border/padding/margin support to <mfrac>. r=emilio → Bug 1908069 - Add border/padding/margin support to <mfrac>. r=emilio
Attachment #9412991 - Attachment description: WIP: Bug 1908069 - Add border/padding/margin support to mrow-like elements. r=emilio → Bug 1908069 - Add border/padding/margin support to mrow-like elements. r=emilio
Attachment #9413336 - Attachment description: WIP: Bug 1908069 - Add border/padding/margin support to MathML token elements. r=emilio → Bug 1908069 - Add border/padding/margin support to MathML token elements. r=emilio
Attachment #9413482 - Attachment description: WIP: Bug 1908069 - Add border/padding/margin support to scripted elements. r=emilio → Bug 1908069 - Add border/padding/margin support to scripted elements. r=emilio
Attachment #9413587 - Attachment description: WIP: Bug 1908069 - Add border/padding/margin support to msqrt, mroot and menclose. r=emilio → Bug 1908069 - Add border/padding/margin support to msqrt, mroot and menclose. r=emilio
Attachment #9412968 - Attachment description: Bug 1908069 - Add border/padding/margin support to <mfrac>. r=emilio → WIP: Bug 1908069 - Add border/padding/margin support to <mfrac>. r=emilio
Attachment #9412965 - Attachment is obsolete: true
Attachment #9412967 - Attachment description: Bug 1908069 - Introduce border+padding parameter to MathML layout methods. r=emilio → WIP: Bug 1908069 - Introduce PlaceFlags parameter to MathML layout methods. r=emilio
Attachment #9412988 - Attachment description: Bug 1908069 - Extend and tweak MathML padding/border/margin tests. r=emilio → WIP: Bug 1908069 - Extend and tweak MathML padding/border/margin tests. r=emilio
Attachment #9412988 - Attachment description: WIP: Bug 1908069 - Extend and tweak MathML padding/border/margin tests. r=emilio → Bug 1908069 - Extend and tweak MathML padding/border/margin tests. r=emilio
Attachment #9412968 - Attachment description: WIP: Bug 1908069 - Add border/padding/margin support to <mfrac>. r=emilio → Bug 1908069 - Add border/padding/margin support to <mfrac>. r=emilio
Attachment #9412967 - Attachment description: WIP: Bug 1908069 - Introduce PlaceFlags parameter to MathML layout methods. r=emilio → Bug 1908069 - Introduce PlaceFlags parameter to MathML layout methods. r=emilio

(In reply to Frédéric Wang (:fredw) from comment #14)

https://treeherder.mozilla.org/jobs?repo=try&revision=fa229e626722f96bb0fd4148e3df081cdea66e61

There was a problem in a previous version of D216924 that was making scripts/subsup-2/3.html fail, but this is now fixed.

Blocks: 1910858
Blocks: 1910859
Pushed by fwang@igalia.com: https://hg.mozilla.org/integration/autoland/rev/8fac35770369 Introduce PlaceFlags parameter to MathML layout methods. r=emilio https://hg.mozilla.org/integration/autoland/rev/2c4076a423fa Extend and tweak MathML padding/border/margin tests. r=emilio https://hg.mozilla.org/integration/autoland/rev/e7797c083647 Add border/padding/margin support to <mfrac>. r=emilio https://hg.mozilla.org/integration/autoland/rev/526b1ba8c610 Add border/padding/margin support to mrow-like elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/6775a291fb83 Add border/padding/margin support to MathML token elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/6b8c788b3fb3 Add border/padding/margin support to scripted elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/7a9063b6e9f1 Add border/padding/margin support to msqrt, mroot and menclose. r=emilio
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/47387 for changes under testing/web-platform/tests

Backed out for causing multiple mochitest failures and wpt failures.

[task 2024-07-31T15:27:36.999Z] 15:27:36    ERROR - ==2000==ERROR: AddressSanitizer: stack-use-after-scope on address 0x0073a01f5310 at pc 0x7ffd1d151eb3 bp 0x0073a01f5000 sp 0x0073a01f5048
[task 2024-07-31T15:27:36.999Z] 15:27:36     INFO - READ of size 1 at 0x0073a01f5310 thread T0
[task 2024-07-31T15:27:37.015Z] 15:27:37     INFO - ==2000==WARNING: Failed to use and restart external symbolizer!
[task 2024-07-31T15:27:38.611Z] 15:27:38     INFO -     #0 0x7ffd1d151eb2 in nsMathMLContainerFrame::RowChildFrameIterator::InitMetricsForChild /builds/worker/checkouts/gecko/layout/mathml/nsMathMLContainerFrame.cpp:1143
[task 2024-07-31T15:27:38.612Z] 15:27:38     INFO -     #1 0x7ffd1d1167a0 in nsMathMLContainerFrame::RowChildFrameIterator::operator++ /builds/worker/checkouts/gecko/layout/mathml/nsMathMLContainerFrame.cpp:1101
[task 2024-07-31T15:27:38.612Z] 15:27:38     INFO -     #2 0x7ffd1d116ebd in nsMathMLContainerFrame::PositionRowChildFrames /builds/worker/checkouts/gecko/layout/mathml/nsMathMLContainerFrame.cpp:1233
[task 2024-07-31T15:27:38.613Z] 15:27:38     INFO -     #3 0x7ffd1d1162b0 in nsMathMLContainerFrame::Place /builds/worker/checkouts/gecko/layout/mathml/nsMathMLContainerFrame.cpp:1213
[task 2024-07-31T15:27:38.613Z] 15:27:38     INFO -     #4 0x7ffd1d1117e7 in nsMathMLContainerFrame::FinalizeReflow /builds/worker/checkouts/gecko/layout/mathml/nsMathMLContainerFrame.cpp:423
[task 2024-07-31T15:27:38.614Z] 15:27:38     INFO -     #5 0x7ffd1d1140f8 in nsMathMLContainerFrame::Reflow /builds/worker/checkouts/gecko/layout/mathml/nsMathMLContainerFrame.cpp:868
[task 2024-07-31T15:27:38.615Z] 15:27:38     INFO -     #6 0x7ffd1cc06784 in nsBlockReflowContext::ReflowBlock /builds/worker/checkouts/gecko/layout/generic/nsBlockReflowContext.cpp:290
[task 2024-07-31T15:27:38.616Z] 15:27:38     INFO -     #7 0x7ffd1cbfe5e3 in nsBlockFrame::ReflowBlockFrame /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:4369
[task 2024-07-31T15:27:38.616Z] 15:27:38     INFO -     #8 0x7ffd1cbfbf81 in nsBlockFrame::ReflowLine /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:3699
[task 2024-07-31T15:27:38.617Z] 15:27:38     INFO -     #9 0x7ffd1cbf107b in nsBlockFrame::ReflowDirtyLines /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:3208
[task 2024-07-31T15:27:38.617Z] 15:27:38     INFO -     #10 0x7ffd1cbea3ea in nsBlockFrame::TrialReflow /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:1895
[task 2024-07-31T15:27:38.618Z] 15:27:38     INFO -     #11 0x7ffd1cbe6df2 in nsBlockFrame::Reflow /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:1533
[task 2024-07-31T15:27:38.619Z] 15:27:38     INFO -     #12 0x7ffd1cc06784 in nsBlockReflowContext::ReflowBlock /builds/worker/checkouts/gecko/layout/generic/nsBlockReflowContext.cpp:290
[task 2024-07-31T15:27:38.619Z] 15:27:38     INFO -     #13 0x7ffd1cc16e88 in nsBlockFrame::ReflowFloat /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:7277
[task 2024-07-31T15:27:38.620Z] 15:27:38     INFO -     #14 0x7ffd1cb2cfe3 in mozilla::BlockReflowState::FlowAndPlaceFloat /builds/worker/checkouts/gecko/layout/generic/BlockReflowState.cpp:836
[task 2024-07-31T15:27:38.621Z] 15:27:38     INFO -     #15 0x7ffd1cb2b6a6 in mozilla::BlockReflowState::AddFloat /builds/worker/checkouts/gecko/layout/generic/BlockReflowState.cpp:566
[task 2024-07-31T15:27:38.621Z] 15:27:38     INFO -     #16 0x7ffd1cdf1dd8 in nsLineLayout::ReflowFrame /builds/worker/checkouts/gecko/layout/generic/nsLineLayout.cpp:874
[task 2024-07-31T15:27:38.622Z] 15:27:38     INFO -     #17 0x7ffd1cc0ab8c in nsBlockFrame::ReflowInlineFrame /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:5074
[task 2024-07-31T15:27:38.623Z] 15:27:38     INFO -     #18 0x7ffd1cc08bcb in nsBlockFrame::DoReflowInlineFrames /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:4876
[task 2024-07-31T15:27:38.624Z] 15:27:38     INFO -     #19 0x7ffd1cc01ad1 in nsBlockFrame::ReflowInlineFrames /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:4734
[task 2024-07-31T15:27:38.624Z] 15:27:38     INFO -     #20 0x7ffd1cbfbe21 in nsBlockFrame::ReflowLine /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:3702
[task 2024-07-31T15:27:38.625Z] 15:27:38     INFO -     #21 0x7ffd1cbf107b in nsBlockFrame::ReflowDirtyLines /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:3208
[task 2024-07-31T15:27:38.627Z] 15:27:38     INFO -     #22 0x7ffd1cbea3ea in nsBlockFrame::TrialReflow /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:1895
[task 2024-07-31T15:27:38.627Z] 15:27:38     INFO -     #23 0x7ffd1cbe6df2 in nsBlockFrame::Reflow /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:1533
[task 2024-07-31T15:27:38.628Z] 15:27:38     INFO -     #24 0x7ffd1cc48ef2 in nsContainerFrame::ReflowChild /builds/worker/checkouts/gecko/layout/generic/nsContainerFrame.cpp:885
[task 2024-07-31T15:27:38.629Z] 15:27:38     INFO -     #25 0x7ffd1cc267fa in nsCanvasFrame::Reflow /builds/worker/checkouts/gecko/layout/generic/nsCanvasFrame.cpp:710
[task 2024-07-31T15:27:38.629Z] 15:27:38     INFO -     #26 0x7ffd1cc5c0f1 in nsContainerFrame::ReflowChild /builds/worker/checkouts/gecko/layout/generic/nsContainerFrame.cpp:926
[task 2024-07-31T15:27:38.630Z] 15:27:38     INFO -     #27 0x7ffd1cbd5b16 in mozilla::ViewportFrame::Reflow /builds/worker/checkouts/gecko/layout/generic/ViewportFrame.cpp:358
[task 2024-07-31T15:27:38.630Z] 15:27:38     INFO -     #28 0x7ffd1c9776f3 in mozilla::PresShell::DoReflow /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:9923
[task 2024-07-31T15:27:38.631Z] 15:27:38     INFO -     #29 0x7ffd1c9bb8f0 in mozilla::PresShell::ProcessReflowCommands /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:10096
[task 2024-07-31T15:27:38.631Z] 15:27:38     INFO -     #30 0x7ffd1c989bd1 in mozilla::PresShell::DoFlushPendingNotifications /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:4383
[task 2024-07-31T15:27:38.632Z] 15:27:38     INFO -     #31 0x7ffd1638ab74 in mozilla::dom::Document::FlushPendingNotifications /builds/worker/checkouts/gecko/dom/base/Document.cpp:11080
[task 2024-07-31T15:27:38.633Z] 15:27:38     INFO -     #32 0x7ffd1435ae43 in nsDocLoader::DocLoaderIsEmpty /builds/worker/checkouts/gecko/uriloader/base/nsDocLoader.cpp:729
[task 2024-07-31T15:27:38.634Z] 15:27:38     INFO -     #33 0x7ffd1435dcb8 in nsDocLoader::OnStopRequest /builds/worker/checkouts/gecko/uriloader/base/nsDocLoader.cpp:667
[task 2024-07-31T15:27:38.634Z] 15:27:38     INFO -     #34 0x7ffd1d395b70 in nsDocShell::OnStopRequest /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:13786
[task 2024-07-31T15:27:38.635Z] 15:27:38     INFO -     #35 0x7ffd12e01fd6 in mozilla::net::nsLoadGroup::NotifyRemovalObservers /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp:632
[task 2024-07-31T15:27:38.636Z] 15:27:38     INFO -     #36 0x7ffd12e04750 in mozilla::net::nsLoadGroup::RemoveRequest /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp:536
[task 2024-07-31T15:27:38.637Z] 15:27:38     INFO -     #37 0x7ffd16349870 in mozilla::dom::Document::UnblockOnload /builds/worker/checkouts/gecko/dom/base/Document.cpp:11808
[task 2024-07-31T15:27:38.637Z] 15:27:38     INFO -     #38 0x7ffd1636f593 in mozilla::dom::Document::DispatchContentLoadedEvents /builds/worker/checkouts/gecko/dom/base/Document.cpp:8288
[task 2024-07-31T15:27:38.638Z] 15:27:38     INFO -     #39 0x7ffd12957fea in mozilla::detail::RunnableMethodImpl<nsMemoryReporterManager *,nsresult (nsMemoryReporterManager::*)(),1,0>::Run /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1134
[task 2024-07-31T15:27:38.639Z] 15:27:38     INFO -     #40 0x7ffd12ac314e in mozilla::RunnableTask::Run /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:618
[task 2024-07-31T15:27:38.639Z] 15:27:38     INFO -     #41 0x7ffd12aa54d1 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:945
[task 2024-07-31T15:27:38.640Z] 15:27:38     INFO -     #42 0x7ffd12aa1e8a in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:768
[task 2024-07-31T15:27:38.641Z] 15:27:38     INFO -     #43 0x7ffd12aa2784 in mozilla::TaskController::ProcessPendingMTTask /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:554
[task 2024-07-31T15:27:38.641Z] 15:27:38     INFO -     #44 0x7ffd12ac6bc1 in mozilla::detail::RunnableFunction<`lambda at /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:268:7'>::Run /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:548
[task 2024-07-31T15:27:38.642Z] 15:27:38     INFO -     #45 0x7ffd12aed74c in nsThread::ProcessNextEvent /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1204
[task 2024-07-31T15:27:38.643Z] 15:27:38     INFO -     #46 0x7ffd12afc230 in NS_ProcessNextEvent /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480
[task 2024-07-31T15:27:38.644Z] 15:27:38     INFO -     #47 0x7ffd13eee857 in mozilla::ipc::MessagePump::Run /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85
[task 2024-07-31T15:27:38.644Z] 15:27:38     INFO -     #48 0x7ffd13e20573 in MessageLoop::RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363
[task 2024-07-31T15:27:38.644Z] 15:27:38     INFO -     #49 0x7ffd13e203d6 in MessageLoop::Run /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345
[task 2024-07-31T15:27:38.645Z] 15:27:38     INFO -     #50 0x7ffd1c15ad6c in nsBaseAppShell::Run /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148
[task 2024-07-31T15:27:38.645Z] 15:27:38     INFO -     #51 0x7ffd1c361079 in nsAppShell::Run /builds/worker/checkouts/gecko/widget/windows/nsAppShell.cpp:655
[task 2024-07-31T15:27:38.646Z] 15:27:38     INFO -     #52 0x7ffd1e044aec in XRE_RunAppShell /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:714
[task 2024-07-31T15:27:38.647Z] 15:27:38     INFO -     #53 0x7ffd13e20573 in MessageLoop::RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363
[task 2024-07-31T15:27:38.647Z] 15:27:38     INFO -     #54 0x7ffd13e203d6 in MessageLoop::Run /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345
[task 2024-07-31T15:27:38.648Z] 15:27:38     INFO -     #55 0x7ffd1e0441fe in XRE_InitChildProcess /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:649
[task 2024-07-31T15:27:38.649Z] 15:27:38     INFO -     #56 0x7ff668da24ca in NS_internal_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:378
[task 2024-07-31T15:27:38.652Z] 15:27:38     INFO -     #57 0x7ff668da142b in wmain /builds/worker/checkouts/gecko/toolkit/xre/nsWindowsWMain.cpp:151
[task 2024-07-31T15:27:38.652Z] 15:27:38     INFO -     #58 0x7ff668e6f7b7 in __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
[task 2024-07-31T15:27:38.652Z] 15:27:38     INFO -     #59 0x7ffd5d0a257c in BaseThreadInitThunk+0x1c (C:\Windows\System32\KERNEL32.DLL+0x18001257c)
[task 2024-07-31T15:27:38.653Z] 15:27:38     INFO -     #60 0x7ffd5f28af27 in RtlUserThreadStart+0x27 (C:\Windows\SYSTEM32\ntdll.dll+0x18005af27)
[task 2024-07-31T15:27:38.653Z] 15:27:38     INFO - Address 0x0073a01f5310 is located in stack of thread T0 at offset 240 in frame
[task 2024-07-31T15:27:38.653Z] 15:27:38     INFO -     #0 0x7ffd1d116bff in nsMathMLContainerFrame::PositionRowChildFrames /builds/worker/checkouts/gecko/layout/mathml/nsMathMLContainerFrame.cpp:1226
[task 2024-07-31T15:27:38.653Z] 15:27:38     INFO -   This frame has 2 object(s):
[task 2024-07-31T15:27:38.653Z] 15:27:38     INFO -     [32, 176) 'child' (line 1227)
[task 2024-07-31T15:27:38.654Z] 15:27:38     INFO -     [240, 241) 'ref.tmp' (line 1227) <== Memory access at offset 240 is inside this variable
[task 2024-07-31T15:27:38.655Z] 15:27:38     INFO - HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
[task 2024-07-31T15:27:38.655Z] 15:27:38     INFO -       (longjmp, SEH and C++ exceptions *are* supported)
[task 2024-07-31T15:27:38.656Z] 15:27:38     INFO - SUMMARY: AddressSanitizer: stack-use-after-scope /builds/worker/checkouts/gecko/layout/mathml/nsMathMLContainerFrame.cpp:1143 in nsMathMLContainerFrame::RowChildFrameIterator::InitMetricsForChild
[task 2024-07-31T15:27:38.656Z] 15:27:38     INFO - Shadow bytes around the buggy address:
[task 2024-07-31T15:27:38.657Z] 15:27:38     INFO -   0x0073a01f5080: f1 f1 f1 f1 f8 f8 f2 f2 00 00 f3 f3 00 00 00 00
[task 2024-07-31T15:27:38.657Z] 15:27:38     INFO -   0x0073a01f5100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[task 2024-07-31T15:27:38.658Z] 15:27:38     INFO -   0x0073a01f5180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[task 2024-07-31T15:27:38.658Z] 15:27:38     INFO -   0x0073a01f5200: 00 00 00 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00
[task 2024-07-31T15:27:38.659Z] 15:27:38     INFO -   0x0073a01f5280: 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 f2 f2
[task 2024-07-31T15:27:38.660Z] 15:27:38     INFO - =>0x0073a01f5300: f2 f2[f8]f3 00 00 00 00 00 00 00 00 00 00 00 00
[task 2024-07-31T15:27:38.660Z] 15:27:38     INFO -   0x0073a01f5380: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f8 f8 f2 f2
[task 2024-07-31T15:27:38.661Z] 15:27:38     INFO -   0x0073a01f5400: f8 f8 f2 f2 f8 f8 f2 f2 00 00 00 00 00 00 00 00
[task 2024-07-31T15:27:38.661Z] 15:27:38     INFO -   0x0073a01f5480: 00 00 00 00 00 00 00 00 00 00 f3 f3 f3 f3 f3 f3
[task 2024-07-31T15:27:38.662Z] 15:27:38     INFO -   0x0073a01f5500: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
[task 2024-07-31T15:27:38.662Z] 15:27:38     INFO -   0x0073a01f5580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[task 2024-07-31T15:27:38.663Z] 15:27:38     INFO - Shadow byte legend (one shadow byte represents 8 application bytes):
[task 2024-07-31T15:27:38.663Z] 15:27:38     INFO -   Addressable:           00
[task 2024-07-31T15:27:38.664Z] 15:27:38    ERROR - A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down
[task 2024-07-31T15:27:38.664Z] 15:27:38     INFO -   Partially addressable: 01 02 03 04 05 06 07
[task 2024-07-31T15:27:38.665Z] 15:27:38     INFO -   Heap left redzone:       fa
[task 2024-07-31T15:27:38.665Z] 15:27:38     INFO -   Freed heap region:       fd
[task 2024-07-31T15:27:38.666Z] 15:27:38     INFO -   Stack left redzone:      f1
[task 2024-07-31T15:27:38.666Z] 15:27:38     INFO -   Stack mid redzone:       f2
[task 2024-07-31T15:27:38.667Z] 15:27:38     INFO -   Stack right redzone:     f3
[task 2024-07-31T15:27:38.667Z] 15:27:38     INFO -   Stack after return:      f5
[task 2024-07-31T15:27:38.668Z] 15:27:38     INFO -   Stack use after scope:   f8
[task 2024-07-31T15:27:38.668Z] 15:27:38     INFO -   Global redzone:          f9
[task 2024-07-31T15:27:38.669Z] 15:27:38     INFO -   Global init order:       f6
[task 2024-07-31T15:27:38.669Z] 15:27:38     INFO -   Poisoned by user:        f7
[task 2024-07-31T15:27:38.670Z] 15:27:38     INFO -   Container overflow:      fc
[task 2024-07-31T15:27:38.671Z] 15:27:38     INFO -   Array cookie:            ac
[task 2024-07-31T15:27:38.671Z] 15:27:38     INFO -   Intra object redzone:    bb
[task 2024-07-31T15:27:38.671Z] 15:27:38     INFO -   ASan internal:           fe
[task 2024-07-31T15:27:38.672Z] 15:27:38     INFO -   Left alloca redzone:     ca
[task 2024-07-31T15:27:38.672Z] 15:27:38     INFO -   Right alloca redzone:    cb
[task 2024-07-31T15:27:38.673Z] 15:27:38     INFO - ==2000==ABORTING
[task 2024-07-31T15:27:38.762Z] 15:27:38     INFO - 1722439658761	Marionette	TRACE	Received observer notification quit-application
[task 2024-07-31T15:27:38.763Z] 15:27:38     INFO - 1722439658762	Marionette	INFO	Stopped listening on port 2828
[task 2024-07-31T15:27:38.764Z] 15:27:38     INFO - 1722439658763	Marionette	DEBUG	Marionette stopped listening
[task 2024-07-31T15:27:39.039Z] 15:27:39     INFO - !!! error running onStopped callback: TypeError: callback is not a function
[task 2024-07-31T15:27:42.489Z] 15:27:42     INFO - REFTEST TEST-UNEXPECTED-FAIL | layout/base/crashtests/344057-1.xhtml | application terminated with exit code 245
[task 2024-07-31T15:27:42.494Z] 15:27:42     INFO -  mozlog.structuredlog: Failure calling log handler:
[task 2024-07-31T15:27:42.496Z] 15:27:42     INFO -  Traceback (most recent call last):
[task 2024-07-31T15:27:42.496Z] 15:27:42     INFO -    File "D:\task_172243399300045\build\venv\Lib\site-packages\mozlog\structuredlog.py", line 327, in _handle_log
[task 2024-07-31T15:27:42.497Z] 15:27:42     INFO -      handler(data)
[task 2024-07-31T15:27:42.497Z] 15:27:42     INFO -    File "D:\task_172243399300045\build\venv\Lib\site-packages\mozlog\handlers\base.py", line 74, in __call__
[task 2024-07-31T15:27:42.497Z] 15:27:42     INFO -      formatted = self.formatter(data)
[task 2024-07-31T15:27:42.497Z] 15:27:42     INFO -                  ^^^^^^^^^^^^^^^^^^^^
[task 2024-07-31T15:27:42.497Z] 15:27:42     INFO -    File "D:\task_172243399300045\build\venv\Lib\site-packages\mozlog\handlers\base.py", line 42, in __call__
[task 2024-07-31T15:27:42.498Z] 15:27:42     INFO -      return self.inner(item)
[task 2024-07-31T15:27:42.498Z] 15:27:42     INFO -             ^^^^^^^^^^^^^^^^
[task 2024-07-31T15:27:42.498Z] 15:27:42     INFO -    File "D:\task_172243399300045\build\venv\Lib\site-packages\mozlog\formatters\errorsummary.py", line 31, in __call__
[task 2024-07-31T15:27:42.498Z] 15:27:42     INFO -      rv = BaseFormatter.__call__(self, data)
[task 2024-07-31T15:27:42.499Z] 15:27:42     INFO -           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[task 2024-07-31T15:27:42.499Z] 15:27:42     INFO -    File "D:\task_172243399300045\build\venv\Lib\site-packages\mozlog\reader.py", line 72, in __call__
[task 2024-07-31T15:27:42.500Z] 15:27:42     INFO -      return handler(data)
[task 2024-07-31T15:27:42.500Z] 15:27:42     INFO -             ^^^^^^^^^^^^^
[task 2024-07-31T15:27:42.500Z] 15:27:42     INFO -    File "D:\task_172243399300045\build\venv\Lib\site-packages\mozlog\formatters\errorsummary.py", line 161, in shutdown_failure
[task 2024-07-31T15:27:42.500Z] 15:27:42     INFO -      data["group"] = [g for g in self.groups if item["group"].endswith(g)][0]
[task 2024-07-31T15:27:42.501Z] 15:27:42     INFO -                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
[task 2024-07-31T15:27:42.501Z] 15:27:42     INFO -  IndexError: list index out of range
[task 2024-07-31T15:27:42.599Z] 15:27:42     INFO - REFTEST INFO | Process mode: e10s
[task 2024-07-31T15:27:42.646Z] 15:27:42     INFO - Return code: 245
[task 2024-07-31T15:27:42.653Z] 15:27:42    ERROR - No suite end message was emitted by this harness.
[task 2024-07-31T15:27:42.653Z] 15:27:42     INFO - TinderboxPrint: reftest-crashtest<br/>3385/0/0
[task 2024-07-31T15:27:42.653Z] 15:27:42  WARNING - setting return code to 2
[task 2024-07-31T15:27:42.653Z] 15:27:42     INFO - The reftest suite: crashtest ran with return status: FAILURE
[task 2024-07-31T15:27:42.653Z] 15:27:42     INFO - Running post-action listener: _package_coverage_data
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - Running post-action listener: _resource_record_post_action
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - Running post-action listener: process_java_coverage_data
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - [mozharness: 2024-07-31 15:27:42.654523Z] Finished run-tests step (success)
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - [mozharness: 2024-07-31 15:27:42.654523Z] Running uninstall step.
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - Running pre-action listener: _resource_record_pre_action
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - Running main action method: uninstall
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - Skipping uninstall for non-MSIX test
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - Running post-action listener: _resource_record_post_action
[task 2024-07-31T15:27:42.654Z] 15:27:42     INFO - [mozharness: 2024-07-31 15:27:42.654523Z] Finished uninstall step (success)
[task 2024-07-31T15:27:42.655Z] 15:27:42     INFO - Running post-run listener: _resource_record_post_run
[task 2024-07-31T15:27:43.163Z] 15:27:43     INFO - Validating Perfherder data against D:\task_172243399300045\mozharness\external_tools\performance-artifact-schema.json
[task 2024-07-31T15:27:43.176Z] 15:27:43     INFO - PERFHERDER_DATA: {"framework": {"name": "job_resource_usage"}, "suites": [{"name": "reftest.crashtest.overall", "extraOptions": ["e10s", "taskcluster-Standard_F8s_v2"], "subtests": [{"name": "cpu_percent", "value": 56.456116079334386}, {"name": "io_write_bytes", "value": 1744226816}, {"name": "io.read_bytes", "value": 396418048}, {"name": "io_write_time", "value": 2}, {"name": "io_read_time", "value": 2}]}, {"name": "reftest.crashtest.start-pulseaudio", "subtests": [{"name": "time", "value": 0.015000000000043201}, {"name": "cpu_percent", "value": 0}]}, {"name": "reftest.crashtest.install", "subtests": [{"name": "time", "value": 11.296999999999969}, {"name": "cpu_percent", "value": 44.98072429906542}]}, {"name": "reftest.crashtest.stage-files", "subtests": [{"name": "time", "value": 0.0}, {"name": "cpu_percent", "value": 0}]}, {"name": "reftest.crashtest.run-tests", "subtests": [{"name": "time", "value": 554.2810000000001}, {"name": "cpu_percent", "value": 56.680118252392354}]}, {"name": "reftest.crashtest.uninstall", "subtests": [{"name": "time", "value": 0.0}, {"name": "cpu_percent", "value": 0}]}]}
[task 2024-07-31T15:27:43.176Z] 15:27:43     INFO - Total resource usage - Wall time: 566s; CPU: Can't collect data; Read bytes: 396418048; Write bytes: 1744226816; Read time: 2; Write time: 2
[task 2024-07-31T15:27:43.176Z] 15:27:43     INFO - TinderboxPrint: I/O read bytes / time<br/>396,418,048 / 2
[task 2024-07-31T15:27:43.176Z] 15:27:43     INFO - TinderboxPrint: I/O write bytes / time<br/>1,744,226,816 / 2
[task 2024-07-31T15:27:43.176Z] 15:27:43     INFO - TinderboxPrint: CPU idle<br/>1,975.6 (43.6%)
[task 2024-07-31T15:27:43.176Z] 15:27:43     INFO - TinderboxPrint: CPU system<br/>754.7 (16.7%)
[task 2024-07-31T15:27:43.176Z] 15:27:43     INFO - TinderboxPrint: CPU user<br/>1,790.0 (39.5%)
[task 2024-07-31T15:27:43.180Z] 15:27:43     INFO - start-pulseaudio - Wall time: 0s; CPU: Can't collect data; Read bytes: 0; Write bytes: 0; Read time: 0; Write time: 0
[task 2024-07-31T15:27:43.184Z] 15:27:43     INFO - install - Wall time: 11s; CPU: 45%; Read bytes: 57344; Write bytes: 326754304; Read time: 0; Write time: 1
[task 2024-07-31T15:27:43.187Z] 15:27:43     INFO - stage-files - Wall time: 0s; CPU: Can't collect data; Read bytes: 0; Write bytes: 0; Read time: 0; Write time: 0
[task 2024-07-31T15:27:43.241Z] 15:27:43     INFO - run-tests - Wall time: 554s; CPU: 57%; Read bytes: 396360704; Write bytes: 1350363648; Read time: 2; Write time: 1
[task 2024-07-31T15:27:43.252Z] 15:27:43     INFO - uninstall - Wall time: 0s; CPU: Can't collect data; Read bytes: 0; Write bytes: 0; Read time: 0; Write time: 0
[task 2024-07-31T15:27:45.304Z] 15:27:45  WARNING - returning nonzero exit status 2
[taskcluster 2024-07-31T15:27:45.470Z]    Exit Code: 2
[taskcluster 2024-07-31T15:27:45.470Z]    User Time: 15.625ms
[taskcluster 2024-07-31T15:27:45.470Z]  Kernel Time: 15.625ms
[taskcluster 2024-07-31T15:27:45.470Z]    Wall Time: 11m49.6769417s
[taskcluster 2024-07-31T15:27:45.470Z]       Result: FAILED
[taskcluster 2024-07-31T15:27:45.470Z] === Task Finished ===
[taskcluster 2024-07-31T15:27:45.470Z] Task Duration: 11m49.6786347s
[taskcluster 2024-07-31T15:27:46.071Z] Uploading artifact public/test_info/system-info.log from file D:\task_172243399300045\build\blobber_upload_dir\system-info.log with content encoding "gzip", mime type "text/plain" and expiry 2025-07-31T15:15:51.395Z
[taskcluster 2024-07-31T15:27:46.071Z] Uploading artifact public/test_info/profile_resource-usage.json from file D:\task_172243399300045\build\blobber_upload_dir\profile_resource-usage.json with content encoding "gzip", mime type "application/json" and expiry 2025-07-31T15:15:51.395Z
[taskcluster 2024-07-31T15:27:46.071Z] Uploading artifact public/test_info/resource-usage.json from file D:\task_172243399300045\build\blobber_upload_dir\resource-usage.json with content encoding "gzip", mime type "application/json" and expiry 2025-07-31T15:15:51.395Z
[taskcluster 2024-07-31T15:27:46.072Z] Uploading artifact public/test_info/crashtest_errorsummary.log from file D:\task_172243399300045\build\blobber_upload_dir\crashtest_errorsummary.log with content encoding "gzip", mime type "text/plain" and expiry 2025-07-31T15:15:51.395Z
[taskcluster 2024-07-31T15:27:46.075Z] Uploading artifact public/logs/localconfig.json from file D:\task_172243399300045\logs\localconfig.json with content encoding "gzip", mime type "application/json" and expiry 2025-07-31T15:15:51.395Z
[taskcluster 2024-07-31T15:27:46.528Z] Uploading link artifact public/logs/live.log to artifact public/logs/live_backing.log with expiry 2025-07-31T15:15:51.395Z
[taskcluster:error] exit status 2
Flags: needinfo?(fwang)
Upstream PR was closed without merging
Blocks: 1911053
Pushed by fwang@igalia.com: https://hg.mozilla.org/integration/autoland/rev/21269d373fff Introduce PlaceFlags parameter to MathML layout methods. r=emilio https://hg.mozilla.org/integration/autoland/rev/ab5ab71ddfc4 Extend and tweak MathML padding/border/margin tests. r=emilio https://hg.mozilla.org/integration/autoland/rev/5468da212605 Add border/padding/margin support to <mfrac>. r=emilio https://hg.mozilla.org/integration/autoland/rev/f4c5983c700b Add border/padding/margin support to mrow-like elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/3e76c02843a7 Add border/padding/margin support to MathML token elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/c87b8ca300dc Add border/padding/margin support to scripted elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/d497ae104185 Add border/padding/margin support to msqrt, mroot and menclose. r=emilio

Backed out for causing wr failures on mo-lspace-rspace-4.html.
So far, this only affected OS X 10.15 WebRender opt and debug.

''' INFO '''

The test image has 3 pixels highlighted as different.

''' INFO '''

Flags: needinfo?(fwang)
Upstream PR was closed without merging

I believe the issue is because we slightly change the way to calculate the 1px extra space + 1em/2em mo spacing in D216670. Using Ahem fonts in mo-lspace-rspace-4 makes this more reliable: https://treeherder.mozilla.org/jobs?repo=try&revision=0d7beb05ced30918c3670bf381d3752b765779a6

I've updated the patches but will only rebase & land after current soft freeze period ends.

Flags: needinfo?(fwang)

OK https://groups.google.com/a/mozilla.org/g/dev-platform/c/UICrhWpuIsQ/m/GuZ_zNd4AQAJ says until August 8 but it was as usual until Monday. So will land the patches again

Pushed by fwang@igalia.com: https://hg.mozilla.org/integration/autoland/rev/e7a9583cebd6 Introduce PlaceFlags parameter to MathML layout methods. r=emilio https://hg.mozilla.org/integration/autoland/rev/0edf40d77053 Extend and tweak MathML padding/border/margin tests. r=emilio https://hg.mozilla.org/integration/autoland/rev/fe32f01971ac Add border/padding/margin support to <mfrac>. r=emilio https://hg.mozilla.org/integration/autoland/rev/c6d81ec665d5 Add border/padding/margin support to mrow-like elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/af7314442be0 Add border/padding/margin support to MathML token elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/5a0ec8424bf7 Add border/padding/margin support to scripted elements. r=emilio https://hg.mozilla.org/integration/autoland/rev/7934330c5c4f Add border/padding/margin support to msqrt, mroot and menclose. r=emilio
Upstream PR merged by moz-wptsync-bot
Blocks: 1917763
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: