aMule Forum
English => Multiplatform => Mac OSX => Topic started by: Wacko on August 31, 2006, 09:38:02 AM
-
Hello guys!
I just downloaded the latest version of aMule and installed on a Intel based iMac Core Duo (OSX 10.4.7).
The program runs Ok, but at the time the screen is turned off aMule hangs.
Is there any solution for this problem?
Thank you very much.
Regards
-
There has been a somewhat obscure similar report here (http://forum.amule.org/thread.php?threadid=10755), unfortunately the original poster never got back to us.
Maybe you can do a little testing to figure out what exactly is causing the problem. For instance, you can set both "sleep" and "put display to sleep" to never in 'energy saver' in the system preferences and see if the problem persists (i.e., have aMule run for 5h or so). If that fixes the problem then there might really be an issue with aMule and power management on Intel Macs. The next step would then be to leave "sleep" on never but put "display sleep" to 10min or so and see what happens when the display turns off after 10min.
If setting everything in energy saver does not fix the issue we will to some other tests to figure out what is going wrong in your machine.
Say, when you say "it hangs", you mean aMule is still running but unresponsive and you have to force-quit it, right? (in other words it does not crash, as the other person has reported)
-
Thanks for your answer lionel77.
When I say aMule hangs, I mean the app crashes. Suddenly there´s no activity on my internet connection and aMule stops responding.
As you said, I have changed options on energy saver preferences and put the iMac to "never sleep", as well as the screen.
But still having the same problem. After a few minutes, aMule crashes.
Regards
-
Ok, very good, so now we have established that your problems don't have anything to do with the energy saver settings.
Can you check that you are really running the Universal Binary version of aMule and not the Panther version? The panther version is known to run very unstable on Intel Macs. You can download the Universal Binary version here (http://www.amule.org/files/details.php?file=161).
Also, make sure you aren't running anything based on the BOINC framework (e.g. Seti@HOME) or the distributed.net client. These are known to interact badly with aMule. We don't really know why.
If you are running the Universal Binary version and the problem persists, do the following:
When aMule is frozen (showing the spinning beachball), use Activity Monitor to sample it. In Activity Monitor, double-click on the amule process. In the resulting dialog, press the Sample button. Save the sample and attach it to a reply here.
:)
-
I don´t know if this is whatyou want.
Just one thing. It is any problem if I have my shared folder on a external drive?.
Analysis of sampling pid 251 every 10.000000 milliseconds
Call graph:
290 Thread_0f07
290 start
290 _start
290 main
290 wxEntry(int&, wchar_t**)
290 wxAppBase::MainLoop()
290 wxEventLoopManual::Run()
290 wxEventLoop::Dispatch()
290 wxApp::MacDoOneEvent()
290 wxApp::MacHandleOneEvent(void*)
290 wxMacProcessNotifierAndPendingEvents
290 wxAppConsole::ProcessPendingEvents()
290 wxEvtHandler::ProcessPendingEvents()
290 wxEvtHandler::ProcessEvent(wxEvent&)
290 wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
290 wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
290 CamuleApp::OnCoreTimer(CMuleInternalEvent&)
290 CLogger::FlushPendingEntries()
290 CamuleGuiApp::NotifyEvent(GUIEvent const&)
290 CamuleDlg::AddLogLine(bool, wxString const&)
143 wxTextCtrl::AppendText(wxString const&)
143 wxTextCtrl::SetInsertionPointEnd()
141 wxMacMLTEControl::GetLastPosition() const
141 TXNGetDataEncoded
137 CEncodingTranslator::Translate(char*, unsigned long, unsigned long*, unsigned long*, unsigned long*, unsigned long, unsigned long, short, short, short*, unsigned long)
74 CEncodingTranslator::TranslateFromUnicodeToScriptRun(char*, long, unsigned long*, short*)
74 ConvertFromUnicodeToScriptCodeRun
72 ConvertFromUnicodeToTextRunImplementation
26 UmapScanUCharElement
16 UmapScanUCharElement
8 UprpLookupElemDirClass
8 UprpLookupElemDirClass
2 __i686.get_pc_thunk.bx
2 __i686.get_pc_thunk.bx
25 UmapUCharElementToBChars
14 UmapLookupFromUnicode
14 UmapLookupFromUnicode
11 UmapUCharElementToBChars
18 ConvertFromUnicodeToTextRunImplementation
3 UmapSetLookupInfo
3 UmapSetLookupInfo
2 UmapScanUCharElement
2 UmapScanUCharElement
63 CEncodingTranslator::TranslateFromUnicode(char*, long, unsigned long*, unsigned long*, unsigned long*, unsigned long, short, short)
61 ConvertFromUnicodeToTextImplementation
23 UmapScanUCharElement
11 UmapScanUCharElement
9 UprpLookupElemDirClass
9 UprpLookupElemDirClass
3 __i686.get_pc_thunk.bx
3 __i686.get_pc_thunk.bx
23 UmapUCharElementToBChars
12 UmapUCharElementToBChars
11 UmapLookupFromUnicode
11 UmapLookupFromUnicode
13 ConvertFromUnicodeToTextImplementation
1 UmapLookupFromUnicode
1 UmapLookupFromUnicode
1 UprpLookupElemDirClass
1 UprpLookupElemDirClass
2 UmapScanUCharElement
2 UmapScanUCharElement
4 TXNGetData
4 __memcpy
4 __memcpy
2 wxTextCtrl::SetInsertionPoint(long)
2 wxMacMLTEControl::SetSelection(long, long)
2 TXNSetSelection
2 CTextension::SetSelectionRange(TCharOffsetRange const&, unsigned char, unsigned char, unsigned char)
2 CSelection::SetSelectionRange(TCharOffsetRange const&, unsigned char, unsigned char)
2 CTextension::SpellCheckInsertedText(TCharOffsetRange&, unsigned char)
2 CSpellChecker::CheckSpelling(TCharOffsetRange const*, __CFArray const**, unsigned char*)
2 InitCocoaApplication
2 -[NSSpellChecker checkSpellingOfString:startingAt:language:wrap:inSpellDocumentWithTag:wordCount:]
2 -[NSSpellChecker checkSpellingOfString:startingAt:language:wrap:inSpellDocumentWithTag:wordCount:reconnectOnError:]
2 -[NSSpellChecker _chunkAndFindMisspelledWordInString:language:learnedDictionaries:wordCount:usingSpellServer:]
2 _objc_msgForward
2 -[NSObject(NSForwardInvocation) forward::]
2 -[NSConnection sendInvocation:]
2 CFRunLoopRunInMode
2 CFRunLoopRunSpecific
1 __CFMachPortPerform
1 __NSFireMachPort
1 +[NSMachPort parseMachMessage:localPort:remotePort:msgid:components:]
1 +[NSData allocWithZone:]
1 +[NSData allocWithZone:]
1 mach_msg_trap
1 mach_msg_trap
141 wxMacMLTEControl::GetLastPosition() const
141 TXNGetDataEncoded
137 CEncodingTranslator::Translate(char*, unsigned long, unsigned long*, unsigned long*, unsigned long*, unsigned long, unsigned long, short, short, short*, unsigned long)
76 CEncodingTranslator::TranslateFromUnicodeToScriptRun(char*, long, unsigned long*, short*)
76 ConvertFromUnicodeToScriptCodeRun
76 ConvertFromUnicodeToTextRunImplementation
24 UmapScanUCharElement
16 UmapScanUCharElement
7 UprpLookupElemDirClass
7 UprpLookupElemDirClass
1 __i686.get_pc_thunk.bx
1 __i686.get_pc_thunk.bx
24 UmapUCharElementToBChars
19 UmapLookupFromUnicode
17 UmapLookupFromUnicode
1 LookupUmapBCharOrOffset
1 LookupUmapBCharOrOffset
1 bsearch
1 CompareUmapUBkey
1 CompareUmapUBkey
5 UmapUCharElementToBChars
21 ConvertFromUnicodeToTextRunImplementation
4 UmapSetLookupInfo
4 UmapSetLookupInfo
1 UmapLookupFromUnicode
1 UmapLookupFromUnicode
1 UprpLookupElemDirClass
1 UprpLookupElemDirClass
1 __i686.get_pc_thunk.bx
1 __i686.get_pc_thunk.bx
61 CEncodingTranslator::TranslateFromUnicode(char*, long, unsigned long*, unsigned long*, unsigned long*, unsigned long, short, short)
60 ConvertFromUnicodeToTextImplementation
22 ConvertFromUnicodeToTextImplementation
22 UmapScanUCharElement
13 UmapScanUCharElement
8 UprpLookupElemDirClass
8 UprpLookupElemDirClass
1 __i686.get_pc_thunk.bx
1 __i686.get_pc_thunk.bx
14 UmapUCharElementToBChars
9 UmapLookupFromUnicode
9 UmapLookupFromUnicode
5 UmapUCharElementToBChars
1 UprpLookupElemDirClass
1 UprpLookupElemDirClass
1 __i686.get_pc_thunk.bx
1 __i686.get_pc_thunk.bx
1 UmapScanUCharElement
1 UmapScanUCharElement
4 TXNGetData
2 SetHandleSize
2 CSMemSetHandleSize
1 malloc_size
1 szone_size
1 szone_size
1 realloc
1 szone_realloc
1 __memcpy
1 __memcpy
2 __memcpy
2 __memcpy
3 wxTextCtrl::WriteText(wxString const&)
3 wxMacMLTEControl::WriteText(wxString const&)
3 wxMacMLTEControl::SetTXNData(wxString const&, unsigned long, unsigned long)
2 TXNSetData
1 DoSetDataCommand(OpaqueTXNObject*, unsigned long, unsigned long, TReplaceParams*)
1 OpaqueTXNObject::NewCommand(short, AttrObjModifier const*, TKeyDownParams*, TReplaceParams*)
1 OpaqueTXNObject::ExecuteCurrCommand()
1 CTextensionCommand::Execute(short*)
1 CTextensionEditCommand::DoIt(short*)
1 CReplaceTextCommand::DoMainAction()
1 CUnicodeTextension::ReplaceRange(long, long, TReplaceParams const&, unsigned char, unsigned char)
1 CUnicodeTextension::UnicodeReplaceRange(long, long, TReplaceParams const&, unsigned char, unsigned char)
1 CFormatter::ReplaceRange(long, long, long, long*, long*)
1 CFormatter::Format(long, long, long*, long*)
1 CFormatter::FormatRange(long, long, long*, long*)
1 CFormatter::BatchBreakLines(long, long, long*, long*)
1 CTextLayoutRanges::BatchBreakLines(unsigned long, short, void*, void*)
1 ATSULineBreakEngine
1 TTextLineLayout::LineBreakEngine(unsigned long, unsigned long, ATSULineBreakPB*, bool (*)(ATSULineBreakPB*, void*), void*)
1 TTextLineLayout::ConstructAndLayoutGlyphArray(TATSUGlyphRecordArray*, ATSLineLayoutLineParams*, TLayoutControls*, long, unsigned long)
1 TTextLineLayout::ConstructGlyphRecordArray(TATSUGlyphRecordArray*, TLayoutControls*)
1 TTextLineLayout::RunBidirectionalAlgorithm(TATSUGlyphRecordArray*, unsigned char, unsigned char)
1 UnicodeBiDi::GetClass(unsigned short const*, unsigned short const*, unsigned short const*)
1 UnicodeBiDi::GetClass(unsigned short const*, unsigned short const*, unsigned short const*)
1 OpaqueTXNObject::ShowSelection(unsigned char, unsigned char)
1 CTextensionDisplay::Scroll(TLongPoint*)
1 CTextensionDisplay::CompositingScroll(TLongPoint*)
1 CTextensionDisplay::BroadcastInvalidatedArea()
1 CTextension::BroadcastInvalidatedArea(Rect*)
1 TUnicodeText::ClassInvalidationProc(Rect*, long)
1 HIView::Invalidate(CGRect const&)
1 HIShapeCreateWithRect
1 CGSNewRegionWithRect
1 CGSNewRegion
1 malloc_zone_calloc
1 __bzero
1 __bzero
1 free
1 free
2 wxMacMLTEControl::ShowPosition(long)
1 TXNOffsetToPoint
1 CTextensionDisplay::CharToPoint(TCharOffset, short*)
1 CTextensionDisplay::CharToPoint(TCharOffset, long*, long*, short*)
1 CTextensionDisplay::DoLineLayout(long, unsigned char)
1 CLine::DoLineLayout(long, unsigned long, short, short, unsigned char)
1 CLine::DefineRunWidths(CArray*, long, unsigned char)
1 CLine::RunMeasure(LineRunInfo const*)
1 CUnicodeTextRun::MeasureWidth(LineRunDisplayInfo const&)
1 ATSUGetUnjustifiedBounds
1 TTextLineLayout::MeasureText(unsigned long, unsigned long, long*, long*, long*, long*)
1 TTextLineLayout::ConstructAndLayoutGlyphArray(TATSUGlyphRecordArray*, ATSLineLayoutLineParams*, TLayoutControls*, long, unsigned long)
1 TTextLineLayout::LayoutGlyphVector(TATSUGlyphRecordArray*, ATSLineLayoutLineParams*, TLayoutControls*, long, unsigned long)
1 ATSULayoutGlyphs(TATSUGlyphRecordArray*, ATSLineLayoutLineParams*, long, ATSUTab const*, unsigned long, __CFString const*, unsigned short const*, unsigned long, unsigned long)
1 LLCLayoutText
1 _eLLCLayoutText
1 ApplyMorph
1 LookupMorxTableInFont
1 LookupMorxTableInFont
1 TXNShowSelection
1 OpaqueTXNObject::ShowSelection(unsigned char, unsigned char)
1 CTextensionDisplay::Scroll(TLongPoint*)
1 CTextensionDisplay::CompositingScroll(TLongPoint*)
1 CTextensionDisplay::BroadcastInvalidatedArea()
1 CTextension::BroadcastInvalidatedArea(Rect*)
1 TUnicodeText::ClassInvalidationProc(Rect*, long)
1 HIView::Invalidate(__HIShape const*)
1 HIView::Invalidate(__HIShape const*)
1 wxDateTime::Format(wchar_t const*, wxDateTime::TimeZone const&) const
1 CallStrftime(wchar_t const*, tm const*)
1 wxStrftime(wchar_t*, unsigned long, wchar_t const*, tm const*)
1 wxMBConv::cMB2WC(char const*) const
1 wxMB2WC(wchar_t*, char const*, unsigned long)
1 mbsrtowcs
1 _UTF8_mbsnrtowcs
1 _UTF8_mbsnrtowcs
290 Thread_1003
290 _pthread_body
290 PrivateMPEntryPoint
290 wxThreadInternal::MacThreadStart(void*)
289 UploadBandwidthThrottler::Entry()
156 wxMutexInternal::Unlock()
150 MPYield
149 TSYield
149 swtch_pri
149 swtch_pri
1 sched_yield
1 sched_yield
4 MPExitCriticalRegion
2 TSLockMutex
2 pthread_mutex_lock
2 pthread_mutex_lock
1 RetrieveDataFromOpaqueID
1 __spin_lock
1 __spin_lock
1 pthread_mutex_lock
1 pthread_mutex_lock
1 RetrieveDataFromOpaqueID
1 RetrieveDataFromOpaqueID
1 wxMutexInternal::Unlock()
118 wxThread::Sleep(unsigned long)
118 mach_wait_until
118 mach_wait_until
8 UploadBandwidthThrottler::Entry()
4 wxMutexInternal::Lock()
3 MPEnterCriticalRegion
2 RetrieveDataFromOpaqueID
1 TSLockMutex
1 __spin_lock
1 __spin_lock
1 pthread_mutex_unlock
1 pthread_mutex_unlock
1 MPEnterCriticalRegion
1 wxMutexInternal::Lock()
2 std::deque >::clear()
2 std::deque >::clear()
1 MPYield
1 MPYield
1 GetTickCountFullRes()
1 GetTickCountFullRes()
290 Thread_1103
290 _pthread_body
290 select
290 select
290 Thread_1203
290 _pthread_body
290 PrivateMPEntryPoint
290 wxThreadInternal::MacThreadStart(void*)
290 CTimerThread::Entry()
290 wxSemaphoreInternal::WaitTimeout(unsigned long)
290 MPWaitOnSemaphore
290 semaphore_timedwait_signal_trap
290 semaphore_timedwait_signal_trap
290 Thread_1303
290 _pthread_body
290 PrivateMPEntryPoint
290 wxThreadInternal::MacThreadStart(void*)
290 CAddFileThread::Entry()
240 CAddFileThread::CreateNextPartHash(CFile*, CKnownFile*, bool)
124 CFileDataIO::Read(void*, unsigned long) const
124 read
124 read
115 CKnownFile::CreateHashFromInput(CFileDataIO*, unsigned, unsigned char*, unsigned char*, CAICHHashTree*) const
74 CSHA::Add(void const*, unsigned)
71 CSHA::Compile()
71 CSHA::Compile()
2 __memcpy
2 __memcpy
1 CSHA::Add(void const*, unsigned)
38 CryptoPP::IteratedHashBase::Update(unsigned char const*, unsigned)
37 CryptoPP::IteratedHashBase::HashMultipleBlocks(unsigned const*, unsigned)
25 CryptoPP::MD4::Transform(unsigned*, unsigned const*)
12 CryptoPP::MD4::Transform(unsigned*, unsigned const*)
8 unsigned CryptoPP::rotlFixed(unsigned, unsigned)
8 unsigned CryptoPP::rotlFixed(unsigned, unsigned)
5 __i686.get_pc_thunk.bx
5 __i686.get_pc_thunk.bx
9 unsigned CryptoPP::rotlFixed(unsigned, unsigned)
9 unsigned CryptoPP::rotlFixed(unsigned, unsigned)
2 0x870e7e
2 0x870e7e
1 CryptoPP::IteratedHashBase::HashMultipleBlocks(unsigned const*, unsigned)
1 CryptoPP::IteratedHashWithStaticTransform, (unsigned)64, (unsigned)16, CryptoPP::MD4, (unsigned)16>::HashEndianCorrectedBlock(unsigned const*)
1 CryptoPP::IteratedHashWithStaticTransform, (unsigned)64, (unsigned)16, CryptoPP::MD4, (unsigned)16>::HashEndianCorrectedBlock(unsigned const*)
3 CFileDataIO::Read(void*, unsigned long) const
3 CMemFile::doRead(void*, unsigned long) const
3 __memcpy
3 __memcpy
1 free
1 szone_free
1 vm_deallocate
1 mach_msg_trap
1 mach_msg_trap
50 CAICHHashSet::SaveHashSet()
18 lseek
18 lseek
13 CAICHHash::Read(CFileDataIO*)
13 CFileDataIO::Read(void*, unsigned long) const
12 read
12 read
1 CFile::doRead(void*, unsigned long) const
1 CFile::IsOpened() const
1 CFile::IsOpened() const
12 CFileDataIO::Seek(long long, wxSeekMode) const
11 lseek
11 lseek
1 CFile::doSeek(long long) const
1 CFile::doSeek(long long) const
5 CFileDataIO::ReadUInt16() const
5 CFileDataIO::Read(void*, unsigned long) const
5 read
5 read
2 CAICHHashSet::SaveHashSet()
Total number in stack (recursive counted multiple, when >=5):
7 UmapScanUCharElement
7 UprpLookupElemDirClass
7 __i686.get_pc_thunk.bx
6 UmapLookupFromUnicode
5 __memcpy
Sort by top of stack, same collapsed (when >= 5):
select 290
semaphore_timedwait_signal_trap 290
swtch_pri 149
read 141
mach_wait_until 118
CSHA::Compile() 71
UmapScanUCharElement 61
UmapLookupFromUnicode 53
ConvertFromUnicodeToTextRunImplementation 39
ConvertFromUnicodeToTextImplementation 35
UprpLookupElemDirClass 35
UmapUCharElementToBChars 33
lseek 29
unsigned CryptoPP::rotlFixed(unsigned, unsigned) 17
__i686.get_pc_thunk.bx 14
CryptoPP::MD4::Transform(unsigned*, unsigned const*) 12
__memcpy 12
UploadBandwidthThrottler::Entry() 8
UmapSetLookupInfo 7
Sample analysis of process 251 written to file /dev/stdout
Sampling process 251 each 10 msecs 300 times
-
@wacko:
I just reformatted your above post so that the sampling output is better legible.
Originally posted by Wacko
Just one thing. It is any problem if I have my shared folder on a external drive?.
If the drive is formatted in the standard Mac file format (HFS+) and hooked up via firewire or usb2 (rather than usb1), this should not be a problem. My aMule runs completely off of an external firewire drive.
Let me just quickly double-check with you, because this is really important: You are running the Universal Binary version of aMule that I linked above, right?
And you also don't run any BOINC based clients on your machine, right?
I hope ken will be stumble upon this thread soon, as he would probably be able to make sense out of your sampling output. Plus, he just always seems to have the right idea for a given problem.
-
Wacko, have you turned on debug logging options? Is your log (in the Networks screen of aMule) getting a lot of text in it?
The sample you've given shows that aMule is spending all of its time appending data to the end of that log text area. There's a known problem with wxWidgets (on which aMule is based) adding text to that type of control when it's very full. Normally this is not a problem because there's rarely so much written to that log that it gets very full. So, I wonder why it's getting full for you.
-
Wacko, have you turned on debug logging options? Is your log (in the Networks screen of aMule) getting a lot of text in it?
The sample you've given shows that aMule is spending all of its time appending data to the end of that log text area. There's a known problem with wxWidgets (on which aMule is based) adding text to that type of control when it's very full. Normally this is not a problem because there's rarely so much written to that log that it gets very full. So, I wonder why it's getting full for you.
Hey, I just profiled my build with Shark and found the same thing (http://trac.wxwidgets.org/ticket/9012). It's the debug logging causing all the slowdown. Go figure =P
BTW, the bulk of the debug messages come from the ipfilter, natch.