Jump to content

Deadlock in uTorrent version 3.1.3


c64pet

Recommended Posts

I run uTorrent version 3.1.3 (build 26837) on Windows SP1 x64.

uTorrent hangs every once in a while on what appears to be a deadlock situation from the thread call stacks:

Here's call stacks from 4 threads:

uTorrent.exe+0x506a90:

ntoskrnl.exe!KiSwapContext+0x7a

ntoskrnl.exe!KiCommitThreadWait+0x1d2

ntoskrnl.exe!KeWaitForSingleObject+0x19f

ntoskrnl.exe!KiSuspendThread+0x54

ntoskrnl.exe!KiDeliverApc+0x201

ntoskrnl.exe!KiApcInterrupt+0xd7

ntdll.dll!_RtlEnterCriticalSection@4+0x17 <<< Critical section entered

uTorrent.exe+0xf4380

uTorrent.exe+0xa4f8e

ntdll.dll!_RtlEnterCriticalSection@4+0x17 <<< Critical section entered

uTorrent.exe+0x3f387

uTorrent.exe+0x3b22e:

ntoskrnl.exe!KiSwapContext+0x7a

ntoskrnl.exe!KiCommitThreadWait+0x1d2

ntoskrnl.exe!KeWaitForSingleObject+0x19f

ntoskrnl.exe!KiSuspendThread+0x54

ntoskrnl.exe!KiDeliverApc+0x201

ntoskrnl.exe!KiCommitThreadWait+0x3dd

ntoskrnl.exe!KeWaitForSingleObject+0x19f

ntoskrnl.exe!NtWaitForSingleObject+0xde

ntoskrnl.exe!KiSystemServiceCopyEnd+0x13

wow64cpu.dll!CpupSyscallStub+0x9

wow64cpu.dll!Thunk0ArgReloadState+0x23

wow64.dll!RunCpuSimulation+0xa

wow64.dll!Wow64LdrpInitialize+0x429

ntdll.dll!??_C@_0BN@KLOBBEB@Enabling?5heap?5debug?5options?6?$AA@FNODOBFM@+0x29364

ntdll.dll!LdrInitializeThunk+0xe

ntdll.dll!_NtWaitForSingleObject@12+0x15

ntdll.dll!_RtlpWaitOnCriticalSection@8+0x13e <<< Thread waiting on critical section

ntdll.dll!_RtlEnterCriticalSection@4+0x150

uTorrent.exe+0x3f37b

uTorrent.exe+0x3b201

uTorrent.exe+0x3b24a

uTorrent.exe+0x3e40b:

ntoskrnl.exe!KiSwapContext+0x7a

ntoskrnl.exe!KiCommitThreadWait+0x1d2

ntoskrnl.exe!KeWaitForSingleObject+0x19f

ntoskrnl.exe!KiSuspendThread+0x54

ntoskrnl.exe!KiDeliverApc+0x201

ntoskrnl.exe!KiCommitThreadWait+0x3dd

ntoskrnl.exe!KeWaitForSingleObject+0x19f

ntoskrnl.exe!NtWaitForSingleObject+0xde

ntoskrnl.exe!KiSystemServiceCopyEnd+0x13

wow64cpu.dll!CpupSyscallStub+0x9

wow64cpu.dll!Thunk0ArgReloadState+0x23

wow64.dll!RunCpuSimulation+0xa

wow64.dll!Wow64LdrpInitialize+0x429

ntdll.dll!??_C@_0BN@KLOBBEB@Enabling?5heap?5debug?5options?6?$AA@FNODOBFM@+0x29364

ntdll.dll!LdrInitializeThunk+0xe

ntdll.dll!_NtWaitForSingleObject@12+0x15

ntdll.dll!_RtlpWaitOnCriticalSection@8+0x13e <<< Thread waiting on critical section

ntdll.dll!_RtlEnterCriticalSection@4+0x150

uTorrent.exe+0x3f387

uTorrent.exe+0x3e43f

ntdll.dll!___RtlUserThreadStart@8+0x70

ntdll.dll!__RtlUserThreadStart@8+0x1b

uTorrrent.exe+0x72f4f:

ntoskrnl.exe!KiSwapContext+0x7a

ntoskrnl.exe!KiCommitThreadWait+0x1d2

