Bug 169918 - [GTK] Many Compositing tests fail.
Summary: [GTK] Many Compositing tests fail.
Status: REOPENED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Charlie Turner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-21 07:55 PDT by Carlos Alberto Lopez Perez
Modified: 2021-06-15 12:45 PDT (History)
9 users (show)

See Also:


Attachments
Patch (1.67 KB, patch)
2017-07-11 10:02 PDT, Charlie Turner
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Alberto Lopez Perez 2017-03-21 07:55:34 PDT
After Enabling WebGL, 3D and compositing layout tests in bug 71849 I have observed this compositing related problems:

# Failures related with compositing tests.
compositing/animation/animation-backing.html [ Failure Pass ]
compositing/backing/no-backing-for-perspective.html [ Failure ]
compositing/backing/whitespace-nodes-no-backing.html [ Failure ]
compositing/canvas/accelerated-canvas-compositing-size-limit.html [ Failure ]
compositing/clipping/border-radius-overflow-hidden-stacking-context.html [ Failure ]
compositing/columns/composited-lr-paginated-repaint.html [ Failure ]
compositing/columns/composited-rl-paginated-repaint.html [ Failure ]
compositing/contents-format/subpixel-antialiased-text-configs-antialiasing-style.html [ Failure ]
compositing/contents-format/subpixel-antialiased-text-configs.html [ Failure ]
compositing/contents-format/subpixel-antialiased-text-enabled.html [ Failure ]
compositing/contents-format/subpixel-antialiased-text-traversal.html [ Failure ]
compositing/contents-opaque/control-layer.html [ Failure ]
compositing/contents-scale/animating.html [ Failure ]
compositing/contents-scale/rounded-contents-scale.html [ Failure ]
compositing/contents-scale/scaled-ancestor.html [ Failure ]
compositing/contents-scale/simple-scale.html [ Failure ]
compositing/contents-scale/z-translate.html [ Failure ]
compositing/fixed-image-loading.html [ Failure ]
compositing/fixed-positioned-pseudo-content-no-compositing.html [ Failure ]
compositing/geometry/ancestor-overflow-change.html [ Failure ]
compositing/geometry/bounds-ignores-hidden-composited-descendant.html [ Failure ]
compositing/geometry/fixed-position-composited-switch.html [ Failure ]
compositing/geometry/fixed-position-flipped-writing-mode.html [ Failure ]
compositing/geometry/layer-due-to-layer-children-deep-switch.html [ Failure ]
compositing/geometry/layer-due-to-layer-children-switch.html [ Failure ]
compositing/geometry/limit-layer-bounds-overflow-repaint.html [ Failure ]
compositing/geometry/limit-layer-bounds-overflow-root.html [ Failure ]
compositing/geometry/preserve-3d-switching.html [ Failure ]
compositing/iframes/become-overlapped-iframe.html [ Failure ]
compositing/iframes/composited-iframe-scroll.html [ Failure ]
compositing/iframes/composited-parent-iframe.html [ Failure ]
compositing/iframes/connect-compositing-iframe-delayed.html [ Failure ]
compositing/iframes/connect-compositing-iframe.html [ Failure ]
compositing/iframes/connect-compositing-iframe2.html [ Failure ]
compositing/iframes/connect-compositing-iframe3.html [ Failure ]
compositing/iframes/enter-compositing-iframe.html [ Failure ]
compositing/iframes/iframe-content-flipping.html [ Failure ]
compositing/iframes/iframe-resize.html [ Failure ]
compositing/iframes/overlapped-iframe.html [ Failure ]
compositing/iframes/scrolling-iframe.html [ Failure ]
compositing/images/direct-image-object-fit.html [ Failure ]
compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html [ Failure ]
compositing/layer-creation/no-compositing-for-preserve-3d.html [ Failure ]
compositing/layer-creation/spanOverlapsCanvas.html [ Failure ]
compositing/layer-creation/fixed-position-out-of-view-scaled.html [ Failure Pass ]
compositing/masks/clip-path-composited-descendent.html [ Failure ]
compositing/masks/compositing-clip-path-change-no-repaint.html [ Failure ]
compositing/overflow/ancestor-overflow.html [ Failure ]
compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants.html [ Failure ]
compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2.html [ Failure ]
compositing/overflow/overflow-auto-with-touch-toggle.html [ Failure ]
compositing/overflow/overflow-auto-with-touch.html [ Failure ]
compositing/overflow/overflow-overlay-with-touch.html [ Failure ]
compositing/overflow/scrolling-content-clip-to-viewport.html [ Failure ]
compositing/overflow/scrolling-without-painting.html [ Failure ]
compositing/overflow/textarea-scroll-touch.html [ Failure ]
compositing/overflow/updating-scrolling-content.html [ Failure ]
compositing/plugins/no-backing-store.html [ Failure ]
compositing/plugins/small-to-large-composited-plugin.html [ Failure ]
compositing/reflections/direct-image-object-fit-reflected.html [ Failure ]
compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint.html [ Failure ]
compositing/repaint/iframes/compositing-iframe-scroll-repaint.html [ Failure ]
compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint.html [ Failure ]
compositing/repaint/invalidations-on-composited-layers.html [ Failure ]
compositing/repaint/positioned-movement.html [ Failure ]
compositing/repaint/repaint-on-layer-grouping-change.html [ Failure ]
compositing/repaint/resize-repaint.html [ Failure ]
compositing/rtl/rtl-fixed-overflow-scrolled.html [ Failure ]
compositing/rtl/rtl-fixed-overflow.html [ Failure ]
compositing/rtl/rtl-fixed.html [ Failure ]
compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ]
compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ]
compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ]
compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ]
compositing/rtl/rtl-iframe-fixed.html [ Failure ]
compositing/rtl/rtl-iframe-fixed.html [ Failure ]
compositing/tiling/backface-preserve-3d-tiled.html [ Failure ]
compositing/tiling/crash-reparent-tiled-layer.html [ Failure ]
compositing/tiling/huge-layer-img.html [ Failure ]
compositing/tiling/huge-layer-with-layer-children-resize.html [ Failure ]
compositing/tiling/huge-layer-with-layer-children.html [ Failure ]
compositing/tiling/non-active-window-tiles-size.html [ Failure ]
compositing/tiling/offscreen-tiled-layer.html [ Failure ]
compositing/tiling/tile-cache-zoomed.html [ Failure ]
compositing/tiling/tiled-layer-resize.html [ Failure ]
compositing/tiling/tiled-mask-inwindow.html [ Failure ]
compositing/tiling/tiled-reflection-inwindow.html [ Failure ]
compositing/tiling/transform-origin-tiled.html [ Failure ]
compositing/video/video-object-fit.html [ Failure ]
compositing/video/video-object-position.html [ Failure ]
compositing/visibility/visibility-on-distant-descendant.html [ Failure Pass ]
compositing/visibility/visibility-image-layers.html [ Failure Pass ]
compositing/visibility/visibility-image-layers-dynamic.html [ Failure ]
compositing/backing/solid-color-with-paints-into-ancestor.html [ ImageOnlyFailure ]
compositing/contents-scale/non-decomposable-matrix.html [ ImageOnlyFailure ]
compositing/geometry/clipped-out-perspective.html [ ImageOnlyFailure ]
compositing/hidpi-compositing-vs-non-compositing-check-on-testing-framework.html [ ImageOnlyFailure ]
compositing/hidpi-subpixel-transform-origin.html [ ImageOnlyFailure ]
compositing/hidpi-transform-with-render-layer-on-fractional-pixel-value.html [ ImageOnlyFailure ]
compositing/layer-creation/deep-tree.html [ ImageOnlyFailure ]
compositing/masks/compositing-clip-path-mask-change.html [ ImageOnlyFailure ]
compositing/masks/mask-with-preserve-3d.html [ ImageOnlyFailure ]
compositing/overlap-blending/children-opacity-no-overlap.html [ ImageOnlyFailure ]
compositing/overlap-blending/nested-non-overlap-clipping.html [ ImageOnlyFailure ]
compositing/overlap-blending/nested-overlap-overflow.html [ ImageOnlyFailure ]
compositing/overlap-blending/nested-overlap.html [ ImageOnlyFailure ]
compositing/overlap-blending/reflection-opacity-huge.html [ ImageOnlyFailure ]
compositing/patterns/direct-pattern-compositing-contain.html [ ImageOnlyFailure ]
compositing/patterns/direct-pattern-compositing-cover.html [ ImageOnlyFailure ]
compositing/patterns/direct-pattern-compositing-position.html [ ImageOnlyFailure ]
compositing/patterns/direct-pattern-compositing-size.html [ ImageOnlyFailure ]
compositing/regions/floated-region-with-transformed-child.html [ ImageOnlyFailure Pass ]
compositing/regions/propagate-region-box-shadow-border-padding-for-video.html [ ImageOnlyFailure ]
compositing/regions/propagate-region-box-shadow-border-padding.html [ ImageOnlyFailure ]
compositing/regions/transform-transparent-positioned-video-inside-region.html [ ImageOnlyFailure ]
compositing/regions/z-index-update.html [ ImageOnlyFailure ]
compositing/regions/z-index.html [ ImageOnlyFailure ]
compositing/text-on-scaled-layer.html [ ImageOnlyFailure ]
compositing/text-on-scaled-surface.html [ ImageOnlyFailure ]
compositing/transitions/transform-on-large-layer.html [ ImageOnlyFailure ]
compositing/video/poster.html [ ImageOnlyFailure ]
compositing/video/video-clip-change-src.html [ ImageOnlyFailure ]
compositing/reflections/compositing-change-inside-reflection.html [ Missing Failure ]
compositing/reflections/deeply-nested-reflections.html [ Missing Failure ]
compositing/reflections/load-video-in-reflection.html [ Missing Failure ]
compositing/reflections/masked-reflection-on-composited.html [ Missing Failure ]
compositing/reflections/nested-reflection-anchor-point.html [ Missing Failure ]
compositing/reflections/nested-reflection-animated.html [ Missing Failure ]
compositing/reflections/nested-reflection-mask-change.html [ Missing Failure ]
compositing/reflections/nested-reflection-on-overflow.html [ Missing Failure ]
compositing/reflections/nested-reflection-opacity.html [ Missing Failure ]
compositing/reflections/nested-reflection-size-change.html [ Missing Failure ]
compositing/reflections/nested-reflection-transformed.html [ Missing Failure ]
compositing/reflections/nested-reflection-transformed2.html [ Missing Failure ]
compositing/reflections/nested-reflection-transition.html [ Missing Failure ]
compositing/reflections/nested-reflection.html [ Missing Failure ]
compositing/reflections/reflection-on-composited.html [ Missing Failure ]
compositing/reflections/reflection-opacity.html [ Missing Failure ]
compositing/reflections/reflection-ordering.html [ Missing Failure ]
compositing/reflections/reflection-positioning.html [ Missing Failure ]
compositing/reflections/reflection-positioning2.html [ Missing Failure ]
compositing/reflections/simple-composited-reflections.html [ Missing Failure ]
compositing/reflections/transform-inside-reflection.html [ Missing Failure ]
compositing/tiling/rotated-tiled-clamped.html [ Missing Failure ]
compositing/tiling/rotated-tiled-preserve3d-clamped.html [ Missing Failure ]
compositing/transitions/scale-transition-no-start.html [ Missing Failure ]
compositing/transitions/singular-scale-transition.html [ Missing Failure ]
compositing/visibility/visibility-composited-transforms.html [ Missing Failure ]
compositing/visibility/visibility-composited.html [ Missing Failure ]
compositing/webgl/webgl-no-alpha.html [ Missing Failure ]
compositing/webgl/webgl-reflection.html [ Missing Failure ]
compositing/plugins/composited-plugin.html [ Missing Failure ]
compositing/reflections/animation-inside-reflection.html [ Missing Failure ]
compositing/fixed-with-fixed-layout.html [ Crash ]
compositing/video/video-background-color.html [ Crash ]
Comment 1 Carlos Alberto Lopez Perez 2017-03-21 09:03:28 PDT
Marked the test failing (and rebaselined others were the diff looked right) in https://trac.webkit.org/r214223
Comment 2 Carlos Alberto Lopez Perez 2017-03-21 13:55:08 PDT
Marked the diff of failures (and passes) between Xvfb and native Wayland at: https://trac.webkit.org/changeset/214229/trunk/LayoutTests/platform/gtk-wayland/TestExpectations
Comment 3 Fujii Hironori 2017-06-15 00:56:58 PDT
webkit.org/b/169918 compositing/fixed-with-fixed-layout.html [ Crash ]

Callstack:

> Thread 1 (Thread 0x7ffff7f25040 (LWP 15757)):
> #0  0x0000555556b0a15e in WebCore::RenderLayerCompositor::updateOverflowControlsLayers() ()
> #1  0x00005555567738e0 in WebCore::FrameView::addedOrRemovedScrollbar() ()
> #2  0x000055555683831f in WebCore::ScrollView::updateScrollbars(WebCore::IntPoint const&) ()
> #3  0x000055555683905b in WebCore::ScrollView::updateScrollbars(WebCore::IntPoint const&) ()
> #4  0x00005555567792fb in WebCore::FrameView::setFixedVisibleContentRect(WebCore::IntRect const&) ()
> #5  0x00007ffff594709b in WebKit::CompositingCoordinator::setVisibleContentsRect(WebCore::FloatRect const&, WebCore::FloatPoint const&) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #6  0x00007ffff5948b0d in WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect(WebCore::FloatRect const&, WebCore::FloatPoint const&) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #7  0x00007ffff594922a in WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewport() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #8  0x00007ffff59496b3 in WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost(WebKit::WebPage&) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #9  0x00007ffff59497b2 in WebKit::ThreadedCoordinatedLayerTreeHost::create(WebKit::WebPage&) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #10 0x00007ffff57a1a70 in WebKit::LayerTreeHost::create(WebKit::WebPage&) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #11 0x00007ffff5940f4c in WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode(WebCore::GraphicsLayer*) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #12 0x00007ffff594d5da in WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode(WebCore::GraphicsLayer*) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #13 0x00007ffff59406e7 in WebKit::AcceleratedDrawingArea::graphicsLayerFactory() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #14 0x0000555556b0a55d in WebCore::RenderLayerCompositor::ensureRootLayer() ()
> #15 0x0000555556b0aba1 in WebCore::RenderLayerCompositor::enableCompositingMode(bool) ()
> #16 0x0000555556b0b837 in WebCore::RenderLayerCompositor::updateBacking(WebCore::RenderLayer&, WebCore::RenderLayerCompositor::CompositingChangeRepaint, WebCore::RenderLayerCompositor::BackingRequired) ()
> #17 0x0000555556b0c43f in WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer&, WebCore::RenderLayerCompositor::OverlapMap&, WebCore::RenderLayerCompositor::CompositingState&, bool&, bool&) ()
> #18 0x0000555556b0c354 in WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer&, WebCore::RenderLayerCompositor::OverlapMap&, WebCore::RenderLayerCompositor::CompositingState&, bool&, bool&) ()
> #19 0x0000555556b0c354 in WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer&, WebCore::RenderLayerCompositor::OverlapMap&, WebCore::RenderLayerCompositor::CompositingState&, bool&, bool&) ()
> #20 0x0000555556b0d171 in WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*) [clone .part.292] ()
> #21 0x0000555556779c2c in WebCore::FrameView::layout(bool) ()
> #22 0x0000555556269b4f in WebCore::Document::implicitClose() ()
> #23 0x000055555662ebf6 in WebCore::FrameLoader::checkCompleted() ()
> #24 0x000055555662ecbc in WebCore::FrameLoader::finishedParsing() ()
> #25 0x000055555626ba51 in WebCore::Document::finishedParsing() ()
> #26 0x000055555650e626 in WebCore::HTMLDocumentParser::prepareToStopParsing() ()
> #27 0x000055555650e72e in WebCore::HTMLDocumentParser::finish() [clone .localalias.125] ()
> #28 0x0000555556619412 in WebCore::DocumentWriter::end() ()
> #29 0x0000555556608d89 in WebCore::DocumentLoader::finishedLoading() ()
> #30 0x00005555566eb7b4 in WebCore::CachedResource::checkNotify() [clone .part.220] ()
> #31 0x00005555566e2517 in WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) ()
> #32 0x000055555668f930 in WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&) ()
> #33 0x00007ffff599fcdd in void IPC::handleMessage<Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&)>(IPC::Decoder&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&)) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #34 0x00007ffff599f959 in WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&, IPC::Decoder&) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #35 0x00007ffff558d49b in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #36 0x00007ffff558e488 in IPC::Connection::dispatchOneMessage() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #37 0x00007ffff3bc9e1d in WTF::RunLoop::performWork() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
> #38 0x00007ffff3c00ee9 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
> #39 0x00007fffeeeb36ea in g_main_dispatch () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3212
> #40 g_main_context_dispatch () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3865
> #41 0x00007fffeeeb3aa0 in g_main_context_iterate () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3938
> #42 0x00007fffeeeb3dc2 in g_main_loop_run () at /home/fujii/work/webkit/ga/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:4134
> #43 0x00007ffff3c01910 in WTF::RunLoop::run() () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
> #44 0x00007ffff59531da in int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**) () from /home/fujii/work/webkit/ga/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #45 0x00007fffeb8e13f1 in __libc_start_main (main=0x555555e2a1f0 <main>, argc=2, argv=0x7fffffffdca8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdc98) at ../csu/libc-start.c:291
> #46 0x0000555555e2a73a in _start ()
Comment 4 Charlie Turner 2017-07-11 10:02:33 PDT
Created attachment 315120 [details]
Patch
Comment 5 WebKit Commit Bot 2017-07-11 10:45:44 PDT
Comment on attachment 315120 [details]
Patch

