New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 65116 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2010
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug
M-9

Restricted
  • Only users with EditIssue permission may comment.



Sign in to add a comment

CEEE Broker termination gets stuck on breakpad

Project Member Reported by mad@chromium.org, Dec 2 2010

Issue description

When the Broker gets terminated, it takes about a minute for the process to die, because it is stuck on this call stack:


ChildEBP RetAddr
0029fa00 77491270 ntdll!ZwWaitForSingleObject+0x15
0029fa70 774911d8 kernel32!WaitForSingleObjectEx+0xbe
0029fa84 01057dc1 kernel32!WaitForSingleObject+0x12
0029fbe8 01082733 ceee_broker!PlatformThread::Join(void * thread_handle = 0x000001d8)+0xa1 [d:\src\chrome\src\base\platform_thread_win.cc @ 131]
0029fc98 010f21e4 ceee_broker!base::Thread::Stop(void)+0x53 [d:\src\chrome\src\base\thread.cc @ 114]
0029fca4 00fec530 ceee_broker!ChromePostman::Term(void)+0x24 [d:\src\chrome\src\ceee\ie\broker\chrome_postman.cc @ 108]
0029fcbc 00fec49a ceee_broker!CeeeBrokerModule::TearDown(void)+0x70 [d:\src\chrome\src\ceee\ie\broker\broker_module.cc @ 207]
0029fccc 00feff66 ceee_broker!CeeeBrokerModule::PostMessageLoop(void)+0x2a [d:\src\chrome\src\ceee\ie\broker\broker_module.cc @ 195]
0029fce0 00fee4a9 ceee_broker!ATL::CAtlExeModuleT<CeeeBrokerModule>::Run(int nShowCmd = 0n10)+0x56 [c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\atlbase.h @ 3554]
0029fd08 00fe9de1 ceee_broker!ATL::CAtlExeModuleT<CeeeBrokerModule>::WinMain(int nShowCmd = 0n10)+0x99 [c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\atlbase.h @ 3364]
0029fd14 01151405 ceee_broker!wWinMain(struct HINSTANCE__ * __formal = 0x00fe0000, int nShowCmd = 0n10)+0x11 [d:\src\chrome\src\ceee\ie\broker\broker_module.cc @ 94]
0029fdb8 0115128f ceee_broker!__tmainCRTStartup(void)+0x165 [f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c @ 263]
0029fdc0 7750e4a5 ceee_broker!wWinMainCRTStartup(void)+0xf [f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c @ 182]
0029fdcc 77eecfed kernel32!BaseThreadInitThunk+0xe
0029fe0c 77eed1ff ntdll!__RtlUserThreadStart+0x23 00000000 ntdll!_RtlUserThreadStart+0x1b


Which is waiting on this one:
044ef2c0 772b1270 ntdll!ZwWaitForSingleObject+0x15
044ef330 772b11d8 kernel32!WaitForSingleObjectEx+0xbe
044ef344 5b6428c9 kernel32!WaitForSingleObject+0x12
044ef3a0 5b605706 npchrome_frame!google_breakpad::ExceptionHandler::~ExceptionHandler+0x259
044ef3ac 5b605945 npchrome_frame!google_breakpad::ExceptionHandler::`scalar deleting destructor'+0x16
044ef3d4 5b5871c2 npchrome_frame!ShutdownVectoredCrashReporting+0x55
044ef3dc 5b595ec8 npchrome_frame!ShutdownCrashReporting+0x12
044ef5d0 5b8861fa npchrome_frame!DllMain+0x2b8
044ef61c 5b886121 npchrome_frame!__DllMainCRTStartup+0xca
044ef630 77e9fcc0 npchrome_frame!_DllMainCRTStartup+0x21
044ef650 77eac608 ntdll!LdrpCallInitRoutine+0x14
044ef700 77ea7a97 ntdll!LdrpUnloadDll+0x3d8
044ef744 772b24c1 ntdll!LdrUnloadDll+0x46
044ef754 7710c0ca kernel32!FreeLibrary+0x76
044ef760 7710c0de ole32!CClassCache::CDllPathEntry::CFinishObject::Finish+0x2f
044ef774 7711d9d5 ole32!CClassCache::CFinishComposite::Finish+0x1d
044ef7fc 7711d5b5 ole32!CClassCache::CleanUpDllsForApartment+0x1da
044ef840 7711d4d3 ole32!FinishShutdown+0x120
044ef860 7711cac7 ole32!ApartmentUninitialize+0x96
044ef878 7711cbaa ole32!wCoUninitialize+0x88
044ef894 00dd3e4f ole32!CoUninitialize+0x72
044ef8a4 00d62aad ceee_broker!ChromePostman::ChromePostmanThread::CleanUp+0x1f
044efa7c 00d379c0 ceee_broker!base::Thread::ThreadMain+0x11d
044efa94 7732e4a5 ceee_broker!`anonymous namespace'::ThreadFunc+0x60
044efaa0 77eecfed kernel32!BaseThreadInitThunk+0xe
044efae0 77eed1ff ntdll!__RtlUserThreadStart+0x23
044efaf8 00000000 ntdll!_RtlUserThreadStart+0x1b