ntoskrnl.exe!KeWaitForSingleObject+0x19f

ntoskrnl.exe!KiSuspendThread+0x54

ntoskrnl.exe!KiDeliverApc+0x201

ntoskrnl.exe!KiCommitThreadWait+0x3dd

ntoskrnl.exe!KeWaitForSingleObject+0x19f

ntoskrnl.exe!NtWaitForSingleObject+0xde

ntoskrnl.exe!KiSystemServiceCopyEnd+0x13

wow64cpu.dll!CpupSyscallStub+0x9

wow64cpu.dll!Thunk0ArgReloadState+0x23

wow64.dll!RunCpuSimulation+0xa

wow64.dll!Wow64LdrpInitialize+0x429

ntdll.dll!??_C@_0BN@KLOBBEB@Enabling?5heap?5debug?5options?6?$AA@FNODOBFM@+0x29364

ntdll.dll!LdrInitializeThunk+0xe

ntdll.dll!_NtWaitForSingleObject@12+0x15

ntdll.dll!_RtlpWaitOnCriticalSection@8+0x13e <<< Thread waiting on critical section

ntdll.dll!_RtlEnterCriticalSection@4+0x150

uTorrent.exe+0x3f37b

Is this a known issue?

Also are public symbols for uTorrent available? That would help with providing more info if needed.

Link to comment
Share on other sites

@c64pet: could you post a dump (or minidump) of the process when this happens?

if you don't want to post it in the forum, feel free to email me directly at arvid@bittorrent.com

to quote firon "When it hangs, open task manager, right click on utorrent.exe and hit 'Create Dump File'. Compress that file, then upload it to mediafire.com and email me the link."

thanks!

Link to comment
Share on other sites

I registered on this forum just to confirm the deadlock issue on build 27120. This issue caused my ESXi v4.1 U2 host to lock up badly. vmkernel logs showed many SCSILinuxAbortCommands failed errors. I thought it was my RR4320 acting up, and I even changed all RAID 5 disks... and it was still freezing up when I downloaded anything using uTorrent. Now, I updated to build 27167 and it's been hours and no lock up. Lets hope that it doesn't happen again.

Link to comment
Share on other sites

I actually am still hitting a deadlock issue after upgrading to the beta version 3.2 build 27191.

@Firon: I've sent a minidump to you and arvid.

0:000> ~*k

. 0 Id: 3474.9938 Suspend: 0 Teb: 7efdd000 Unfrozen
ChildEBP RetAddr
0036f240 77a28df4 ntdll!NtWaitForSingleObject+0x15
0036f2a4 77a28cd8 ntdll!RtlpWaitOnCriticalSection+0x13e
0036f2cc 0044535f ntdll!RtlEnterCriticalSection+0x150
WARNING: Stack unwind information not available. Following frames may be wrong.
0036f2f8 004c6f2f uTorrent+0x4535f
0036f648 004cc098 uTorrent+0xc6f2f
0036f6d8 0046eba3 uTorrent+0xcc098
0036f714 0046de67 uTorrent+0x6eba3
0036f734 0046dd88 uTorrent+0x6de67
0036f75c 76cf62fa uTorrent+0x6dd88
0036f788 76cf6d3a user32!InternalCallWinProc+0x23
0036f800 76cf77c4 user32!UserCallWinProcCheckWow+0x109
0036f860 76cf788a user32!DispatchMessageWorker+0x3bc
0036f870 0046dcd3 user32!DispatchMessageW+0xf
0036f8a8 004cd2c6 uTorrent+0x6dcd3
0036fe58 76ac9d45 uTorrent+0xcd2c6
0036fe90 004cd37f msvcrt!malloc+0x8d
0036feec 004f7f44 uTorrent+0xcd37f
0036ff88 76b8339a uTorrent+0xf7f44
0036ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0036ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0036ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

1 Id: 3474.8a44 Suspend: 0 Teb: 7efda000 Unfrozen
ChildEBP RetAddr
0323fdf4 77a42f51 ntdll!ZwWaitForMultipleObjects+0x15
0323ff88 76b8339a ntdll!TppWaiterpThread+0x33d
0323ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0323ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0323ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

2 Id: 3474.8b8c Suspend: 0 Teb: 7efd7000 Unfrozen
ChildEBP RetAddr
0351fe80 77a28df4 ntdll!NtWaitForSingleObject+0x15
0351fee4 77a28cd8 ntdll!RtlpWaitOnCriticalSection+0x13e
0351ff0c 0044535f ntdll!RtlEnterCriticalSection+0x150
WARNING: Stack unwind information not available. Following frames may be wrong.
0351ff64 00440c08 uTorrent+0x4535f
0351ff80 00440c58 uTorrent+0x40c08
00000000 00000000 uTorrent+0x40c58

3 Id: 3474.709c Suspend: 0 Teb: 7efaf000 Unfrozen
ChildEBP RetAddr
03b0fe5c 77a28df4 ntdll!NtWaitForSingleObject+0x15
03b0fec0 77a28cd8 ntdll!RtlpWaitOnCriticalSection+0x13e
03b0fee8 0044538c ntdll!RtlEnterCriticalSection+0x150
WARNING: Stack unwind information not available. Following frames may be wrong.
03b0ff00 004441b5 uTorrent+0x4538c
03b0ff88 76b8339a uTorrent+0x441b5
03b0ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
03b0ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
03b0ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

4 Id: 3474.4214 Suspend: 1 Teb: 7efac000 Unfrozen
ChildEBP RetAddr
03defd28 00445461 ntdll!RtlEnterCriticalSection+0x17
WARNING: Stack unwind information not available. Following frames may be wrong.
03defd58 00408162 uTorrent+0x45461
03defde4 0049e9f6 uTorrent+0x8162
03deff4c 00479f19 uTorrent+0x9e9f6
03deff58 0047a111 uTorrent+0x79f19
03deff84 0047a14f uTorrent+0x7a111
03deff88 76b8339a uTorrent+0x7a14f
03deff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
03deffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
03deffec 00000000 ntdll!_RtlUserThreadStart+0x1b

5 Id: 3474.3cc8 Suspend: 0 Teb: 7efa6000 Unfrozen
ChildEBP RetAddr
0472fdc0 77a28df4 ntdll!NtWaitForSingleObject+0x15
0472fe24 77a28cd8 ntdll!RtlpWaitOnCriticalSection+0x13e
0472fe4c 0044535f ntdll!RtlEnterCriticalSection+0x150
WARNING: Stack unwind information not available. Following frames may be wrong.
0472ff88 76b8339a uTorrent+0x4535f
0472ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0472ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0472ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

6 Id: 3474.81c Suspend: 0 Teb: 7ef97000 Unfrozen
ChildEBP RetAddr
0558fe80 769e0a91 ntdll!NtWaitForSingleObject+0x15
0558feec 76b81194 KERNELBASE!WaitForSingleObjectEx+0x98
0558ff04 76b81148 kernel32!WaitForSingleObjectExImplementation+0x75
0558ff18 768ab86d kernel32!WaitForSingleObject+0x12
0558ff34 7687a56d ole32!CDllHost::MTAWorkerLoop+0x2b [d:\w7rtm\com\ole32\com\objact\dllhost.cxx @ 876]
0558ff54 7687a4ac ole32!CDllHost::WorkerThread+0xd0 [d:\w7rtm\com\ole32\com\objact\dllhost.cxx @ 825]
0558ff5c 7688cd48 ole32!DLLHostThreadEntry+0xd [d:\w7rtm\com\ole32\com\objact\dllhost.cxx @ 758]
0558ff78 7688d87a ole32!CRpcThread::WorkerLoop+0x26 [d:\w7rtm\com\ole32\com\dcomrem\threads.cxx @ 257]
0558ff88 76b8339a ole32!CRpcThreadCache::RpcWorkerThreadEntry+0x16 [d:\w7rtm\com\ole32\com\dcomrem\threads.cxx @ 63]
0558ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0558ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0558ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

