Status: Unconfirmed
Owner: [email protected]
Labels: Type-Bug Pri-2 OS-All Area-Misc

New issue 5460 by [email protected]: Deadlock getting out of a file save  
dialog.
http://code.google.com/p/chromium/issues/detail?id=5460

Chrome Version       : 0.4.154.33
URLs (if applicable) :
Other browsers tested:
   Add OK or FAIL after other browsers where you have tested this issue:
      Safari 3:
     Firefox 3: OK
          IE 7:

What steps will reproduce the problem?
1. Install the Windows FolderSize shell extension.
2. Kill the FolderSizeSrvc process (it sometimes takes too much CPU, so I
sometimes kill it... just for fun)
3. Then, unfortunately, it doesn't always happen, but it sometimes does by
simply opening any File dialog from Chrome (e.g., save page|link as...).

But I do have both a full and a mini dump available. I attached the
minidump but I can provide the full one on demand (it over 150 megs).

Here is some information I extracted from a quick investigation (which led
me to believe that the fault is on the FolderSize shell extension, but
there might be ways for us to work around it... maybe...)

Main thread is blocked waiting for the ShellDialogThread to stop.
thread_handle = 0x13c4
0:000> !handle 0x13c4 f
Handle 13c4
   Type             Thread
   Attributes       0
   GrantedAccess    0x1f03ff:
          Delete,ReadControl,WriteDac,WriteOwner,Synch

Terminate,Suspend,Alert,GetContext,SetContext,SetInfo,QueryInfo,SetToken,Impersonate,DirectImpersonate
   HandleCount      5
   PointerCount     9
   Name             <none>
   Object Specific Information
     Thread Id   3398.3284
     Priority    10
     Base Priority 0
     Start Address 16dfa66 chrome_1130000!_threadstartex

Main thread call stack:
000:1b60
  # ChildEBP RetAddr  Args to Child