Clearing flags on attachment: 315120

Committed r219339: <http://trac.webkit.org/changeset/219339>
Comment 6 WebKit Commit Bot 2017-07-11 10:45:45 PDT
All reviewed patches have been landed.  Closing bug.
Comment 7 Carlos Alberto Lopez Perez 2017-07-11 10:54:13 PDT
Re-opening: r219339 was a gardening patch
Comment 8 Miguel Gomez 2018-10-18 06:03:00 PDT
Passing since r236428:

compositing/overflow/overflow-auto-with-touch.html
compositing/overflow/overflow-overlay-with-touch.html
compositing/overflow/scrolling-content-clip-to-viewport.html
compositing/overflow/textarea-scroll-touch.html
Comment 9 Miguel Gomez 2019-08-08 06:25:55 PDT
These 2 tests are now crashing as reported in bug 200534. Adding the crash expectation but keeping them here so once the crash is fixed we don't lose the previous expectation.

compositing/tiling/tiled-mask-inwindow.html
compositing/tiling/tiled-reflection-inwindow.html
Comment 10 Lauro Moura 2020-04-29 19:49:27 PDT
Some tests are passing in Wayland since a long time ago (Some since moving to use the WPE renderer, for example).

On the other hand, some ImageOnly regressions were treated as Pass in Wayland:

compositing/backing/solid-color-with-paints-into-ancestor.html
compositing/patterns/direct-pattern-compositing.html
compositing/geometry/clipped-out-perspective.html
compositing/hidpi-subpixel-transform-origin.html
compositing/layer-creation/deep-tree.html
compositing/masks/compositing-clip-path-mask-change.html
compositing/masks/mask-with-preserve-3d.html

All in the same (almost 400 commits...) range:

r240331                       NOERROR
[r240715-r240716]             IMAGE (Expected: PASS)
r240726                       IMAGE (Expected: PASS)

Gardened these in r260930
Comment 11 Carlos Garcia Campos 2020-07-27 23:58:00 PDT
Reflections fixed in r264965