DCHECK in device factor scaling during Win10=>Win10 RDP development session |
||||||||
Issue descriptionTrunk @ r411308 Repros ~50% of the time when launching local debug build of Chrome over RDP. --------------------------- Fatal error --------------------------- [17604:19032:0811/230431:FATAL:dip_util.cc(71)] Check failed: diff < kEplison (0.00012207 vs. 0.0001) Backtrace: base::debug::StackTrace::StackTrace [0x00000000008204C1+33] (d:\src\chrome\src\base\debug\stack_trace_win.cc:214) logging::LogMessage::~LogMessage [0x0000000000886E31+65] (d:\src\chrome\src\base\logging.cc:533) ui::`anonymous namespace'::CheckSnapped [0x00000000227B93E0+224] (d:\src\chrome\src\ui\compositor\dip_util.cc:72) ui::SnapLayerToPhysicalPixelBoundary [0x00000000227B9C3F+1167] (d:\src\chrome\src\ui\compositor\dip_util.cc:108) views::View::SnapLayerToPixelBoundary [0x0000000022186EC9+185] (d:\src\chrome\src\ui\views\view.cc:572) views::View::OnDeviceScaleFactorChanged [0x000000002218156E+94] (d:\src\chrome\src\ui\views\view.cc:1526) ui::Layer::OnDeviceScaleFactorChanged [0x00000000227C1FE3+307] (d:\src\chrome\src\ui\compositor\layer.cc:746) ui::Layer::Add [0x00000000227C06A1+385] (d:\src\chrome\src\ui\compositor\layer.cc:162) views::View::ReparentLayer [0x00000000221859D5+341] (d:\src\chrome\src\ui\views\view.cc:2145) views::View::UpdateParentLayer [0x00000000221875C6+182] (d:\src\chrome\src\ui\views\view.cc:1467) views::View::UpdateParentLayers [0x0000000022187653+83] (d:\src\chrome\src\ui\views\view.cc:2113) views::View::CreateLayer [0x000000002217D66D+381] (d:\src\chrome\src\ui\views\view.cc:2089) views::View::SetPaintToLayer [0x0000000022186675+101] (d:\src\chrome\src\ui\views\view.cc:476) BubbleIconView::AddInkDropLayer [0x00000000084E900F+31] (d:\src\chrome\src\chrome\browser\ui\views\location_bar\bubble_icon_view.cc:139) views::InkDropImpl::AddRootLayerToHostIfNeeded [0x0000000022033FEB+347] (d:\src\chrome\src\ui\views\animation\ink_drop_impl.cc:175) views::InkDropImpl::CreateInkDropRipple [0x00000000220344AE+222] (d:\src\chrome\src\ui\views\animation\ink_drop_impl.cc:139) views::InkDropImpl::AnimateToState [0x0000000022034089+57] (d:\src\chrome\src\ui\views\animation\ink_drop_impl.cc:84) views::InkDropHostView::VisibilityChanged [0x00000000220324B7+103] (d:\src\chrome\src\ui\views\animation\ink_drop_host_view.cc:194) views::View::VisibilityChangedImpl [0x0000000022187881+49] (d:\src\chrome\src\ui\views\view.cc:1906) views::View::PropagateVisibilityNotifications [0x00000000221840B7+119] (d:\src\chrome\src\ui\views\view.cc:1902) views::View::PropagateVisibilityNotifications [0x00000000221840A0+96] (d:\src\chrome\src\ui\views\view.cc:1900) views::View::PropagateVisibilityNotifications [0x00000000221840A0+96] (d:\src\chrome\src\ui\views\view.cc:1900) views::View::PropagateVisibilityNotifications [0x00000000221840A0+96] (d:\src\chrome\src\ui\views\view.cc:1900) views::View::PropagateVisibilityNotifications [0x00000000221840A0+96] (d:\src\chrome\src\ui\views\view.cc:1900) views::View::PropagateVisibilityNotifications [0x00000000221840A0+96] (d:\src\chrome\src\ui\views\view.cc:1900) views::View::PropagateVisibilityNotifications [0x00000000221840A0+96] (d:\src\chrome\src\ui\views\view.cc:1900) views::Widget::OnNativeWidgetVisibilityChanged [0x00000000221A5B69+57] (d:\src\chrome\src\ui\views\widget\widget.cc:1057) views::DesktopWindowTreeHostWin::HandleVisibilityChanged [0x0000000022261DDA+42] (d:\src\chrome\src\ui\views\widget\desktop_aura\desktop_window_tree_host_win.cc:813) views::HWNDMessageHandler::OnWindowPosChanged [0x00000000221D764E+254] (d:\src\chrome\src\ui\views\win\hwnd_message_handler.cc:2316) views::HWNDMessageHandler::_ProcessWindowMessage [0x00000000221C2597+8631] (d:\src\chrome\src\ui\views\win\hwnd_message_handler.h:421) views::HWNDMessageHandler::OnWndProc [0x00000000221D8193+259] (d:\src\chrome\src\ui\views\win\hwnd_message_handler.cc:884) gfx::WindowImpl::WndProc [0x0000000010CB653A+394] (d:\src\chrome\src\ui\gfx\win\window_impl.cc:317) base::win::WrappedWindowProc<&gfx::WindowImpl::WndProc> [0x0000000010CB38B8+56] (d:\src\chrome\src\base\win\wrapped_window_proc.h:76) DispatchMessageW [0x00007FFB204E1169+1673] DispatchMessageW [0x00007FFB204E0EE2+1026] UnionRect [0x00007FFB204F4F62+274] KiUserCallbackDispatcher [0x00007FFB218B8BA4+36] SetWindowPos [0x00007FFB20502594+20] views::HWNDMessageHandler::Hide [0x00000000221D25F5+85] (d:\src\chrome\src\ui\views\win\hwnd_message_handler.cc:622) views::HWNDMessageHandler::Close [0x00000000221CF3DB+59] (d:\src\chrome\src\ui\views\win\hwnd_message_handler.cc:389) views::DesktopWindowTreeHostWin::Close [0x000000002225FDBA+154] (d:\src\chrome\src\ui\views\widget\desktop_aura\desktop_window_tree_host_win.cc:204) views::DesktopNativeWidgetAura::Close [0x0000000022254E86+86] (d:\src\chrome\src\ui\views\widget\desktop_aura\desktop_native_widget_aura.cc:726) views::Widget::Close [0x00000000221A175A+298] (d:\src\chrome\src\ui\views\widget\widget.cc:588) BrowserView::Close [0x0000000007FD652A+42] (d:\src\chrome\src\chrome\browser\ui\views\frame\browser_view.cc:707) Browser::CloseFrame [0x0000000007D6C797+39] (d:\src\chrome\src\chrome\browser\ui\browser.cc:2364) base::internal::FunctorTraits<void (__cdecl Browser::*)(void) __ptr64,void>::Invoke<base::WeakPtr<Browser> const & __ptr64> [0x0000000007D615FB+59] (d:\src\chrome\src\base\bind_internal.h:215) base::internal::InvokeHelper<1,void>::MakeItSo<void (__cdecl Browser::*const & __ptr64)(void) __ptr64,base::WeakPtr<Browser> const & __ptr64> [0x0000000007D619A0+96] (d:\src\chrome\src\base\bind_internal.h:306) base::internal::Invoker<base::internal::BindState<void (__cdecl Browser::*)(void) __ptr64,base::WeakPtr<Browser> >,void __cdecl(void)>::RunImpl<void (__cdecl Browser::*const & __ptr64)(void) __ptr64,std::tuple<base::WeakPtr<Browser> > const & __ptr64,0> [0x0000000007D61C3C+76] (d:\src\chrome\src\base\bind_internal.h:350) base::internal::Invoker<base::internal::BindState<void (__cdecl Browser::*)(void) __ptr64,base::WeakPtr<Browser> >,void __cdecl(void)>::Run [0x0000000007D72823+51] (d:\src\chrome\src\base\bind_internal.h:328) base::Callback<void __cdecl(void),1>::Run [0x00000000007CFB48+40] (d:\src\chrome\src\base\callback.h:390) base::debug::TaskAnnotator::RunTask [0x000000000082806F+495] (d:\src\chrome\src\base\debug\task_annotator.cc:56) base::MessageLoop::RunTask [0x00000000008BE9F9+953] (d:\src\chrome\src\base\message_loop\message_loop.cc:497) base::MessageLoop::DeferOrRunPendingTask [0x00000000008BBA6C+60] (d:\src\chrome\src\base\message_loop\message_loop.cc:508) base::MessageLoop::DoWork [0x00000000008BC382+370] (d:\src\chrome\src\base\message_loop\message_loop.cc:629) base::MessagePumpForUI::DoRunLoop [0x00000000008C9971+97] (d:\src\chrome\src\base\message_loop\message_pump_win.cc:262) base::MessagePumpWin::Run [0x00000000008CBF2D+157] (d:\src\chrome\src\base\message_loop\message_pump_win.cc:142) base::MessageLoop::RunHandler [0x00000000008BE5F6+246] (d:\src\chrome\src\base\message_loop\message_loop.cc:460) base::RunLoop::Run [0x000000000099D70D+61] (d:\src\chrome\src\base\run_loop.cc:36) ChromeBrowserMainParts::MainMessageLoopRun [0x0000000004D2272B+363] (d:\src\chrome\src\chrome\browser\chrome_browser_main.cc:2123) content::BrowserMainLoop::RunMainMessageLoopParts [0x000000001381E0B1+321] (d:\src\chrome\src\content\browser\browser_main_loop.cc:951) content::BrowserMainRunnerImpl::Run [0x0000000013825108+424] (d:\src\chrome\src\content\browser\browser_main_runner.cc:156) content::BrowserMain [0x000000001380E43E+238] (d:\src\chrome\src\content\browser\browser_main.cc:46)
,
Feb 28 2017
Also, this error can be reproduced using the following steps: - to change system DPI to 175% - start browser and change the window size When the window width reaches ~1080 pixel error will occur.
,
Mar 16 2017
Ping. Any update on this? I'm now getting this on ToT Chromium on my Goobuntu workstation every time I start freshly-built Chromium: servolk@servolk2:/mnt/ssd850/chromium/src$ ninja -C out/Debug/ chrome ninja: Entering directory `out/Debug/' ninja: no work to do. servolk@servolk2:/mnt/ssd850/chromium/src$ ./out/Debug/chrome [136008:136008:0315/180959.744155:FATAL:dip_util.cc(71)] Check failed: diff < kEplison (0.00012207 vs. 0.0001) #0 0x7f993f547b1b base::debug::StackTrace::StackTrace() #1 0x7f993f5461ac base::debug::StackTrace::StackTrace() #2 0x7f993f5b469f logging::LogMessage::~LogMessage() #3 0x7f9933b52bf2 ui::(anonymous namespace)::CheckSnapped() #4 0x7f9933b52a7c ui::SnapLayerToPhysicalPixelBoundary() #5 0x7f9933e8c6dc views::View::SnapLayerToPixelBoundary() #6 0x7f9933e92499 views::View::SetLayerBounds() #7 0x7f9933e8bd9d views::View::UpdateChildLayerBounds() #8 0x7f9933e8bea1 views::View::UpdateChildLayerBounds() #9 0x7f9933e8a394 views::View::BoundsChanged() #10 0x7f9933e89fdc views::View::SetBoundsRect() #11 0x7f9933e89ed2 views::View::SetBounds() #12 0x7f994459a5f1 OpaqueBrowserFrameViewLayout::LayoutNewStyleAvatar() #13 0x7f994459b266 OpaqueBrowserFrameViewLayout::Layout() #14 0x7f9933e8c1ca views::View::Layout() #15 0x7f9933e8a414 views::View::BoundsChanged() #16 0x7f9933e89fdc views::View::SetBoundsRect() #17 0x7f9933e89ed2 views::View::SetBounds() #18 0x7f9933ed1a63 views::NonClientView::LayoutFrameView() #19 0x7f9933ed1bf9 views::NonClientView::Layout() #20 0x7f9933e8a414 views::View::BoundsChanged() #21 0x7f9933e89fdc views::View::SetBoundsRect() #22 0x7f9933e66c25 views::FillLayout::Layout() #23 0x7f9933e8c1ca views::View::Layout() #24 0x7f99445b9e5d AvatarButtonManager::Update() #25 0x7f9944598838 OpaqueBrowserFrameView::UpdateProfileIcons() #26 0x7f99444a8a8a BrowserNonClientFrameView::ViewHierarchyChanged() #27 0x7f9933e89950 views::View::ViewHierarchyChangedImpl() #28 0x7f9933e89a6e views::View::PropagateAddNotifications() #29 0x7f9933e88448 views::View::AddChildViewAt() #30 0x7f9933ed1dee views::NonClientView::ViewHierarchyChanged() #31 0x7f9933e89950 views::View::ViewHierarchyChangedImpl() #32 0x7f9933e89a6e views::View::PropagateAddNotifications() #33 0x7f9933e88448 views::View::AddChildViewAt() #34 0x7f9933e87e5e views::View::AddChildView() #35 0x7f9933eac4fc views::internal::RootView::SetContentsView() #36 0x7f9933eb1b3f views::Widget::Init() #37 0x7f99444a6788 BrowserFrame::InitBrowserFrame() #38 0x7f99441aec19 BrowserWindow::CreateBrowserWindow() #39 0x7f99440019a5 (anonymous namespace)::CreateBrowserWindow() #40 0x7f994400128e Browser::Browser() #41 0x7f9944065f54 StartupBrowserCreatorImpl::OpenTabsInBrowser() #42 0x7f9944066d87 StartupBrowserCreatorImpl::RestoreOrCreateBrowser() #43 0x7f994406574d StartupBrowserCreatorImpl::ProcessLaunchUrlsUsingConsolidatedFlow() #44 0x7f9944064bc5 StartupBrowserCreatorImpl::Launch() #45 0x7f994405ed62 StartupBrowserCreator::LaunchBrowser() #46 0x7f994405e257 StartupBrowserCreator::ProcessCmdLineImpl() #47 0x7f994405d5f2 StartupBrowserCreator::Start() #48 0x7f994201be49 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() #49 0x7f994201ab00 ChromeBrowserMainParts::PreMainMessageLoopRun() #50 0x7f9938aa4641 content::BrowserMainLoop::PreMainMessageLoopRun() #51 0x7f9937f18345 _ZN4base8internal13FunctorTraitsIMN7content22IndexedDBCallbacksImpl13InternalStateEFvvEvE6InvokeIPS4_JEEEvS6_OT_DpOT0_ #52 0x7f9938aaf911 _ZN4base8internal12InvokeHelperILb0EiE8MakeItSoIRKMN7content15BrowserMainLoopEFivEJPS5_EEEiOT_DpOT0_ #53 0x7f9938aaf8b7 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEiOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #54 0x7f9938aaf7fc _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE #55 0x7f9937df71bb base::internal::RunMixin<>::Run() #56 0x7f9939676a2b content::StartupTaskRunner::RunAllTasksNow() #57 0x7f9938aa2210 content::BrowserMainLoop::CreateStartupTasks() #58 0x7f9938ab3347 content::BrowserMainRunnerImpl::Initialize() #59 0x7f9938a9e4bf content::BrowserMain() #60 0x7f993a383e76 content::RunNamedProcessTypeMain() #61 0x7f993a38621c content::ContentMainRunnerImpl::Run() Received signal 6
,
Mar 16 2017
,
Mar 16 2017
It's not a new issue, 175% dsf is just really rare (at least on Windows). As a workaround you can comment out that DCHECK. I can't tell what it's actually asserting, and obviously nothing is horribly wrong with 175% release builds, so it might just be bogus.
,
Mar 16 2017
oshima: is there action here, or should this DCHECK be removed?
,
Mar 16 2017
Yes, I've already been using that workaround (commenting out DCHECK) before. But previously I've been getting this DCHECK only when opening a new (second) tab in Chromium. Now it's happening even with the very first tab. If this DCHECK is harmless, then perhaps we should just remove it? It's inconvenient to develop with this DCHECK commented out, since it puts my source tree in a dirty state and stuff like git rebase-update refuses to work. Plus I need to be careful all the time not to include it into my local CLs.
,
Mar 17 2017
Mitsuru, can you please take a look at this? This DCHECK was added in your CL: https://codereview.chromium.org/375693006/ Can you shed some light on how the "const float kEplison = 0.0001;" value was selected? Should the DCHECK be removed or should the value be adjusted e.g. to 0.001?
,
Mar 17 2017
,
Mar 17 2017
We should adjust the epsilon. I'll send a CL later today.
,
Mar 22 2017
Ping. Any updates?
,
Mar 23 2017
,
Mar 23 2017
Please have a look in the code https://cs.chromium.org/chromium/src/ui/compositor/dip_util.cc?q=dip_util.cc:10+package:%5Echromium$&dr&l=107 The reason of the issue can be using float instead of double in calculations.
,
Mar 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/31fb61e4a57da0fcc54a87bda416a8d7c8344de1 commit 31fb61e4a57da0fcc54a87bda416a8d7c8344de1 Author: oshima <oshima@chromium.org> Date: Thu Mar 23 21:44:15 2017 Relax the eplison to check snapping BUG=637172 Review-Url: https://codereview.chromium.org/2771663004 Cr-Commit-Position: refs/heads/master@{#459237} [modify] https://crrev.com/31fb61e4a57da0fcc54a87bda416a8d7c8344de1/ui/compositor/dip_util.cc
,
Jun 9 2017
I get this DCHECK on every start: [4242:4242:0609/165230.434942:FATAL:dip_util.cc(71)] Check failed: diff < kEplison (0.000244141 vs. 0.0002) #0 0x562f1c420961 __interceptor_backtrace #1 0x7f04c3674002 base::debug::StackTrace::StackTrace() #2 0x7f04c36eb9b7 logging::LogMessage::~LogMessage() #3 0x7f04ac7363d7 ui::(anonymous namespace)::CheckSnapped() #4 0x7f04ac735943 ui::SnapLayerToPhysicalPixelBoundary() #5 0x7f04aa5834fd views::View::SnapLayerToPixelBoundary() #6 0x7f04aa596398 views::View::UpdateChildLayerBounds() ... Ubuntu 14.04.5 LTS with last updates, Thinkpad X1 carbon gen 4: sh$ xdpyinfo | grep -B1 -i resol dimensions: 1920x1080 pixels (308x173 millimeters) resolution: 158x159 dots per inch
,
Aug 25 2017
Same DCHECK but different stack trace: [21574:21574:0825/110322.883141:FATAL:dip_util.cc(71)] Check failed: diff < kEplison (0.000244141 vs. 0.0002) #0 0x7f8cb5823e9d base::debug::StackTrace::StackTrace() #1 0x7f8cb582226c base::debug::StackTrace::StackTrace() #2 0x7f8cb58b27ca logging::LogMessage::~LogMessage() #3 0x7f8cab3c2515 ui::(anonymous namespace)::CheckSnapped() #4 0x7f8cab3c238c ui::SnapLayerToPhysicalPixelBoundary() #5 0x7f8ca9f6cac5 views::View::SnapLayerToPixelBoundary() #6 0x7f8ca9f6c98a views::View::OnDeviceScaleFactorChanged() #7 0x7f8cab3c8535 ui::Layer::OnDeviceScaleFactorChanged() #8 0x7f8cab3c9136 ui::Layer::Add() #9 0x7f8ca9f6bc89 views::View::ReparentLayer() #10 0x7f8ca9f6baec views::View::UpdateParentLayer() #11 0x7f8ca9f5f68b views::View::UpdateParentLayers() #12 0x7f8ca9f62b38 views::View::CreateLayer() #13 0x7f8ca9f62c54 views::View::SetPaintToLayer() #14 0x7f8ca9e78c5d views::LabelButton::AddInkDropLayer() #15 0x7f8ca9e4a098 views::InkDropImpl::AddRootLayerToHostIfNeeded() #16 0x7f8ca9e4a6b5 views::InkDropImpl::CreateInkDropHighlight() #17 0x7f8ca9e44a09 views::InkDropImpl::SetHighlight() #18 0x7f8ca9e45870 views::InkDropImpl::NoAutoHighlightVisibleState::Enter() #19 0x7f8ca9e44ea0 views::InkDropImpl::SetHighlightState() #20 0x7f8ca9e44b24 views::InkDropImpl::NoAutoHighlightHiddenState::HandleHoverAndFocusChangeChanges() #21 0x7f8ca9e44c0a views::InkDropImpl::NoAutoHighlightHiddenState::OnHoverChanged() #22 0x7f8ca9e4649a views::InkDropImpl::HideHighlightOnRippleHiddenState::OnHoverChanged() #23 0x7f8ca9e49c1d views::InkDropImpl::SetHovered() #24 0x7f8ca9e43cbe views::InkDropHostView::OnMouseEvent() #25 0x7f8cabaa7973 ui::EventHandler::OnEvent() #26 0x7f8cabab050f ui::ScopedTargetHandler::OnEvent() #27 0x7f8cabaa2fa0 ui::EventDispatcher::DispatchEvent() #28 0x7f8cabaa16b2 ui::EventDispatcher::ProcessEvent() #29 0x7f8cabaa113f ui::EventDispatcherDelegate::DispatchEventToTarget() #30 0x7f8cabaa0fef ui::EventDispatcherDelegate::DispatchEvent() #31 0x7f8ca9f7e4f1 views::internal::RootView::OnMouseMoved() #32 0x7f8ca9f87376 views::Widget::OnMouseEvent() #33 0x7f8ca9fc5a04 views::DesktopNativeWidgetAura::OnMouseEvent() #34 0x7f8cabaa7973 ui::EventHandler::OnEvent() #35 0x7f8cabaa2fa0 ui::EventDispatcher::DispatchEvent() #36 0x7f8cabaa16b2 ui::EventDispatcher::ProcessEvent() #37 0x7f8cabaa113f ui::EventDispatcherDelegate::DispatchEventToTarget() #38 0x7f8cabaa0fef ui::EventDispatcherDelegate::DispatchEvent() #39 0x7f8cabaa88f5 ui::EventProcessor::OnEventFromSource() #40 0x7f8cabaa8b6c ui::EventProcessor::OnEventFromSource() #41 0x7f8cabaaa74f ui::EventSource::DeliverEventToSink() #42 0x7f8cabaa9f41 ui::EventSource::SendEventToSink() #43 0x7f8ca9ff4065 views::DesktopWindowTreeHostX11::DispatchMouseEvent() #44 0x7f8ca9ff5025 views::DesktopWindowTreeHostX11::DispatchEvent() #45 0x7f8cb3eec81d ui::PlatformEventSource::DispatchEvent() #46 0x7f8c9c57bf74 ui::X11EventSourceGlib::ProcessXEvent() #47 0x7f8c9c56a358 ui::X11EventSource::ExtractCookieDataDispatchEvent() #48 0x7f8c9c56a2c0 ui::X11EventSource::DispatchXEvents() #49 0x7f8c9c57c2d5 ui::(anonymous namespace)::XSourceDispatch() #50 0x7f8c9ef0e6aa g_main_context_dispatch I have not found a way to reliably reproduce it.
,
Nov 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d55c7d6c2c4970a6126e17b0e74cf5dce7dfab69 commit d55c7d6c2c4970a6126e17b0e74cf5dce7dfab69 Author: Dominic Battre <battre@chromium.org> Date: Thu Nov 16 19:11:05 2017 Relax the epsilon to check snapping even further Bug: 637172 Change-Id: I1f700efd223ed7e8fe61067b1ac581723f7dbd59 Reviewed-on: https://chromium-review.googlesource.com/774458 Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: Dominic Battré <battre@chromium.org> Cr-Commit-Position: refs/heads/master@{#517143} [modify] https://crrev.com/d55c7d6c2c4970a6126e17b0e74cf5dce7dfab69/ui/compositor/dip_util.cc
,
Jan 13 2018
,
Nov 22
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by robliao@chromium.org
, Aug 12 2016