00 0012eec4 7c90df3c 7c8025db 000013c4 00000000 ntdll!KiFastSystemCallRet
01 0012eec8 7c8025db 000013c4 00000000 00000000  
ntdll!NtWaitForSingleObject+0xc
02 0012ef2c 7c802542 000013c4 ffffffff 00000000
kernel32!WaitForSingleObjectEx+0xa8
03 0012ef40 0113d934 000013c4 ffffffff 05163500
kernel32!WaitForSingleObject+0x12
04 0012eff4 015c7ee5 000013c4 05163500 0012f4c0
chrome_1130000!PlatformThread::Join+0x67
[c:\b\slave\chrome-official\build\src\base\platform_thread_win.cc @ 86]
05 0012f09c 015c7cc9 068e87f8 0152a1bf 068e87f8
chrome_1130000!base::Thread::Stop+0x7e
[c:\b\slave\chrome-official\build\src\base\thread.cc @ 112]
06 0012f0a4 0152a1bf 068e87f8 0152a4c7 00000001
chrome_1130000!base::Thread::~Thread+0xe
[c:\b\slave\chrome-official\build\src\base\thread.cc @ 45]
07 0012f0ac 0152a4c7 00000001 05163500 0152a7a5
chrome_1130000!ShellDialogThread::`scalar deleting destructor'+0x8
08 0012f160 0152a7c9 001c0768 068e87f8 0012f22c
chrome_1130000!BaseShellDialogImpl::EndRun+0x154
[c:\b\slave\chrome-official\build\src\chrome\browser\views\shell_dialogs.cc
@ 161]
09 0012f170 0152b8a9 05163510 025cfde8 001c0768
chrome_1130000!SelectFileDialogImpl::FileSelected+0x24
[c:\b\slave\chrome-official\build\src\chrome\browser\views\shell_dialogs.cc
@ 312]
0a 0012f188 0113bd4d 0012f268 0012f4c0 0113be65
chrome_1130000!RunnableMethod<SelectFileDialogImpl,void (__thiscall
SelectFileDialogImpl::*)(std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>
> const &,void
*,BaseShellDialogImpl::RunState),Tuple3<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>
>,void *,BaseShellDialogImpl::RunState> >::Run+0x1f
[c:\b\slave\chrome-official\build\src\base\task.h @ 312]
0b 0012f22c 0113bd89 05163500 00b0ffc8 0113bf7e
chrome_1130000!MessageLoop::RunTask+0x7c
[c:\b\slave\chrome-official\build\src\base\message_loop.cc @ 304]
0c 0012f238 0113bf7e 003b7dc0 003b7d98 00000001
chrome_1130000!MessageLoop::DeferOrRunPendingTask+0x28
[c:\b\slave\chrome-official\build\src\base\message_loop.cc @ 314]
0d 0012f268 011488fc 00000000 003b7d98 00000000
chrome_1130000!MessageLoop::DoWork+0x6e
[c:\b\slave\chrome-official\build\src\base\message_loop.cc @ 403]
0e 0012f280 0114849d 0012f4c0 0012f4c0 00b15e88
chrome_1130000!base::MessagePumpForUI::DoRunLoop+0x18
[c:\b\slave\chrome-official\build\src\base\message_pump_win.cc @ 331]
0f 0012f29c 0113ba82 00b15e88 0012f4c0 0012f648
chrome_1130000!base::MessagePumpWin::RunWithDispatcher+0x38
[c:\b\slave\chrome-official\build\src\base\message_pump_win.cc @ 97]
10 0012f340 0113b9fc 611d9c10 00000000 0012f648
chrome_1130000!MessageLoop::RunInternal+0x80
[c:\b\slave\chrome-official\build\src\base\message_loop.cc @ 188]
11 0012f378 0113c23a 00000001 00000000 00b15e88
chrome_1130000!MessageLoop::RunHandler+0x4f
[c:\b\slave\chrome-official\build\src\base\message_loop.cc @ 176]
12 0012f394 0132e98c 00b15e88 00000001 0012f6cc
chrome_1130000!MessageLoopForUI::Run+0x21
[c:\b\slave\chrome-official\build\src\base\message_loop.cc @ 554]
13 0012f66c 01133464 0012f698 00000001 003e6d68
chrome_1130000!BrowserMain+0xd4e
[c:\b\slave\chrome-official\build\src\chrome\browser\browser_main.cc @ 562]
14 0012f7e0 00402ac2 00400000 0012fc94 00020ab8
chrome_1130000!ChromeMain+0x568
[c:\b\slave\chrome-official\build\src\chrome\app\chrome_dll_main.cc @ 224]
15 0012fc64 00402532 00400000 0012fc94 00020ab8
chrome!google_update::GoogleUpdateClient::Launch+0x19c
[c:\b\slave\chrome-official\build\src\chrome\app\google_update_client.cc @  
94]
16 0012ff28 00435728 00400000 00000000 00020ab8 chrome!wWinMain+0x15f
[c:\b\slave\chrome-official\build\src\chrome\app\chrome_exe_main.cc @ 66]
17 0012ffc0 7c817067 015dcd54 7c90d950 7ffdf000
chrome!__tmainCRTStartup+0x176
[f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c @ 324]
18 0012fff0 00000000 00435791 00000000 78746341  
kernel32!BaseProcessStart+0x23


thread 030:3284
  # ChildEBP RetAddr  Args to Child
00 0577fb48 7c90df2c 7c809574 00000002 0577fb74 ntdll!KiFastSystemCallRet
01 0577fb4c 7c809574 00000002 0577fb74 00000001
ntdll!NtWaitForMultipleObjects+0xc
02 0577fbe8 7e4195f9 00000002 0577fc10 00000000
kernel32!WaitForMultipleObjectsEx+0x12c
03 0577fc44 7e4196a8 00000001 01e24ce8 ffffffff
USER32!RealMsgWaitForMultipleObjectsEx+0x13e
04 0577fc60 045bc120 00000001 01e24ce8 00000000
USER32!MsgWaitForMultipleObjects+0x1f
WARNING: Stack unwind information not available. Following frames may be  
wrong.
05 0577fca0 045bd4ad 77606068 0015fd80 00000001 FolderSizeColumn+0xc120
06 00000000 00000000 00000000 00000000 00000000
FolderSizeColumn!DllCanUnloadNow+0x2d


A few other threads also waiting on thread 030:3284, as identified in their
critical section data. Since this is the loader lock, I wonder if there is
anything we can do against that... or not... ???

Thread 007:3ef4
# ChildEBP RetAddr  Args to Child
00 01b5e508 7c90df3c 7c91b22b 00000028 00000000 ntdll!KiFastSystemCallRet
01 01b5e50c 7c91b22b 00000028 00000000 00000000  
ntdll!NtWaitForSingleObject+0xc
02 01b5e594 7c901046 0197b178 7c912cae 7c97b178
ntdll!RtlpWaitForCriticalSection+0x132
03 01b5e59c 7c912cae 7c97b178 c0150008 00000001
ntdll!RtlEnterCriticalSection+0x46
04 01b5e5d8 7c916471 00000001 00000000 01b5e638 ntdll!LdrLockLoaderLock+0xea
05 01b5e874 7c801bbd 07612318 01b5e8c0 01b5e8a0 ntdll!LdrLoadDll+0xd6
06 01b5e8dc 7c801d72 7ffd7c00 00000000 00000000  
kernel32!LoadLibraryExW+0x18e
07 01b5e8f0 7c801da8 4d4f1cc8 00000000 00000000 kernel32!LoadLibraryExA+0x1f
08 01b5e90c 4d5018be 4d4f1cc8 00000000 01b5edc4 kernel32!LoadLibraryA+0x94
09 01b5e98c 4d5019cf 01b5e9ac 80000002 ffffffff
WINHTTP!InitClientUserString+0x22
0a 01b5ebb0 4d501a8c 00000003 01b5ec48 00001228
WINHTTP!GetClientUserHandle+0x35
0b 01b5ebf4 4d501b56 00000000 01b5ec84 01b5eca0
WINHTTP!FindWinInetBaseProxyKey+0x4a
0c 01b5ec34 4d4f8805 4d4f1d60 01b5ecb0 01b5ee20
WINHTTP!ReadWinInetProxySettings+0x57
0d 01b5ec84 0147203b 01b5eca0 00b15cb8 01b5ee20
WINHTTP!WinHttpGetIEProxyConfigForCurrentUser+0x67
0e 01b5ed74 014712dc 01b5ee20 9df0b110 01b5eeb8
chrome_1130000!net::ProxyResolverWinHttp::GetProxyConfig+0x29
[c:\b\slave\chrome-official\build\src\net\proxy\proxy_resolver_winhttp.cc @  
60]
0f 01b5ee88 01470ea8 0644d510 065629d8 01b5f1cc
chrome_1130000!net::ProxyService::UpdateConfig+0x6b
[c:\b\slave\chrome-official\build\src\net\proxy\proxy_service.cc @ 433]
10 01b5f008 014893dc 0644d510 06562a50 06562a6c
chrome_1130000!net::ProxyService::ResolveProxy+0x98
[c:\b\slave\chrome-official\build\src\net\proxy\proxy_service.cc @ 348]
11 01b5f250 01481a5b 0644d510 04ccdb18 00000001
chrome_1130000!net::HttpTransactionWinHttp::Start+0x18c
[c:\b\slave\chrome-official\build\src\net\http\http_transaction_winhttp.cc
@ 848]
12 01b5f298 7c910098 00000023 00000000 0000000f
chrome_1130000!net::HttpCache::Transaction::BeginNetworkRequest+0xdc
[c:\b\slave\chrome-official\build\src\net\http\http_cache.cc @ 674]
13 01b5f370 016dea70 003b0000 00000000 0001ea8f
ntdll!RtlpFreeToHeapLookaside+0x22
14 7c91003d 15ffffff 1e7c93b7 ff7c93b7 00ffffff chrome_1130000!free+0x6e
[f:\sp\vctools\crt_bld\self_x86\crt\src\free.c @ 110]
WARNING: Frame IP not in any known module. Following frames may be wrong.
15 7c91003d 00000000 1e7c93b7 ff7c93b7 00ffffff 0x15ffffff

Thread 013:2f48
  # ChildEBP RetAddr  Args to Child
00 02cafdfc 7c90df3c 7c91b22b 00000028 00000000 ntdll!KiFastSystemCallRet
01 02cafe00 7c91b22b 00000028 00000000 00000000  
ntdll!NtWaitForSingleObject+0xc
02 02cafe88 7c901046 0197b178 7c9175e2 7c97b178
ntdll!RtlpWaitForCriticalSection+0x132
03 02cafe90 7c9175e2 7c97b178 71a8793c 00000102
ntdll!RtlEnterCriticalSection+0x46
04 02caff7c 7c80c216 71a50000 02caffb4 71a5d367 ntdll!LdrUnloadDll+0x38
05 02caff88 71a5d367 71a50000 00000000 02b0e8f8
kernel32!FreeLibraryAndExitThread+0x20
06 02caffb4 7c80b713 71a5d65f 02b0e8f8 7c90e900 mswsock!SockAsyncThread+0xe5
07 02caffec 00000000 71a5d2c6 0017bc38 00000000  
kernel32!BaseThreadStart+0x37

Thread 014:3b80
   # ChildEBP RetAddr  Args to Child
00 0314fe14 7c90df3c 7c91b22b 00000028 00000000 ntdll!KiFastSystemCallRet
01 0314fe18 7c91b22b 00000028 00000000 00000000  
ntdll!NtWaitForSingleObject+0xc
02 0314fea0 7c901046 0197b178 7c9175e2 7c97b178
ntdll!RtlpWaitForCriticalSection+0x132
03 0314fea8 7c9175e2 7c97b178 02b0f3dc 00000001
ntdll!RtlEnterCriticalSection+0x46
04 0314ff94 7c80c216 4d4f0000 0314ffb4 4d50beb6 ntdll!LdrUnloadDll+0x38
05 0314ffa0 4d50beb6 4d4f0000 00000000 7c90e900
kernel32!FreeLibraryAndExitThread+0x20
06 0314ffb4 7c80b713 4d4f0000 02b0f3dc 7c90e900
WINHTTP!CGlobalServerInfoPool::GarbageCollectorThread+0x3e
07 0314ffec 00000000 4d50be78 4d4f0000 00000000  
kernel32!BaseThreadStart+0x37

Thread 015:3758
  # ChildEBP RetAddr  Args to Child
00 0362fe14 7c90df3c 7c91b22b 00000028 00000000 ntdll!KiFastSystemCallRet
01 0362fe18 7c91b22b 00000028 00000000 00000000  
ntdll!NtWaitForSingleObject+0xc
02 0362fea0 7c901046 0197b178 7c9175e2 7c97b178
ntdll!RtlpWaitForCriticalSection+0x132
03 0362fea8 7c9175e2 7c97b178 7c910415 774e0000
ntdll!RtlEnterCriticalSection+0x46
04 0362ff94 7c80c216 774e0000 0362ffb4 774fe46f ntdll!LdrUnloadDll+0x38
05 0362ffa0 774fe46f 774e0000 00000000 00150178
kernel32!FreeLibraryAndExitThread+0x20
06 0362ffb4 7c80b713 00185910 7c910415 00150178
ole32!CRpcThreadCache::RpcWorkerThreadEntry+0x34
07 0362ffec 00000000 774fe43b 00185910 00000000  
kernel32!BaseThreadStart+0x37

Thread 029:3b88
   # ChildEBP RetAddr  Args to Child
00 053ffe7c 7c90df3c 7c91b22b 00000028 00000000 ntdll!KiFastSystemCallRet
01 053ffe80 7c91b22b 00000028 00000000 00000000  
ntdll!NtWaitForSingleObject+0xc
02 053fff08 7c901046 0197b178 7c913958 7c97b178
ntdll!RtlpWaitForCriticalSection+0x132
03 053fff10 7c913958 7c97b178 00000000 7ffaa000
ntdll!RtlEnterCriticalSection+0x46
04 053fff7c 7c80c126 00110010 7c809020 03f03fa8 ntdll!LdrShutdownThread+0x22
05 053fffb4 7c80b718 00000000 00110010 7c809020 kernel32!ExitThread+0x3e
06 053fffec 00000000 77e76c7d 03f03fa8 00000000  
kernel32!BaseThreadStart+0x3c

etc...

BYE
MAD


What is the expected result?
Well... we shouldn't freeze the whole app when this happens...

What happens instead?
None of the Chrome tabs or windows are responsive :-(
Complete App freeze...

Please provide any additional information below. Attach a screenshot if
possible.
As mentioned above, I attached a minidump...
I have a full one available if needed.



Attachments:
        ShellLockMini.dmp  88.5 KB

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Chromium-bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/chromium-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to