7 Id: 3474.5a34 Suspend: 0 Teb: 7ef8e000 Unfrozen
ChildEBP RetAddr
06dcfedc 76cf790d user32!NtUserGetMessage+0x15
06dcfef8 7687a44e user32!GetMessageW+0x33
06dcff38 7687853b ole32!CDllHost::STAWorkerLoop+0x81 [d:\w7rtm\com\ole32\com\objact\dllhost.cxx @ 957]
06dcff54 7687a4ac ole32!CDllHost::WorkerThread+0xd0 [d:\w7rtm\com\ole32\com\objact\dllhost.cxx @ 825]
06dcff5c 7688cd48 ole32!DLLHostThreadEntry+0xd [d:\w7rtm\com\ole32\com\objact\dllhost.cxx @ 758]
06dcff78 7688d87a ole32!CRpcThread::WorkerLoop+0x26 [d:\w7rtm\com\ole32\com\dcomrem\threads.cxx @ 257]
06dcff88 76b8339a ole32!CRpcThreadCache::RpcWorkerThreadEntry+0x16 [d:\w7rtm\com\ole32\com\dcomrem\threads.cxx @ 63]
06dcff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
06dcffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
06dcffec 00000000 ntdll!_RtlUserThreadStart+0x1b

8 Id: 3474.15ec Suspend: 0 Teb: 7ef88000 Unfrozen
ChildEBP RetAddr
07edfec0 76cf790d user32!NtUserGetMessage+0x15
07edfedc 00463dfa user32!GetMessageW+0x33
WARNING: Stack unwind information not available. Following frames may be wrong.
07edff88 76b8339a uTorrent+0x63dfa
07edff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
07edffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
07edffec 00000000 ntdll!_RtlUserThreadStart+0x1b

9 Id: 3474.a5f8 Suspend: 0 Teb: 7ef85000 Unfrozen
ChildEBP RetAddr
081bfe40 769e0bdd ntdll!ZwWaitForMultipleObjects+0x15
081bfedc 76b81a2c KERNELBASE!WaitForMultipleObjectsEx+0x100
081bff24 76b84208 kernel32!WaitForMultipleObjectsExImplementation+0xe0
081bff40 0046b980 kernel32!WaitForMultipleObjects+0x18
WARNING: Stack unwind information not available. Following frames may be wrong.
081bff84 0046ba30 uTorrent+0x6b980
081bff94 77a29ef2 uTorrent+0x6ba30
081bffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
081bffec 00000000 ntdll!_RtlUserThreadStart+0x1b

10 Id: 3474.41fc Suspend: 0 Teb: 7ef73000 Unfrozen
ChildEBP RetAddr
0a53fa30 773f75df ntdll!ZwAlpcSendWaitReceivePort+0x12
0a53fa64 773f7a7f rpcrt4!LRPC_CASSOCIATION::AlpcSendWaitReceivePort+0x5d
0a53fabc 773f7982 rpcrt4!LRPC_BASE_CCALL::DoSendReceive+0xa3
0a53fad4 77400071 rpcrt4!LRPC_BASE_CCALL::SendReceive+0x2f
0a53fae4 773f7391 rpcrt4!LRPC_CCALL::SendReceive+0x25
0a53faf4 773f804b rpcrt4!I_RpcSendReceive+0x28
0a53fb08 773f801a rpcrt4!NdrSendReceive+0x31
0a53fb14 77490149 rpcrt4!NdrpSendReceive+0x9
0a53ff28 74b8290b rpcrt4!NdrClientCall2+0x1a6
0a53ff44 74b82878 ssdpapi!GetNotificationRpc+0x1a
0a53ff88 76b8339a ssdpapi!GetNotificationLoop+0x59
0a53ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0a53ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0a53ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

11 Id: 3474.f18 Suspend: 0 Teb: 7ef61000 Unfrozen
ChildEBP RetAddr
0b9cf9b8 77a28df4 ntdll!NtWaitForSingleObject+0x15
0b9cfa1c 77a28cd8 ntdll!RtlpWaitOnCriticalSection+0x13e
0b9cfa44 0044535f ntdll!RtlEnterCriticalSection+0x150
WARNING: Stack unwind information not available. Following frames may be wrong.
0b9cfa78 004f1203 uTorrent+0x4535f
0b9cfcd8 77a20358 uTorrent+0xf1203
0b9cfd6c 004458ec ntdll!LdrGetProcedureAddressEx+0xca
0b9cfd84 00000000 uTorrent+0x458ec

