Opening the system print dialog while the chrome print dialog is loading triggers a DCHECK. |
||
Issue descriptionChromium: 59.0.3051.0 (Developer Build) (64-bit) Revision: 8c2a01268319b6a79b783b2c9649ed8e888a1296 OS: Linux Build: Debug What steps will reproduce the problem? (1) Hit Ctrl + P. Wait the print dialog to be open, but not having loaded the preview yet. (2) Hit Ctrl + Shift + P. Doing it repeatedly may help. ``` FATAL:print_view_manager_base.cc(556) Check failed: !printing_rfh_. #0 0x2af07c027ccb base::debug::StackTrace::StackTrace() #1 0x2af07c02635c base::debug::StackTrace::StackTrace() #2 0x2af07c09426f logging::LogMessage::~LogMessage() #3 0x2af075e8b209 printing::PrintViewManagerBase::SetPrintingRFH() #4 0x2af075e30752 printing::PrintViewManager::PrintForSystemDialogNow() #5 0x2af0781080a1 PrintPreviewHandler::HandleShowSystemDialog() #6 0x2af0744f2a1d _ZN4base8internal13FunctorTraitsIMN10extensions28ExtensionWebContentsObserverEFvPN7content15RenderFrameHostEEvE6InvokeIPS3_JS6_EEEvS8_OT_DpOT0_ #7 0x2af0744f2926 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN10extensions28ExtensionWebContentsObserverEFvPN7content15RenderFrameHostEEJPS5_S8_EEEvOT_DpOT0_ #8 0x2af0781131a7 _ZN4base8internal7InvokerINS0_9BindStateIM19PrintPreviewHandlerFvPKNS_9ListValueEEJNS0_17UnretainedWrapperIS3_EEEEEFvS6_EE7RunImplIRKS8_RKSt5tupleIJSA_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOS6_ #9 0x2af0781130dc _ZN4base8internal7InvokerINS0_9BindStateIM19PrintPreviewHandlerFvPKNS_9ListValueEEJNS0_17UnretainedWrapperIS3_EEEEEFvS6_EE3RunEPNS0_13BindStateBaseEOS6_ #10 0x2af07ff29de2 _ZNKR4base8CallbackIFvPN7content11WebContentsEELNS_8internal8CopyModeE1ELNS5_10RepeatModeE1EE3RunES3_ #11 0x2af0818f28a8 content::WebUIImpl::ProcessWebUIMessage() #12 0x2af0818f144b content::WebUIImpl::OnWebUISend() ``` +CC thestig because you have worked a lot in printing::PrintViewManagerBase
,
Mar 24 2017
You can also trigger this by clicking the "Print using system dialog..." button while the preview is loading. I was able to reproduce the original stack trace pretty consistently by clicking the system dialog link while the preview (right side) is still loading but the Print Preview UI is loaded already (displays some valid number of pages, print button is activated, settings sections are finished loading in). I can sometimes trigger a different stack trace if I do ctrl + shift + p immediately after ctrl + P (so while the Print Preview UI elements are still loading): Received signal 6 #0 0x7fd5b0db731b base::debug::StackTrace::StackTrace() #1 0x7fd5b0db59ac base::debug::StackTrace::StackTrace() #2 0x7fd5b0db6e2f base::debug::(anonymous namespace)::StackDumpSignalHandler() #3 0x7fd5b123e330 <unknown> #4 0x7fd59ceb7c37 gsignal #5 0x7fd59cebb028 abort #6 0x7fd5b0db36d6 base::debug::(anonymous namespace)::DebugBreak() #7 0x7fd5b0db36b8 base::debug::BreakDebugger() #8 0x7fd5b0e23c36 logging::LogMessage::~LogMessage() #9 0x7fd5975fbc6a blink::DocumentLoader::responseReceived() #10 0x7fd5a0fa7922 blink::RawResource::didAddClient() #11 0x7fd5a0faf12d blink::Resource::finishPendingClients() #12 0x7fd5a0faeeb9 blink::Resource::ResourceCallback::runTask() #13 0x7fd5a09a2c65 _ZN4base8internal13FunctorTraitsIMN5blink18HRTFDatabaseLoaderEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_ #14 0x7fd5a0fb6961 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN5blink8Resource16ResourceCallbackEFvvEJPS6_EEEvOT_DpOT0_ #15 0x7fd5a0fb6907 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink8Resource16ResourceCallbackEFvvEJN3WTF17UnretainedWrapperIS5_LNS8_22FunctionThreadAffinityE1EEEEEEFvvEE7RunImplIRKS7_RKSt5tupleIJSB_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #16 0x7fd5a0fb684c _ZN4base8internal7InvokerINS0_9BindStateIMN5blink8Resource16ResourceCallbackEFvvEJN3WTF17UnretainedWrapperIS5_LNS8_22FunctionThreadAffinityE1EEEEEEFvvEE3RunEPNS0_13BindStateBaseE #17 0x7fd5a096f3dd _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv #18 0x7fd5a096f9d9 WTF::Function<>::operator()() #19 0x7fd5a096f0b1 blink::TaskHandle::Runner::run() #20 0x7fd5a0970acf _ZN4base8internal13FunctorTraitsIMN5blink10TaskHandle6RunnerEFvRKS3_EvE6InvokeIRKNS_7WeakPtrIS4_EEJS6_EEEvS8_OT_DpOT0_ #21 0x7fd5a09709af _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5blink10TaskHandle6RunnerEFvRKS5_ERKNS_7WeakPtrIS6_EEJS8_EEEvOT_OT0_DpOT1_ #22 0x7fd5a0970923 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink10TaskHandle6RunnerEFvRKS4_EJNS_7WeakPtrIS5_EES4_EEEFvvEE7RunImplIRKS9_RKSt5tupleIJSB_S4_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #23 0x7fd5a097083c _ZN4base8internal7InvokerINS0_9BindStateIMN5blink10TaskHandle6RunnerEFvRKS4_EJNS_7WeakPtrIS5_EES4_EEEFvvEE3RunEPNS0_13BindStateBaseE #24 0x7fd5b0dbd2be _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv #25 0x7fd5b0dbcb3e base::debug::TaskAnnotator::RunTask() #26 0x7fd5a0da3866 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue() #27 0x7fd5a0da095d blink::scheduler::TaskQueueManager::DoWork() #28 0x7fd5a0dabd94 _ZN4base8internal13FunctorTraitsIMN5blink9scheduler16TaskQueueManagerEFvbEvE6InvokeIRKNS_7WeakPtrIS4_EEJRKbEEEvS6_OT_DpOT0_ #29 0x7fd5a0dabc9f _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5blink9scheduler16TaskQueueManagerEFvbERKNS_7WeakPtrIS6_EEJRKbEEEvOT_OT0_DpOT1_ #30 0x7fd5a0dabc13 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE7RunImplIRKS7_RKSt5tupleIJS9_bEEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #31 0x7fd5a0dabb2c _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE3RunEPNS0_13BindStateBaseE #32 0x7fd5b0dbd2be _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv #33 0x7fd5b0dbcb3e base::debug::TaskAnnotator::RunTask() #34 0x7fd5b0e4c9ed base::MessageLoop::RunTask() #35 0x7fd5b0e4cc84 base::MessageLoop::DeferOrRunPendingTask() #36 0x7fd5b0e4cf74 base::MessageLoop::DoWork() #37 0x7fd5b0e645a8 base::MessagePumpDefault::Run() #38 0x7fd5b0e4c587 base::MessageLoop::RunHandler() #39 0x7fd5b0efcada base::RunLoop::Run() #40 0x7fd5af208b34 IPC::SyncChannel::WaitForReplyWithNestedMessageLoop() #41 0x7fd5af2087e8 IPC::SyncChannel::WaitForReply() #42 0x7fd5af208064 IPC::SyncChannel::Send() #43 0x7fd5a966ff37 content::ChildThreadImpl::Send() #44 0x7fd5ab695e1a content::RenderThreadImpl::Send() #45 0x7fd5ab61b0ef content::RenderFrameImpl::Send() #46 0x7fd5a9619f02 content::RenderFrameObserver::Send() #47 0x7fd5b64fc3eb printing::PrintWebViewHelper::GetPrintSettingsFromUser() #48 0x7fd5b64f5472 printing::PrintWebViewHelper::Print() #49 0x7fd5b64f5f94 printing::PrintWebViewHelper::OnPrintForSystemDialog()
,
Mar 24 2017
This is actually even easier. (1) Ctrl + P to bring up print preview. (2) At some point after the UI loads, click "Print using system dialog". You can actually wait for the preview to load also. (3) Preview closes and system dialog appears, cancel or print as desired. (4) Print preview again and click "Print using system dialog". (5) DCHECK crash. Further investigation revealed that apparently printing_rfh_ in PrintViewManagerBase is just not getting reset in between print previews...
,
Mar 24 2017
Edit to comment 3 - you actually have to either cancel or print preview again before the print job ends. What appears to be happening is if the system dialog is cancelled or closed and the preview is brought up for the same set of web contents again, none of the events that would trigger a reset of printing_rfh_ happen (completed/failed print job, render frame host destroyed, new print job started). However that would not explain this stack trace appearing when print previewing for the first time in a new browser window. arthursonzogni@: were you able to get this stack trace on the first print preview you brought up in a given browser window, or did this only happen after doing the print preview, system dialog, cancel or close process at least once? I cannot get that particular DCHECK to trigger on a clean preview (i.e. launch new browser window, ctrl + P, then ctrl + shift + p repeatedly), although as noted in the comments above there are some other crashes that can occur.
,
Mar 24 2017
Clearly my fault.
,
May 26 2017
Issue 721788 has been merged into this issue. |
||
►
Sign in to add a comment |
||
Comment 1 by weili@chromium.org
, Mar 24 2017