New issue
Advanced search Search tips

Issue 768911 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 754112
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

DCHECK in PrintingContextWin::NewDocument

Project Member Reported by siggi@chromium.org, Sep 26 2017

Issue description

Chrome Version: Version 63.0.3223.1 (Official Build) canary SyzyASan (32-bit)
OS: Win10

What steps will reproduce the problem?
(1) Run an Albatross build (https://docs.google.com/document/d/1QY4IbbJ8X6G-6-cMheEkP_mT7ZNPCuUJIW2sr_mEiH4/edit)
(2) Open any page (chrome://settings/help)
(3) Type control-P (Print)
(4) Select "Microsoft Print to PDF" for destination.
(5) Click the "Print" button.
(6) Kaboom.

See crash/ec6841a4509921c6 (need to download symbols manually, as the symbol upload failed for this build).

PrintingContext::Result PrintingContextWin::NewDocument(
    const base::string16& document_name) {
...
  if (!debug_dump_path.empty())
    di.lpszOutput = debug_dump_path.c_str();

  // No message loop running in unit tests.
  DCHECK(!base::MessageLoop::current() ||
         !base::MessageLoop::current()->NestableTasksAllowed());  <<< HERE

  // Begin a print job by calling the StartDoc function.
  // NOTE: StartDoc() starts a message loop. That causes a lot of problems with
  // IPC. Make sure recursive task processing is disabled.
  if (StartDoc(context_, &di) <= 0)
    return OnError();

  return OK;
}

Call stack:
00 chrome_64630000!base::debug::BreakDebugger
01 chrome_64630000!logging::LogMessage::~LogMessage
02 chrome_64630000!printing::PrintingContextWin::NewDocument
03 chrome_64630000!printing::PrintJobWorker::StartPrinting
04 chrome_64630000!base::internal::FunctorTraits<void (__thiscall ThirdPartyMetricsRecorder::*)(ModuleDatabase *),void>::Invoke
05 chrome_64630000!base::internal::InvokeHelper<0,void>::MakeItSo
06 chrome_64630000!base::internal::Invoker<base::internal::BindState<void (__thiscall ThirdPartyMetricsRecorder::*)(ModuleDatabase *),base::internal::UnretainedWrapper<ThirdPartyMetricsRecorder>,ModuleDatabase *>,void __cdecl(void)>::RunImpl
07 chrome_64630000!base::internal::Invoker<base::internal::BindState<void (__thiscall ThirdPartyMetricsRecorder::*)(ModuleDatabase *),base::internal::UnretainedWrapper<ThirdPartyMetricsRecorder>,ModuleDatabase *>,void __cdecl(void)>::Run
08 chrome_64630000!base::RepeatingCallback<void __cdecl(void)>::Run
09 chrome_64630000!printing::`anonymous namespace'::HoldRefCallback
0a chrome_64630000!base::internal::FunctorTraits<void (__cdecl*)(scoped_refptr<printing::PrintJobWorkerOwner> const &,base::RepeatingCallback<void __cdecl(void)> const &),void>::Invoke<scoped_refptr<printing::PrintJob> const &,base::RepeatingCallback<void __cdecl(void)> const &>
0b chrome_64630000!base::internal::InvokeHelper<0,void>::MakeItSo
0c chrome_64630000!base::internal::Invoker<base::internal::BindState<void (__cdecl*)(scoped_refptr<printing::PrintJobWorkerOwner> const &,base::RepeatingCallback<void __cdecl(void)> const &),scoped_refptr<printing::PrintJob>,base::RepeatingCallback<void __cdecl(void)> >,void __cdecl(void)>::RunImpl
0d chrome_64630000!base::internal::Invoker<base::internal::BindState<void (__cdecl*)(scoped_refptr<printing::PrintJobWorkerOwner> const &,base::RepeatingCallback<void __cdecl(void)> const &),scoped_refptr<printing::PrintJob>,base::RepeatingCallback<void __cdecl(void)> >,void __cdecl(void)>::Run
0e chrome_64630000!base::OnceCallback<void __cdecl(void)>::Run
0f chrome_64630000!base::debug::TaskAnnotator::RunTask
10 chrome_64630000!base::internal::IncomingTaskQueue::RunTask
11 chrome_64630000!base::MessageLoop::RunTask
12 chrome_64630000!base::MessageLoop::DeferOrRunPendingTask
13 chrome_64630000!base::MessageLoop::DoWork
14 chrome_64630000!base::MessagePumpDefault::Run
15 chrome_64630000!base::MessageLoop::Run
16 chrome_64630000!base::RunLoop::Run
17 chrome_64630000!base::Thread::Run
18 chrome_64630000!base::Thread::ThreadMain
19 chrome_64630000!base::`anonymous namespace'::ThreadFunc
1a KERNEL32!BaseThreadInitThunk
1b ntdll!__RtlUserThreadStart
1c ntdll!_RtlUserThreadStart

 

Comment 1 by siggi@chromium.org, Sep 26 2017

Cc: gab@chromium.org
Components: Internals>Printing
Owner: fdoray@chromium.org
Looks like this might be a leftover problem from Task Scheduler conversion, assigning to Francois for investigation.

Comment 2 by siggi@chromium.org, Sep 26 2017

Description: Show this description
FYI, previously reported this in  https://crbug.com/754112  and found this issue started with https://chromium-review.googlesource.com/c/chromium/src/+/594713.

Comment 4 by gab@chromium.org, Sep 27 2017

Mergedinto: 754112
Status: Duplicate (was: Untriaged)
Thanks, wasn't on my radar, I'll fix that.

Sign in to add a comment