12 Id: 3474.7f74 Suspend: 0 Teb: 7ef91000 Unfrozen
ChildEBP RetAddr
0949fa7c 72276f0f ntdll!NtWaitForSingleObject+0x15
0949fabc 72276d30 mswsock!SockWaitForSingleObject+0x1ba
0949fba8 757b6a28 mswsock!WSPSelect+0x3a6
0949fc28 76ec3c16 ws2_32!select+0x494
0949ff80 76ed97cb wininet!ICAsyncThread::SelectThread+0x25a
0949ff88 76b8339a wininet!ICAsyncThread::SelectThreadWrapper+0xd
0949ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0949ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0949ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

13 Id: 3474.3928 Suspend: 0 Teb: 7ef8b000 Unfrozen
ChildEBP RetAddr
2d68fea0 769e0a91 ntdll!NtWaitForSingleObject+0x15
2d68ff0c 76b81194 KERNELBASE!WaitForSingleObjectEx+0x98
2d68ff24 6b4c33b7 kernel32!WaitForSingleObjectExImplementation+0x75
2d68ff88 76b8339a rasman!RasmanServiceMonitorThread+0xe7
2d68ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
2d68ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
2d68ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

14 Id: 3474.4c80 Suspend: 0 Teb: 7ef82000 Unfrozen
ChildEBP RetAddr
2cd9fe28 77a43352 ntdll!NtWaitForWorkViaWorkerFactory+0x12
2cd9ff88 76b8339a ntdll!TppWorkerThread+0x216
2cd9ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
2cd9ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
2cd9ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

15 Id: 3474.182c Suspend: 0 Teb: 7efa3000 Unfrozen
ChildEBP RetAddr
0849fe28 77a43352 ntdll!NtWaitForWorkViaWorkerFactory+0x12
0849ff88 76b8339a ntdll!TppWorkerThread+0x216
0849ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0849ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0849ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

16 Id: 3474.354c Suspend: 0 Teb: 7efa0000 Unfrozen
ChildEBP RetAddr
091bfe28 77a43352 ntdll!NtWaitForWorkViaWorkerFactory+0x12
091bff88 76b8339a ntdll!TppWorkerThread+0x216
091bff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
091bffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
091bffec 00000000 ntdll!_RtlUserThreadStart+0x1b

17 Id: 3474.83cc Suspend: 0 Teb: 7ef9a000 Unfrozen
ChildEBP RetAddr
0a99fe28 77a43352 ntdll!NtWaitForWorkViaWorkerFactory+0x12
0a99ff88 76b8339a ntdll!TppWorkerThread+0x216
0a99ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0a99ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0a99ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

18 Id: 3474.d7c Suspend: 0 Teb: 7ef9d000 Unfrozen
ChildEBP RetAddr
0977fe28 77a43352 ntdll!NtWaitForWorkViaWorkerFactory+0x12
0977ff88 76b8339a ntdll!TppWorkerThread+0x216
0977ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
0977ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
0977ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

19 Id: 3474.8b80 Suspend: 0 Teb: 7ef94000 Unfrozen
ChildEBP RetAddr
2c8afe28 77a43352 ntdll!NtWaitForWorkViaWorkerFactory+0x12
2c8aff88 76b8339a ntdll!TppWorkerThread+0x216
2c8aff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
2c8affd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
2c8affec 00000000 ntdll!_RtlUserThreadStart+0x1b

20 Id: 3474.1ad0 Suspend: 0 Teb: 7ef7f000 Unfrozen
ChildEBP RetAddr
2f34fe28 77a43352 ntdll!NtWaitForWorkViaWorkerFactory+0x12
2f34ff88 76b8339a ntdll!TppWorkerThread+0x216
2f34ff94 77a29ef2 kernel32!BaseThreadInitThunk+0xe
2f34ffd4 77a29ec5 ntdll!__RtlUserThreadStart+0x70
2f34ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

Link to comment
Share on other sites

I actually am still hitting a deadlock issue after upgrading to the beta version 3.2 build 27191.

@Firon: I've sent a minidump to you and arvid.

Can you reproduce this with the latest build of 3.2? (currently 27215). It's usually a little easier to debug on the newest version, though I'm sure your deadlock is still there.

Link to comment
Share on other sites

I've been trying 3.2 build 27226 for the last 5 days and the issues seem to be addressed. Many thanks!

Just to give some perspective, this is the first time I'm able to run version 3 since I upgraded about 1.5 months ago, for longer than a day without a crash or hang. Really appreciate you looking into these.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...