Which is waiting on this one:
0499fc80 77eadb0b ntdll!ZwWaitForSingleObject+0x15
0499fce4 77eadad6 ntdll!RtlpWaitOnCriticalSection+0x155
0499fd0c 77eb0a29 ntdll!RtlEnterCriticalSection+0x152
0499fda0 77eb09d5 ntdll!LdrShutdownThread+0x4c
0499fdb0 7732e4ac ntdll!RtlExitUserThread+0x2a
0499fdbc 77eecfed kernel32!BaseThreadInitThunk+0x15
0499fdfc 77eed1ff ntdll!__RtlUserThreadStart+0x23
0499fe14 00000000 ntdll!_RtlUserThreadStart+0x1b


Which is waiting on the previous one...
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 2 2010

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=68042

------------------------------------------------------------------------
r68042 | mad@google.com | Thu Dec 02 11:00:51 PST 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/ceee/ie/broker/chrome_postman.cc?r1=68042&r2=68041&pathrev=68042

We need to pin Chrome Frame so that it doesn't get stuck on releasing Breakpad.

The Broker interacts with Chrome Frame from a Worker Thread, and if this thread is the last one to release the Chrome Frame COM object, then the Chrome Frame DLL will be relased during CoUninitialize and will try to release Breakpad while the breakpad thread is stuck on the loader lock.

BUG= 65116 
TEST=Make sure the Broker exists cleanly and in a reasonable amount of time.

Review URL: http://codereview.chromium.org/5522002
------------------------------------------------------------------------

Comment 2 by joi@chromium.org, Dec 2 2010

Labels: -Pri-2 Pri-1 Mstone-9 ReleaseBlock-Beta
Assigning to myself to merge.

Comment 3 by joi@chromium.org, Dec 3 2010

Status: Fixed
Merged r68135
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 3 2010

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=68135

------------------------------------------------------------------------
r68135 | joi@chromium.org | Thu Dec 02 18:15:55 PST 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/branches/597/src/ceee/ie/broker/chrome_postman.cc?r1=68135&r2=68134&pathrev=68135

Merge 68042 - We need to pin Chrome Frame so that it doesn't get stuck on releasing Breakpad.

The Broker interacts with Chrome Frame from a Worker Thread, and if this thread is the last one to release the Chrome Frame COM object, then the Chrome Frame DLL will be relased during CoUninitialize and will try to release Breakpad while the breakpad thread is stuck on the loader lock.

BUG= 65116 
TEST=Make sure the Broker exists cleanly and in a reasonable amount of time.

Review URL: http://codereview.chromium.org/5522002

TBR=mad@google.com
Review URL: http://codereview.chromium.org/5537004
------------------------------------------------------------------------
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 12 2012

Labels: Restrict-AddIssueComment-Commit
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 15 2012

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=173254

------------------------------------------------------------------------
r173254 | rlp@chromium.org | 2012-12-15T01:38:29.429306Z

Changed paths:
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/id-ID-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/en-US-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sl-SI-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/en-GB-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sk-SK-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_ru_RU.txt?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ru_RU.aff?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/fr_FR.aff?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_fr_FR.txt?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/lt-LT-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sv-SE-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/vi-VN-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_nl_NL.txt?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/lv-LV-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/nl_NL.aff?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/pt-PT-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ru_RU.dic_delta?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/el-GR-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/fo-FO-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/nb-NO-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ko-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sl_SI.dic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/cs-CZ-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sv_SE.dic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/lv_LV.aff?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_lv_LV.txt?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sq-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/en-CA-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/hu-HU-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/it-IT-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ca-ES-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ru_RU.dic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/he-IL-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/af-ZA-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ro-RO-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/fr_FR.dic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/da_DK.dic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/nl_NL.dic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/hi-IN-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/en-AU-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_ca_ES.txt?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ta-IN-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ru-RU-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sh-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/fr-FR-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/es-ES-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_sv_SE.txt?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sv_SE.aff?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/bg-BG-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/de-DE-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/hr-HR-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/da-DK-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/nl-NL-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/de_DE_neu.dic_delta?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README.chromium?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/uk-UA-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/lv_LV.dic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/pl-PL-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/pt-BR-3-0.bdic?r1=173254&r2=173253&pathrev=173254
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sr-3-0.bdic?r1=173254&r2=173253&pathrev=173254

[Spellcheck] Updating dictionaries to most recent versions. See the respective bugs for each language for more detail.

BUG= 8397 , 8803 , 20083 , 65116 ,  104891 , 112227 , 113821 
------------------------------------------------------------------------
Project Member

Comment 7 by bugdroid1@chromium.org, Dec 15 2012

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=173256

------------------------------------------------------------------------
r173256 | rlp@chromium.org | 2012-12-15T01:56:04.173883Z

Changed paths:
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_ko.txt?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ko.aff?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_ta_IN.txt?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ta_IN.aff?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ko.dic?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ta_IN.dic?r1=173256&r2=173255&pathrev=173256
   D http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/ca_ES?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sq.dic_delta?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/README_sq.txt?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sq.aff?r1=173256&r2=173255&pathrev=173256
   D http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sv_SE?r1=173256&r2=173255&pathrev=173256
   A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/hunspell_dictionaries/sq.dic?r1=173256&r2=173255&pathrev=173256

[Spellcheck] Updating some of the dictionaries missed in the last CL. Deleting some old files.

BUG= 8397 , 8803 , 20083 , 65116 ,  104891 , 112227 , 113821 

Paths modified but not in any changelist:
------------------------------------------------------------------------
Project Member

Comment 8 by bugdroid1@chromium.org, Mar 10 2013

Labels: -Mstone-9 M-9
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 13 2013

Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue

Sign in to add a comment