µTorrent Community
You are not logged in.
As you might know, there's finally a beta version available for Mac users. I though this thread would be good, so that Mac user like me can give feedback and report bug found in the beta, since there's no specific Mac forum/section.
To start the topic, I've found one problem.
Desciption of the problem: uTorrent will use 100% of the CPU, so the fan will turn on at full speed, even if there's no active torrents.
Operating System: Mac OS X 10.5.5
Platform: Mactel (Intel based Macintosh)
Let me know if you need further informations.
Offline
Moved to the Mac forum. To prevent this thread from becoming a conglomerate bug reporting thread (that's never a good thing), I've split the posts up.
Offline
I have the same issue. I just downloaded µTorrent from the beta page. When I started it up, it was using 100% CPU. I waited to see if it was some temporary thing, but CPU usage never went down.
As I'm on a laptop, I can't use uTorrent with all the fans running, so I hope this gets fixed soon.
Mac OS X 10.5.5 / 32-bit Intel (Core Duo).
Last edited by unsound (2008-11-26 17:52:50)
Offline
Have you ever run the leaked builds? Does it still happen if you clear the preferences (delete /Users/username/Library/Preferences/com.bittorrent.µTorrent.plist and /Users/username/Library/Application Support/uTorrent)? Can you take a sample and post it? (Open Activity Monitor, select uTorrent and hit 'Sample')
Offline
Here is the sample from the activity monitor
Sampling process 13637 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling uTorrent (pid 13637) every 1 millisecond
Call graph:
1894 Thread_2503
1894 start
1894 NSApplicationMain
1894 -[NSApplication run]
1894 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
1894 _DPSNextEvent
1894 BlockUntilNextEventMatchingListInMode
1894 ReceiveNextEventCommon
1894 RunCurrentEventLoopInMode
1894 CFRunLoopRunInMode
1894 CFRunLoopRunSpecific
1876 mach_msg
1876 mach_msg_trap
1876 mach_msg_trap
11 __CFRunLoopDoObservers
11 _handleWindowNeedsDisplay
11 -[NSWindow displayIfNeeded]
11 -[NSView displayIfNeeded]
11 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
11 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
11 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
11 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
10 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
10 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
9 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
5 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
5 -[NSView _drawRect:clip:]
4 -[NSControl drawRect:]
4 -[NSButtonCell drawInteriorWithFrame:inView:]
4 -[NSButtonCell _configureAndDrawTitleWithRect:cellFrame:controlView:]
3 -[NSButtonCell drawTitle:withFrame:inView:]
3 -[NSAttributedString(NSStringDrawingExtension) _drawCenteredVerticallyInRect:scrollable:]
3 _NSStringDrawingCore
3 __NSCreateRenderingContextForAttributedString
1 -[NSMutableAttributedString(NSMutableAttributedStringKitAdditions) fixAttributesInRange:]
1 -[NSMutableAttributedString(NSMutableAttributedStringKitAdditions) fixFontAttributeInRange:]
1 -[NSMutableAttributedString addAttribute:value:range:]
1 -[NSAttributeDictionary mutableCopyWithZone:]
1 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]
1 -[NSObject copy]
1 -[NSCFString copyWithZone:]
1 CFStringCreateCopy
1 CFStringCreateCopy
1 -[NSSingleLineTypesetter createRenderingContextForCharacterRange:typesetterBehavior:usesScreenFonts:hasStrongRight:maximumWidth:]
1 -[NSATSTypesetter endParagraph]
1 -[NSATSTypesetter endParagraph]
1 -[_NSCachedAttributedString cache]
1 -[_NSCachedAttributedString cache]
1 -[NSButtonCell titleRectForBounds:]
1 -[NSButtonCell(NSButtonCellPrivate) _centerTitle:inRect:]
1 -[NSAttributedString(NSStringDrawingExtension) _sizeWithSize:]
1 -[NSAttributedString(NSExtendedStringDrawing) boundingRectWithSize:options:]
1 __NSCreateRenderingContextForAttributedString
1 -[NSSingleLineTypesetter createRenderingContextForCharacterRange:typesetterBehavior:usesScreenFonts:hasStrongRight:maximumWidth:]
1 -[NSATSTypesetter _layoutLineFragmentStartingWithGlyphAtIndex:characterIndex:atPoint:renderingContext:]
1 -[NSATSLineFragment layoutForStartingGlyphAtIndex:characterIndex:minPosition:maxPosition:lineFragmentRect:]
1 -[NSATSTypesetter _ctTypesetter]
1 -[NSATSGlyphStorage createCTTypesetter]
1 CTTypesetterCreateWithRunArray
1 TTypesetterRunArray::TTypesetterRunArray(__CFArray const*, __CFString const*, void const* (*)(__CTRun const*, __CFString const*, void*), void*)
1 TTypesetter::TTypesetter(TCharStream&)
1 TLine::TLine()
1 TLine::TLine()
1 CGContextRestoreGState
1 CGGStackRestore
1 CGGStateRelease
1 strokeStateRelease
1 dyld_stub_malloc_zone_free
1 dyld_stub_malloc_zone_free
3 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
3 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
1 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
1 -[NSView unlockFocus]
1 -[NSFocusStack popTopView]
1 PSgrestore
1 -[NSCFArray removeLastObject]
1 -[NSCFArray removeObjectAtIndex:]
1 _CFArrayReplaceValues
1 __CFArrayReleaseValues
1 CFRelease
1 -[NSObject release]
1 __CFDoExternRefOperation
1 CFBagContainsValue
1 __CFBagFindBuckets1a
1 __CFBagFindBuckets1a
1 objc_msgSend
1 objc_msgSend
1 -[NSConcreteMapTable objectForKey:]
1 -[NSConcreteMapTable objectForKey:]
1 -[NSView _drawRect:clip:]
1 CGSNewRegionWithRect
1 CGSNewRegion
1 CGTypeCreateInstanceWithAllocator
1 _CFRuntimeCreateInstance
1 malloc_zone_malloc
1 szone_malloc
1 tiny_malloc_from_free_list
1 tiny_malloc_from_free_list
1 -[NSView lockFocus]
1 -[NSView lockFocusIfCanDraw]
1 -[NSView _focusFromView:withContext:]
1 -[NSView _gatherFocusStateInto:upTo:withContext:]
1 -[NSView _gatherFocusStateInto:upTo:withContext:]
1 _CFRelease
1 __CFArrayReleaseValues
1 objc_msgSend
1 objc_msgSend
7 __NSFireTimer
7 -[DetailsController updateUI]
6 -[NSView displayIfNeeded]
6 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
2 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
2 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
2 -[NSView _drawRect:clip:]
2 -[NSBezierPath(Additions) linearGradientFillWithStartColor:endColor:]
2 -[NSBezierPath(Additions) customVerticalFillWithCallbacks:firstColor:secondColor:]
1 CGContextDrawShading
1 ripc_DrawShading
1 ripl_BltShade
1 argb32_shade
1 argb32_image_mark
1 argb32_image_mark
1 _CFRelease
1 __spin_lock
1 __spin_lock
2 -[NSView lockFocus]
2 -[NSView lockFocusIfCanDraw]
1 -[NSFocusStack focusView:inWindow:]
1 _NSAddAltHandler2
1 __addAltHandler2
1 __addAltHandler2
1 -[NSFocusState flush]
1 objc_msgSend
1 objc_msgSend
2 -[NSWindow flushWindow]
2 CGContextFlush
2 ripc_Operation
2 CGSDeviceSynchronize
2 _CGSFlushRegionInline
2 mach_msg
2 mach_msg_trap
2 mach_msg_trap
1 -[AvailabilityView updateData:]
1 -[NSView setNeedsDisplay:]
1 -[NSView setNeedsDisplayInRect:]
1 -[NSView convertRect:toView:]
1 -[NSView _convertRect:toAncestor:]
1 -[NSView _convertRect:toAncestor:]
1 -[NSView _convertRect:toAncestor:]
1 -[NSView _convertRect:toAncestor:]
1 -[NSView _convertRect:toAncestor:]
1 objc_msgSend
1 objc_msgSend
1894 Thread_2603
1894 thread_start
1894 _pthread_start
1894 google_breakpad::ExceptionHandler::WaitForMessage(void*)
1894 mach_msg
1894 mach_msg_trap
1894 mach_msg_trap
1894 Thread_2703
1894 thread_start
1894 _pthread_start
1894 __NSThread__main__
1894 -[NSThread main]
1894 +[BitTorrent main:]
1894 Startup(unsigned long, int, wchar_t**)
1894 LApp::message_loop()
1894 MsgQ::GetNextMessage(int)
1894 EventObject::WaitForSingleObject(int)
1894 pthread_cond_timedwait$UNIX2003
1894 __semwait_signal
1894 __semwait_signal
1894 Thread_2803
1894 thread_start
1894 _pthread_start
1894 IOThread(void*)
1894 EventObject::WaitForSingleObject(int)
1894 pthread_cond_timedwait$UNIX2003
1894 __semwait_signal
1894 __semwait_signal
1894 Thread_2903
1894 thread_start
1894 _pthread_start
1894 DnsThread(void*)
1894 EventObject::WaitForSingleObject(int)
1894 pthread_cond_timedwait$UNIX2003
1894 __semwait_signal
1894 __semwait_signal
1894 Thread_2a03
1894 thread_start
1894 _pthread_start
1894 NetworkThread(void*)
1894 Socket::NetworkEventLoop()
1033 CSocket::process_events(int)
1013 SocketProcessEvent(int)
995 UDPSocketManager::event(unsigned int)
949 UDPSocketManager::Flush(unsigned int, unsigned int)
831 sendto$UNIX2003
831 sendto$UNIX2003
37 __memcpy
37 __memcpy
25 CSocket::sendto(char const*, int, int, sockaddr*, unsigned int, int*)
11 CSocket::sendto(char const*, int, int, sockaddr*, unsigned int, int*)
7 KEVHandler::add_or_del_filter(bool)
7 KEVHandler::add_or_del_filter(bool)
7 __error
7 __error
21 cerror
8 cerror
8 cthread_set_errno_self
6 cthread_set_errno_self
2 __error
2 __error
5 __error
5 __error
19 GetTickCount()
18 gettimeofday
17 __gettimeofday
11 __nanotime
11 __nanotime
6 __gettimeofday
1 gettimeofday
1 GetTickCount()
11 UDPSocketManager::Flush(unsigned int, unsigned int)
2 SockAddr::get_sockaddr_storage(unsigned int*) const
2 SockAddr::get_sockaddr_storage(unsigned int*) const
2 _sysenter_trap
2 _sysenter_trap
1 __error
1 __error
31 GetTickCount()
26 gettimeofday
23 __gettimeofday
12 __nanotime
12 __nanotime
11 __gettimeofday
3 gettimeofday
5 GetTickCount()
11 UDPSocketManager::event(unsigned int)
4 memcpy
4 memcpy
14 SocketProcessEvent(int)
4 CSocket::get_revent_mask(unsigned int&, unsigned int&)
4 CSocket::get_revent_mask(unsigned int&, unsigned int&)
12 CSocket::process_events(int)
8 KEVHandler::add_or_del_filter(bool)
8 KEVHandler::add_or_del_filter(bool)
677 kevent
677 kevent
55 GetTickCount()
45 gettimeofday
29 __gettimeofday
15 __nanotime
15 __nanotime
14 __gettimeofday
16 gettimeofday
6 GetTickCount()
4 __commpage_gettimeofday
4 __commpage_gettimeofday
29 Socket::NetworkPostTimers(long, int)
12 TorrentSession::BtTick(unsigned int, long)
7 TorrentSession::BtTick(unsigned int, long)
5 DiskIO_CheckCompleted(bool)
5 DiskIO_CheckCompleted(bool)
5 Dns_ProcessFinished()
5 Dns_ProcessFinished()
4 BtTick(unsigned int, long)
4 BtTick(unsigned int, long)
4 URLConnection::Tick()
4 URLConnection::Tick()
2 Socket::NetworkPostTimers(long, int)
2 URLConnectionTick()
2 URLConnectionTick()
19 BtUnlock()
8 BtUnlock()
8 pthread_mutex_unlock
8 pthread_mutex_unlock
1 RMutex::unlock() const
1 RMutex::unlock() const
1 __spin_lock
1 __spin_lock
1 spin_lock
1 spin_lock
19 Socket::NetworkLoop(long)
19 Socket::NetworkLoop(long)
17 Socket::NetworkEventLoop()
11 pthread_mutex_lock
11 pthread_mutex_lock
10 CSocket::select(int)
8 CSocket::select(int)
2 kevent
2 kevent
7 UTP_CheckTimeouts(UDPSocketManager*)
7 UTP_CheckTimeouts(UDPSocketManager*)
6 GetTLS()
5 GetTLS()
1 pthread_getspecific
1 pthread_getspecific
3 __spin_lock
3 __spin_lock
3 pthread_getspecific
3 pthread_getspecific
2 spin_unlock
2 spin_unlock
1 TcpSocket::drain_connq()
1 TcpSocket::drain_connq()
1 _sysenter_trap
1 _sysenter_trap
1 dyld_stub_kevent
1 dyld_stub_kevent
1894 Thread_2b03
1894 thread_start
1894 _pthread_start
1894 __NSThread__main__
1894 -[NSThread main]
1894 kevent
1894 kevent
1894 Thread_2c03
1894 thread_start
1894 _pthread_start
1894 __NSThread__main__
1894 -[NSThread main]
1894 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
1894 CFRunLoopRunInMode
1894 CFRunLoopRunSpecific
1894 mach_msg
1894 mach_msg_trap
1894 mach_msg_trap
1894 Thread_2d03
1894 thread_start
1894 _pthread_start
1894 select$DARWIN_EXTSN
1894 select$DARWIN_EXTSN
Total number in stack (recursive counted multiple, when >=5):
10 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
8 _pthread_start
8 thread_start
5 -[NSView _convertRect:toAncestor:]
Sort by top of stack, same collapsed (when >= 5):
__semwait_signal 5682
mach_msg_trap 5666
kevent 2573
select$DARWIN_EXTSN 1894
sendto$UNIX2003 831
__nanotime 38
__memcpy 37
__gettimeofday 31
gettimeofday 20
Socket::NetworkLoop(long) 19
Socket::NetworkEventLoop() 17
KEVHandler::add_or_del_filter(bool) 15
__error 15
SocketProcessEvent(int) 14
CSocket::process_events(int) 12
GetTickCount() 12
CSocket::sendto(char const*, int, int, sockaddr*, unsigned int, int*) 11
UDPSocketManager::Flush(unsigned int, unsigned int) 11
UDPSocketManager::event(unsigned int) 11
pthread_mutex_lock 11
BtUnlock() 8
CSocket::select(int) 8
cerror 8
pthread_mutex_unlock 8
TorrentSession::BtTick(unsigned int, long) 7
UTP_CheckTimeouts(UDPSocketManager*) 7
cthread_set_errno_self 6
DiskIO_CheckCompleted(bool) 5
Dns_ProcessFinished() 5
GetTLS() 5
__spin_lock 5
Sample analysis of process 13637 written to file /dev/stdout
Offline
Something like that happened to me when I added my first torrent (about 1 gig). Now it's working fine. But was kinda scary (almost give up it)
Offline
@temporary: Does it still happen if you trash the preferences?
Offline
Removing the preference file and the directory in Application Support does not make this issue go away for me.
Notably, I have my Mac firewall configured so that I have to allow µTorrent to accept incoming connections. I got that dialog twice when I first started the program after downloading it. Could this have any effect on µTorrent's operation?
I also have PeerGuardian OS X installed and active.
Offline
I am having the same issue, and also have peerguardian active. I think it may have something to do with that.
Offline
The Mac firewall won't affect uTorrent. I've got the same setting for it.
But it's quite possible that Peerguardian can be doing something. I would recommend removing it and trying again.
Offline
Hi,
After removing PeerGuardian everything works fine.
But don't we need PeerGuardian?
Best Regards
Offline
You don't need PeerGuardian. The blocklists are maintained by someone who adds IP's based on personal grudges and refuses to remove them. utorrent.com has been blocked from the lists, as have major trackers.
Offline
Actually I do need PeerGuardian. I create custom block lists for intrusion attempts... it's quite easy and I don't want to sacrifice that. I'd rather stick with Transmission as my BT client if µTorrent won't work with PG.
Also, the block lists are fully configurable. You don't have to use whatever lists you are referring to (the bluetack lists?).
Last edited by unsound (2008-11-27 04:06:10)
Offline
PeerGuardian is blocking access to BitTorrentInc which µTorrent constantly tries to access even with "Check for updates automatically" turned off. The connection error causes µTorrent's network thread to gobble 100% CPU apparently trying to constantly access the blocked address.
1) this is a bug in µTorrent - it should not go into a CPU loop on a network error
2) why is this access to BitTorrent Inc constantly occurring even with auto-update checking turned off?
Offline
2) What about when you disable DHT? µTorrent always uses router.utorrent.com and router.bittorrent.com as DHT bootstrap nodes.
Offline
OK, that explains 2 then, but 1 is still a bug.
Thanks.
Offline
I am also having the same problem. uTorrent is using 98-100% of CPU while PG2 is active. Turning off automatically check for updates does not fix the problem. Only disabling PG2 returns uTorrent to normal CPU usage.
Offline
I think you get around the issue if you disable DHT as well.
Also PG2 is crap, it has utorrent.com in it's filters, that's why it happens.
Now, of course µTorrent shouldn't go in a loop like that, but until then, just get rid of PG2.
Offline
µUtorrent is in the Bluetack lists (the default PG lists) because it is owned by BitTorrent Inc which has made arrangements of some kind with the MPAA. Saying PG is crap because of that is like saying µUtorrent is crap because it's owned by BitTorrent Inc.
The right solution is this case is to allow the the addresses that µTorrent wants to use or disable DHT. Of course µUtorrent should fix the CPU bug.
edit: I'm on Intel (32bit), 10.5.5.
Last edited by qNation (2008-11-27 12:55:18)
Offline
There's no legit reason to ban utorrent.com in PG. The only reason it's on the blacklist is because the person that maintains it adds and keeps IP's based on personal whims. In this case, he was upset that uTorrent wasn't made open source. There is no deal with the MPAA/RIAA/any sort of organization that has BitTorrent spying on users and reporting downloads. So no need to ban utorrent.com at all.
Offline
PG is crap because it won't protect you from anything.
The same reason torrent sites can't be shut down, is the same reason anti-p2p organizations can't be blocked. They just have to move.
Also, the only reason to use PG is if you download illegally. The only way to be safe from getting caught is to stop, I would do that if it worried you so much.
Last edited by eisa01 (2008-11-27 13:03:45)
Offline
1) The default PG blocklists are maintained by Bluetack, the PG devs have no control over their content. The Bluetacks lists are used, because the PG devs don't have the resources to maintain their own lists.
2) "only reason to use PG is if you download illegally" - the same is said of all BitTorrent clients, so I guess we should all stop using them as well. For your edification, PG makes a great ad-block tool (especially for those that use multiple browsers or for browsers that don't have built-in Ad blocking) and is useful against local Apps that want to phone home.
3) The politics behind µTorrent being listed in the Bluetack lists has nothing to do with the µTorrent bug - it should be fixed.
Offline
Yes, this seems to be a bug in µTorrent/mac and we'll try to fix it.
Offline
Just an FYI, µTorrent eats CPU with any network error/block, not just the DHT seeds.
Offline