Closing the browser after printing triggers a DCHECK |
|||
Issue description
- Navigate to a web page
- CTRL-P to print, select "Microsoft XPS Document" as destination, press Print
- Close the browser
A DCHECK is hit:
[12988:12656:1211/090641.248:FATAL:print_job.cc(61)] Check failed: RunsTasksInCurrentSequence().
Backtrace:
base::debug::StackTrace::StackTrace [0x0000000000793818+104] (D:\chromium\src\base\debug\stack_trace_win.cc:286)
base::debug::StackTrace::StackTrace [0x000000000079245F+31] (D:\chromium\src\base\debug\stack_trace.cc:199)
logging::LogMessage::~LogMessage [0x0000000000809633+131] (D:\chromium\src\base\logging.cc:581)
printing::PrintJob::~PrintJob [0x000000000DADD940+768] (D:\chromium\src\chrome\browser\printing\print_job.cc:62)
printing::PrintJob::~PrintJob [0x000000000DAD854C+44] (D:\chromium\src\chrome\browser\printing\print_job.cc:56)
base::RefCountedThreadSafe<printing::PrintJobWorkerOwner,base::DefaultRefCountedThreadSafeTraits<printing::PrintJobWorkerOwner> >::DeleteIn
ternal<printing::PrintJobWorkerOwner> [0x000000000D83436B+59] (D:\chromium\src\base\memory\ref_counted.h:397)
base::DefaultRefCountedThreadSafeTraits<printing::PrintJobWorkerOwner>::Destruct [0x000000000D834323+19] (D:\chromium\src\base\memory\ref_c
ounted.h:352)
base::RefCountedThreadSafe<printing::PrintJobWorkerOwner,base::DefaultRefCountedThreadSafeTraits<printing::PrintJobWorkerOwner> >::Release
[0x000000000D8342ED+61] (D:\chromium\src\base\memory\ref_counted.h:388)
scoped_refptr<printing::PrintJob>::Release [0x000000000D8CC177+23] (D:\chromium\src\base\memory\scoped_refptr.h:306)
scoped_refptr<printing::PrintJob>::~scoped_refptr [0x000000000D8C998A+42] (D:\chromium\src\base\memory\scoped_refptr.h:201)
std::_Tuple_val<scoped_refptr<printing::PrintJob> >::~_Tuple_val [0x000000000DADA283+19] (d:\chromium\src\third_party\depot_tools\win_toolc
hain\vs_files\a9e1098bba66d2acccc377d5ee81265910f29272\vc\tools\msvc\14.11.25503\include\tuple:148)
std::tuple<scoped_refptr<printing::PrintJob> >::~tuple [0x000000000DADBA93+19] (d:\chromium\src\third_party\depot_tools\win_toolchain\vs_fi
les\a9e1098bba66d2acccc377d5ee81265910f29272\vc\tools\msvc\14.11.25503\include\tuple:262)
base::internal::BindState<void (printing::PrintJob::*)(int),scoped_refptr<printing::PrintJob> >::~BindState [0x000000000DADBA52+34] (D:\chr
omium\src\base\bind_internal.h:487)
base::internal::BindState<void (printing::PrintJob::*)(int),scoped_refptr<printing::PrintJob> >::Destroy [0x000000000DADB967+39] (D:\chromi
um\src\base\bind_internal.h:490)
base::internal::BindStateBaseRefCountTraits::Destruct [0x00000000007180B6+38] (D:\chromium\src\base\callback_internal.cc:22)
base::RefCountedThreadSafe<base::internal::BindStateBase,base::internal::BindStateBaseRefCountTraits>::Release [0x000000000070E748+56] (D:\
chromium\src\base\memory\ref_counted.h:388)
scoped_refptr<base::internal::BindStateBase>::Release [0x0000000000718BF3+19] (D:\chromium\src\base\memory\scoped_refptr.h:306)
scoped_refptr<base::internal::BindStateBase>::~scoped_refptr [0x0000000000718A5A+42] (D:\chromium\src\base\memory\scoped_refptr.h:201)
base::internal::CallbackBase::~CallbackBase [0x0000000000718083+19] (D:\chromium\src\base\callback_internal.cc:74)
base::internal::CallbackBaseCopyable::~CallbackBaseCopyable [0x000000000070B273+19] (D:\chromium\src\base\callback_internal.h:164)
base::RepeatingCallback<void (int)>::~RepeatingCallback [0x0000000007652CE4+20] (D:\chromium\src\base\callback_forward.h:14)
printing::`anonymous namespace'::PdfConverterUtilityProcessHostClient::~PdfConverterUtilityProcessHostClient [0x000000000DC487F7+135] (D:\c
hromium\src\chrome\browser\printing\pdf_to_emf_converter.cc:474)
printing::`anonymous namespace'::PdfConverterUtilityProcessHostClient::~PdfConverterUtilityProcessHostClient [0x000000000DC485FC+44] (D:\ch
romium\src\chrome\browser\printing\pdf_to_emf_converter.cc:474)
base::RefCountedThreadSafe<content::UtilityProcessHostClient,base::DefaultRefCountedThreadSafeTraits<content::UtilityProcessHostClient> >::
DeleteInternal<content::UtilityProcessHostClient> [0x000000001778DCEB+59] (D:\chromium\src\base\memory\ref_counted.h:397)
base::DefaultRefCountedThreadSafeTraits<content::UtilityProcessHostClient>::Destruct [0x000000001778DCA3+19] (D:\chromium\src\base\memory\r
ef_counted.h:352)
base::RefCountedThreadSafe<content::UtilityProcessHostClient,base::DefaultRefCountedThreadSafeTraits<content::UtilityProcessHostClient> >::
Release [0x000000001778DC6D+61] (D:\chromium\src\base\memory\ref_counted.h:388)
scoped_refptr<content::UtilityProcessHostClient>::Release [0x000000001778DC17+23] (D:\chromium\src\base\memory\scoped_refptr.h:306)
scoped_refptr<content::UtilityProcessHostClient>::~scoped_refptr [0x000000001778D8FA+42] (D:\chromium\src\base\memory\scoped_refptr.h:201)
content::UtilityProcessHostImpl::~UtilityProcessHostImpl [0x0000000017BCE428+456] (D:\chromium\src\content\browser\utility_process_host_imp
l.cc:167)
content::UtilityProcessHostImpl::~UtilityProcessHostImpl [0x0000000017BC8E3C+44] (D:\chromium\src\content\browser\utility_process_host_impl
.cc:165)
content::BrowserChildProcessHostImpl::TerminateAll [0x000000001648042D+493] (D:\chromium\src\content\browser\browser_child_process_host_imp
l.cc:197)
content::BrowserProcessSubThread::IOThreadPreCleanUp [0x00000000164E15E4+20] (D:\chromium\src\content\browser\browser_process_sub_thread.cc
:79)
content::BrowserProcessSubThread::CleanUp [0x00000000164E1566+54] (D:\chromium\src\content\browser\browser_process_sub_thread.cc:57)
base::Thread::ThreadMain [0x0000000000A5C515+1413] (D:\chromium\src\base\threading\thread.cc:346)
base::`anonymous namespace'::ThreadFunc [0x0000000000A26C8C+412] (D:\chromium\src\base\threading\platform_thread_win.cc:91)
BaseThreadInitThunk [0x00007FFE28D78364+20]
RtlUserThreadStart [0x00007FFE2B7E7091+33]
,
Dec 11 2017
Never mind, this is a different DCHECK than the one I was thinking of. If it helps, I was looking into this a couple days ago and found it was introduced between 522728 and 522904. The utility process not stopping was introduced further back (522666 or earlier).
,
Dec 11 2017
My CL introduced the utility process not stopping. Working on a fix.
,
Dec 11 2017
,
Dec 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0e49abafcaafdb98c07791d16c60770c99a29911 commit 0e49abafcaafdb98c07791d16c60770c99a29911 Author: Jay Civelli <jcivelli@chromium.org> Date: Wed Dec 13 21:20:53 2017 Terminate the PDF Converter utility process when done. My previous CL that mojofied the PDF to EMF converter caused the PDF converter utility process not to terminate once printing was done. Until the PDF to EMF converter becomes a service, it needs to be instructed explicitly to terminate. Bug: 793854 Change-Id: I5ee985a90b051813e5313444232540268923302d Reviewed-on: https://chromium-review.googlesource.com/824947 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Rebekah Potter <rbpotter@chromium.org> Cr-Commit-Position: refs/heads/master@{#523879} [modify] https://crrev.com/0e49abafcaafdb98c07791d16c60770c99a29911/chrome/browser/printing/pdf_to_emf_converter.cc [modify] https://crrev.com/0e49abafcaafdb98c07791d16c60770c99a29911/chrome/utility/printing_handler.cc [modify] https://crrev.com/0e49abafcaafdb98c07791d16c60770c99a29911/chrome/utility/printing_handler.h
,
Dec 13 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by jcivelli@chromium.org
, Dec 11 2017