Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deadlock between auto-update recycle and initialization #275

Closed
tjanczuk opened this issue May 2, 2013 · 0 comments
Closed

Deadlock between auto-update recycle and initialization #275

tjanczuk opened this issue May 2, 2013 · 0 comments
Labels

Comments

@tjanczuk
Copy link
Owner

tjanczuk commented May 2, 2013

This makes the worker process unresponsive. Related to #273.

Initialization logic hold application manager lock and attempts to acquire file watcher lock:

03 00b6c640 6d0637f5 013adf10 37074d6f 013bbe28 ntdll!RtlEnterCriticalSection+0x43 [d:\win8_gdr\minkernel\ntdll\resource.c @ 1000]
04 00b6ca9c 6d0687c0 03aaac0c 03adae58 6d06132a iisnode!CFileWatcher::WatchFiles+0x2a5 [c:\projects\iisnode\src\iisnode\cfilewatcher.cpp @ 139]
05 00b6cad4 6d069b64 03b1a948 03aa9578 37074cf3 iisnode!CNodeApplication::Initialize+0x100 [c:\projects\iisnode\src\iisnode\cnodeapplication.cpp @ 49]
06 00b6cb00 6d069a7f 03aaac0c 013bbe28 03aa9578 iisnode!CNodeApplicationManager::GetOrCreateNodeApplicationCore+0xa4 [c:\projects\iisnode\src\iisnode\cnodeapplicationmanager.cpp @ 387]
07 00b6cb28 6d068d64 03aa9578 00000000 00000001 iisnode!CNodeApplicationManager::GetOrCreateNodeApplication+0x8f [c:\projects\iisnode\src\iisnode\cnodeapplicationmanager.cpp @ 660]
08 00b6cb74 6d071ac9 03aa9578 03aa9580 00b6cb94 iisnode!CNodeApplicationManager::Dispatch+0x114 [c:\projects\iisnode\src\iisnode\cnodeapplicationmanager.cpp @ 212]
09 00b6cb98 6d381bae 03aa9578 03aa9580 00a5a7c0 iisnode!CNodeHttpModule::OnExecuteRequestHandler+0x49 [c:\projects\iisnode\src\iisnode\cnodehttpmodule.cpp @ 39]

Auto-update logic holds the file watcher log and attempts to acquire the application manager lock:

00 03f1f8b0 7794e978 00568b14 00000000 01ce473a ntdll!NtWaitForAlertByThreadId+0xc [e:\obj.x86fre\minkernel\ntdll\wow6432\objfre\i386\usrstubs.asm @ 3469]
01 03f1f90c 6d06a0c5 00568b14 34407ebb 01ce473a ntdll!RtlAcquireSRWLockExclusive+0x131 [d:\win8_gdr\minkernel\ntdll\srwlock.c @ 1270]
02 03f1f948 6d06a070 013bbe78 00000001 03f1fbfc iisnode!CNodeApplicationManager::RecycleApplication+0x45 [c:\projects\iisnode\src\iisnode\cnodeapplicationmanager.cpp @ 305]
03 03f1f958 6d063093 00568b08 013bbe78 013adf00 iisnode!CNodeApplicationManager::OnScriptModified+0x10 [c:\projects\iisnode\src\iisnode\cnodeapplicationmanager.cpp @ 343]
04 03f1fbfc 6d063b1d 013307b0 00000000 34407bb3 iisnode!CFileWatcher::ScanDirectory+0x1b3 [c:\projects\iisnode\src\iisnode\cfilewatcher.cpp @ 585]
05 03f1fc40 6d07288b 013adf00 34407b8b 00000000 iisnode!CFileWatcher::Worker+0xad [c:\projects\iisnode\src\iisnode\cfilewatcher.cpp @ 516]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant