systematic DCHECK() hit in cursor_util.cc: "Check failed: total_width % frame_width == 0 (12 vs. 0)" |
||||
Issue descriptionOn my nautilus, ToT chrome developer build (68.0.3407.0) on a 10614.0.0 CrOs test image, I constantly hit the said DCHECK (it's enabled in my build.gn), which I can symbolise, see below. The hit DCHECK is here: https://cs.chromium.org/chromium/src/ui/base/cursor/cursor_util.cc?type=cs&q=cursor_util.cc+total_width&sq=package:chromium&l=130 The callstack is pretty ancient, so something might have changed in the cursor png itself ? Adding some peeps in the hope that they might know of recent work in that area. device-enumerator: scan all dirs device-enumerator: scanning /sys/bus device-enumerator: scanning /sys/class [22613:22613:0501/171433.518163:ERROR:display_manager.cc(1984)] Could not find display:12528934998507520 device-enumerator: scan all dirs device-enumerator: scanning /sys/bus device-enumerator: scanning /sys/class [22613:22613:0501/171433.712475:ERROR:input_method_manager_impl.cc(1080)] IMEEngine for "fgoepimhcoialccpbmpnnblemnepkkao" is not registered [22613:22613:0501/171433.755454:ERROR:login_display_host_mojo.cc(86)] Not implemented reached in virtual void chromeos::LoginDisplayHostMojo::SetStatusAreaVisible(bool) [22613:22613:0501/171433.817317:FATAL:cursor_util.cc(130)] Check failed: total_width % frame_width == 0 (12 vs. 0) #0 0x57399b1a437c base::debug::StackTrace::StackTrace() #1 0x57399b114380 logging::LogMessage::~LogMessage() #2 0x57399b23d3c9 ui::GetAnimatedCursorBitmaps() #3 0x57399b245aba ui::CursorLoaderOzone::LoadAnimatedCursor() #4 0x57399b244529 ui::ImageCursors::ReloadCursors() #5 0x57399b24437c ui::ImageCursors::SetDisplay() #6 0x57399d2ec892 ui::ws::(anonymous namespace)::SetDisplayOnResourceThread() #7 0x57399d2ed66b _ZN4base8internal7InvokerINS0_9BindStateIPFvNS_7WeakPtrIN2ui12ImageCursorsEEERKN7display7DisplayEfEJS6_S8_fEEEFvvEE3RunEPNS0_13BindStateBaseE #8 0x57399b0fcf9e base::debug::TaskAnnotator::RunTask() #9 0x57399b1cb0c6 base::internal::IncomingTaskQueue::RunTask() #10 0x57399b11cbb6 base::MessageLoop::RunTask() #11 0x57399b11cfc7 base::MessageLoop::DeferOrRunPendingTask() #12 0x57399b11d258 base::MessageLoop::DoWork() #13 0x57399b1b7fc9 base::MessagePumpLibevent::Run() #14 0x57399b11c4e1 base::MessageLoop::Run() #15 0x57399b148236 base::RunLoop::Run() #16 0x57399ad37514 ChromeBrowserMainParts::MainMessageLoopRun() #17 0x573998ea96d4 content::BrowserMainLoop::RunMainMessageLoopParts() #18 0x573998eac463 content::BrowserMainRunnerImpl::Run() #19 0x573998ea557d content::BrowserMain() #20 0x57399ad1cc34 content::RunNamedProcessTypeMain() #21 0x57399ad1dfa3 content::ContentMainRunnerImpl::Run() #22 0x57399ad2a7be service_manager::Main() #23 0x57399ad1b821 content::ContentMain() #24 0x573998073a3f ChromeMain #25 0x7829a2003736 __libc_start_main #26 0x573998073879 _start Received signal 6 #0 0x57399b1a437c base::debug::StackTrace::StackTrace() #1 0x57399b1a3e51 base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x7829a2f572e0 <unknown> #3 0x7829a2016dd2 gsignal #4 0x7829a2018bf6 abort #5 0x57399b1a2ba5 base::debug::BreakDebugger() #6 0x57399b114809 logging::LogMessage::~LogMessage() #7 0x57399b23d3c9 ui::GetAnimatedCursorBitmaps() #8 0x57399b245aba ui::CursorLoaderOzone::LoadAnimatedCursor() #9 0x57399b244529 ui::ImageCursors::ReloadCursors() #10 0x57399b24437c ui::ImageCursors::SetDisplay() #11 0x57399d2ec892 ui::ws::(anonymous namespace)::SetDisplayOnResourceThread() #12 0x57399d2ed66b _ZN4base8internal7InvokerINS0_9BindStateIPFvNS_7WeakPtrIN2ui12ImageCursorsEEERKN7display7DisplayEfEJS6_S8_fEEEFvvEE3RunEPNS0_13BindStateBaseE #13 0x57399b0fcf9e base::debug::TaskAnnotator::RunTask() #14 0x57399b1cb0c6 base::internal::IncomingTaskQueue::RunTask() #15 0x57399b11cbb6 base::MessageLoop::RunTask() #16 0x57399b11cfc7 base::MessageLoop::DeferOrRunPendingTask() #17 0x57399b11d258 base::MessageLoop::DoWork() #18 0x57399b1b7fc9 base::MessagePumpLibevent::Run() #19 0x57399b11c4e1 base::MessageLoop::Run() #20 0x57399b148236 base::RunLoop::Run() #21 0x57399ad37514 ChromeBrowserMainParts::MainMessageLoopRun() #22 0x573998ea96d4 content::BrowserMainLoop::RunMainMessageLoopParts() #23 0x573998eac463 content::BrowserMainRunnerImpl::Run() #24 0x573998ea557d content::BrowserMain() #25 0x57399ad1cc34 content::RunNamedProcessTypeMain() #26 0x57399ad1dfa3 content::ContentMainRunnerImpl::Run() #27 0x57399ad2a7be service_manager::Main() #28 0x57399ad1b821 content::ContentMain() #29 0x573998073a3f ChromeMain #30 0x7829a2003736 __libc_start_main #31 0x573998073879 _start r8: 0000000000000000 r9: 00007829a19f6740 r10: 0000000000000008 r11: 0000000000000206 r12: 00007ffd8ec313b1 r13: 00007ffd8ec319a0 r14: 00007ffd8ec31500 r15: 00007ffd8ec313b0 di: 0000000000005855 si: 0000000000005855 bp: 00007ffd8ec31370 bx: 00007ffd8ec31500 dx: 0000000000000006 ax: 0000000000000000 cx: 00007829a2016dd2 sp: 00007ffd8ec31248 ip: 00007829a2016dd2 efl: 0000000000000206 cgf: 0000000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] Calling _exit(1). Core file will not be generated.
,
May 2 2018
Maybe you're thinking of Elliot? I'm not familiar with cursor code.
,
May 2 2018
Looks like the code expects the cursor bitmaps to contain a set of horizontally-concatenated images, where each image's width is equal to the shared height. I bet something's wrong with the image. mcasas, can you log the resource id? otherwise, I can poke around the code to try to figure it out.
,
May 2 2018
Nevermind! Looks like IDR_AURA_CURSOR_THROBBER == common/pointers/throbber.png These images haven't changed in 2+ years and their dimensions satisfy the expectation: 576%16==0 and 1152%32==0 I'm not sure what might cause the images loaded on your system to be sized differently... Perhaps your resource ID mappings are stale and it's grabbing the wrong image? Can you try a fresh Chrome OS image and fresh ToT build?
,
May 2 2018
It's also possible that the resource ids are conflicting due to a grdp file using more than its alloted number of ids. I could speculate further, but a fresh build is the first step worth trying.
,
May 2 2018
Not hitting it anymore! With 10639 dev-channel nautilus test. Maybe some strange kink? Thanks for the quick turnaround ! |
||||
►
Sign in to add a comment |
||||
Comment 1 by rjkroege@chromium.org
, May 2 2018Status: Assigned (was: Untriaged)