aMule Forum
English => Multiplatform => Mac OSX => Topic started by: m2kio on January 31, 2005, 06:50:18 PM
-
hi,
rc8 for Mac OSX has greatly improved, especially the 'hanging' problem and the memory leak are now (almost) gone.
thanks for all your work!
i have compiled a list of issues, i hope it is of some use.
(1)
Howto compile aMule on Mac:
- note on patching can be removed, since this patch is no longer required. this info is now only confusing.
# Copy the amule binary to the app-Container directory: cp src/amule amule.app/Contents/MacOS/ (NOTE: If the MacOS directory is missing in amule.app, create it by typing mkdir amule.app/Contents/MacOS before executing the previous command. Thanks to dan for the tip)
- directory MacOS _is_ missing.
you should add it to the distro and remove this note. (would have been same work, probably)
- it should be "aMule.app/Contents/MacOS/" (not: "amule.app/Contents/MacOS/")
you should consider releasing amule versions with (source for/instructions for building) statically linked wxwidgets.
you should consider offering a precompiled binary with statcally linked wxwidgets. you are dealing with Max users. :rolleyes: XCode is not standard software for most of us.
(2)
colors in the progress bars are sometimes really weird.
left and right block limits in the progress bars are often totally wrong.
(3)
downloads frequently start with 0.0, stay at 0.0 for 1 minute and vanish w/o any data
downloads frequently start and deliver only 11kB or 22kB, then finish
(4)
search results take a long time before showing up first results
search results have totally broken non-us-ascii characters
closing a single search result tab is not possible. (only the 'clear' button works)
(5)
window size after startup always extends beyond lower screen border, also if window opens on 2nd monitor w/o menubar
(6)
after running for some while amule starts to hang regularly (not too often) for approx. 30 sec. meanwhile beachball appears, up/dnload drops and cpu load goes to 100%
(7)
when minimized with statistics tab selected, then after maximizing again stats bars are not updated correctly. (seems like some time missing and average graph going up to maximum)
-
my humble commentary on this...
my amule (rc8 with patched/CVS wx) is working great.
Crashes and leaks are long time (well, a coupla weeks!) memories,
aMule runs for days without consuming more resources than when it was started,
some days I reach a total download of >1,5 Gb (with a shared 640 kbps aDSL) !!!
Fine.
Now to the details:
- 2) this is totally true, I wanted to post about that but never remembered.
Sometimes all gray, sometimes green, sometimes red, depends on the weather? ( :P )
- 3) I did never notice this.
- 4) right, non-ASCII problems, and not only with search results (I have to change file names because a pop-up informs that amule can't save files with non standard chars).
Yeah, tabs don't close clicking on the "X", but you can use the right click (Ctrl-Click for Apple mousers) to close a tab, the un-selected tabs or all tabs as do the "Clear button".
A weird thing: when you paste html (like text from a web page, for example) in the Name: field of the search, fonts in the field become the html ones, even if you delete the text, until you close the app.
- 5) right, also I'd like to know if I can make aMule use personalized (smaller) fonts.
Can wx be configured for that?
Ok, thats all, keep up the great work... have you taken wxCocoa into consideration?
-
Hi m2kio,
Originally posted by m2kio
(1)
Howto compile aMule on Mac:
- note on patching can be removed, since this patch is no longer required. this info is now only confusing.
Done. Of course, since it's a wiki, you could have removed it yourself.
# Copy the amule binary to the app-Container directory: cp src/amule amule.app/Contents/MacOS/ (NOTE: If the MacOS directory is missing in amule.app, create it by typing mkdir amule.app/Contents/MacOS before executing the previous command. Thanks to dan for the tip)
- directory MacOS _is_ missing.
you should add it to the distro and remove this note. (would have been same work, probably)
I think the problem is that CVS, by default, doesn't check out empty directories.
- it should be "aMule.app/Contents/MacOS/" (not: "amule.app/Contents/MacOS/")
Fixed. Thanks.
you should consider releasing amule versions with (source for/instructions for building) statically linked wxwidgets.
Personally, I prefer static wxWidgets, too. However, there's no difference in the sources of either wxMac or aMule. It's just a configure option (--disable-shared) when building wxMac. It is assumed that anybody who cares about the difference between dynamically and statically linked wxMac can make this change on their own.
you should consider offering a precompiled binary with statcally linked wxwidgets. you are dealing with Max users. :rolleyes: XCode is not standard software for most of us.
As I write this, the current binary has a crashing bug, which makes it sort of moot. However, it is built to be self-contained. It still dynamically links against wxMac, but the dynamic libraries are contained within the .app bundle.
(5)
window size after startup always extends beyond lower screen border, also if window opens on 2nd monitor w/o menubar
Hmm. I attempted to fix a bug with the window size. It used to be that every time you started aMule the window was a little taller than it was when you last quit aMule. It was growing by the height of the window title bar. This should be fixed, I think. aMule now has a stable window size and it properly remembers how you last sized it. At least, it works for me.
(6)
after running for some while amule starts to hang regularly (not too often) for approx. 30 sec. meanwhile beachball appears, up/dnload drops and cpu load goes to 100%
It would be great if you could diagnose this a bit further. Try running "sample amule 5" while it is hung and posting the output.
(7)
when minimized with statistics tab selected, then after maximizing again stats bars are not updated correctly. (seems like some time missing and average graph going up to maximum)
Don't know anything about that. I'll keep my eyes open for it.
-
Originally posted by ken
Originally posted by m2kio
- directory MacOS _is_ missing.
you should add it to the distro and remove this note. (would have been same work, probably)
I think the problem is that CVS, by default, doesn't check out empty directories.
i suggest to put a dummy file into 'MacOS/' then. (or add 'mkdir xxx/MacOS' to the make file, but this may be less maintainance friendly)
As I write this, the current binary has a crashing bug, which makes it sort of moot. However, it is built to be self-contained. It still dynamically links against wxMac, but the dynamic libraries are contained within the .app bundle.
Nice to hear, that there is/will be a binary and that it contains the wxMac libs in the app bundle! :)
after running for some while amule starts to hang regularly (not too often) for approx. 30 sec. meanwhile beachball appears, up/dnload drops and cpu load goes to 100%
It would be great if you could diagnose this a bit further. Try running "sample amule 5" while it is hung and posting the output.
since i restarted amule on monday it does no longer show this hanging. it seems, there was something leftover and i just thought it was 'normal'. or, maybe, it is because i have downloaded my old ipfilter table?
when minimized with statistics tab selected, then after maximizing again stats bars are not updated correctly. (seems like some time missing and average graph going up to maximum)
Don't know anything about that. I'll keep my eyes open for it.
Can't reproduce .. can't reproduce ... right now. merde!
i'll come up with this again when i found out about the prerequisites... :]
... m2kio !
-
Originally posted by ken
Originally posted by m2kio
after running for some while amule starts to hang regularly (not too often) for approx. 30 sec. meanwhile beachball appears, up/dnload drops and cpu load goes to 100%
It would be great if you could diagnose this a bit further. Try running "sample amule 5" while it is hung and posting the output.
attached is a sample. did take some time to occur and beeing noticed again.
... m2kio !
-
No idea from my side, Ken?
-
Well, yuck!
That's a lot of text-drawing-related functions. Everything below wxMacMLTEControl member functions is internal to Carbon's text GUI control. My first guess is that you have verbose logging enabled. If so, turn it off. :P
The stack frames inside aMule aren't symbolic, just numeric. This may be because aMule isn't compiled with --enable-debug. On the other hand, I'm pretty sure I've seen sample fail to get symbols names even from debug builds. It's strange, different tools seem to see different subsets of the available symbols (gdb sees them all, sample sees one subset, the crash reporter sees a different subset, Sampler.app sees another subset, etc.).
Anyway, it's unclear what aMule was trying to do. It clearly involves a wxTextCtrl, which is mainly used for logs and chat. I see calls to wxMacMLTEControl::GetLastPosition, which is only called by aMule from CamuleDlg::AddLogLine and CamuleDlg::AddServerMessageLine. So, more evidence that you have verbose logging enabled.
-
hi,
Originally posted by ken
That's a lot of text-drawing-related functions. Everything below wxMacMLTEControl member functions is internal to Carbon's text GUI control. My first guess is that you have verbose logging enabled. If so, turn it off. :P
The stack frames inside aMule aren't symbolic, just numeric. This may be because aMule isn't compiled with --enable-debug. On the other hand, I'm pretty sure I've seen sample fail to get symbols names even from debug builds. It's strange, different tools seem to see different subsets of the available symbols (gdb sees them all, sample sees one subset, the crash reporter sees a different subset, Sampler.app sees another subset, etc.).
Anyway, it's unclear what aMule was trying to do. It clearly involves a wxTextCtrl, which is mainly used for logs and chat. I see calls to wxMacMLTEControl::GetLastPosition, which is only called by aMule from CamuleDlg::AddLogLine and CamuleDlg::AddServerMessageLine. So, more evidence that you have verbose logging enabled.
Verbose logging was off. (prefs>core tweaks)
i have stripped the binary, sorry, my fault. therefore nor debugging symbols. :]
i have compiled it again, and because make after make clean yielded linker warnings i compiled amule from scratch. strange enough the warnings persisted. As i can see it seems to be wxMac related. Compiling yields lots of errors anyway, especially the libcrypto is real crap...
i attach the console log as a 'real life sample'. Maybe it tells you more.
... m2kio !
-
m2kio, I have seen those linker errors before. Unfortunately, I don't remember what I did about them.
Generally, I use static wx libraries these days, and that may be why I'm not seeing these errors anymore. Maybe that would be a workaround for you. Just provide --disable-shared to the wxMac configure. When I do this, I don't "make install" wxMac, I just link against the libs in my build directory. wxMac creates a version of wx-config in the build directory that knows to reference the libs and includes and everything right from there. Then you only have to provide --with-wx-config=/path/to/wxMac/builddir/wx-config to the aMule configure and everything works.