aMule Forum
English => Multiplatform => Mac OSX => Topic started by: Kry on September 16, 2004, 07:25:42 PM
-
Please testers get current cvs and test for any bug.
-
Hi Kry,
got hold of aMule-cvs-20040916.tar.bz2 and compiled it without any problem. Ah, the "update serverlist"-button works now.
Everything seems ok, though some "problems" could be possibly be removed easely (their low-importance show, that the comming rc6 release will be very usable! :-):
* the app-Container is always needed if you want to start the freshly compiled amule without a .aMule-dir. From the shell (e.g. with amule-cvs/src/amule) the initial dialog informing you, that you run amule for the first time doesn't react on clicking the OK-Button or keys etc. . Only if you run amule with "open -a amule" copied to the app-Container (or via duble-clicking the amule-app-container via finder), the OK-button gets clickable. After that, you can start amule from the shell directly. strange...
* calculateing the hashes of local files seems very slow to me compared to my slower linux PC (700 MHz). I have files around 650 MBs. amule takes about 65% of my iBook G4 CPU, so CPU should not be the bottleneck there (?). But then again, since I quit amule, the fan has stopped (uff), so maybe nonetheless CPU beeing too much stressed?
* When you fist start amule on OS X, the window is too large and there is no way you could grab the bottom-right resize-corner of the window, because the corner is not visible. Took me some time to realize I had to press the green "+" sign to get the whole window fit to my screen. I think amule should start with this "full screen size" size initially, if this is possible. But then again, I'm just not a real mac user, maybe all mac users now laugh at me?...
* All locally shared filename on my list appear with characters beeing replaced after the 21 first letters. For example "Pi (by Darren Aronofsky - 1998).avi" becomes "Pi (by Darren Aronofs#7F735.avi". Shorter Filenames like Jazz10.ogm appear right.
* Although I'have redirected port 4661 to 4672 on my router to my Mac, I don't get connected to none of my 66 servers in the serverlist (serverlist from the default URL on the first pane). Under Linux, everything works this way, even receiving a high-ID. After the message "connecting to server XY" and then "having connected to server XY", the message "lost connection to server XY" appears one second later (or even in the same second) and the next server is tried an so on...
What could that be??
* If I select a dir to share which contains sub-dirs, I get this message in the bottom left corner of amule: "can't open file '/Users/xxx/Züri West'", even though 'Züri West' is a subdirectory and no file. Maybe the german "Umlauts", maybe the space in the dirname?
Thanx a lot for this piece of software and the already very smooth port to OS X !!!
-
Many, many thanks for the report.
Please, can you do me afavour and check which CVS tarball is the last one connecting to servers so I can search the problem preventing new one to connect?
-
[Kry edit]
Here 5 hundred posts of sssnake and me about checking cvs time that lead me to the problematic commit
[/edit]
-
FIIIIIIIIIIIIIIIIIIIIIIIXED!
Now to the other bugs:
-
* the app-Container is always needed if you want to start the freshly compiled amule without a .aMule-dir. From the shell (e.g. with amule-cvs/src/amule) the initial dialog informing you, that you run amule for the first time doesn't react on clicking the OK-Button or keys etc. . Only if you run amule with "open -a amule" copied to the app-Container (or via duble-clicking the amule-app-container via finder), the OK-button gets clickable. After that, you can start amule from the shell directly. strange...
True. I don't know how to avoid that. But let people only use the .app ;)
* calculateing the hashes of local files seems very slow to me compared to my slower linux PC (700 MHz). I have files around 650 MBs. amule takes about 65% of my iBook G4 CPU, so CPU should not be the bottleneck there (?). But then again, since I quit amule, the fan has stopped (uff), so maybe nonetheless CPU beeing too much stressed?
It was because of AICH probably, and even more probably because a but on it I introduced. Check current cvs for fixed on that regard.
* When you fist start amule on OS X, the window is too large and there is no way you could grab the bottom-right resize-corner of the window, because the corner is not visible. Took me some time to realize I had to press the green "+" sign to get the whole window fit to my screen. I think amule should start with this "full screen size" size initially, if this is possible. But then again, I'm just not a real mac user, maybe all mac users now laugh at me?...
I think it depends on the resolution... aMule has a kinnda big default one. Maybe mazimizing it on first run should be a good option there.
* All locally shared filename on my list appear with characters beeing replaced after the 21 first letters. For example "Pi (by Darren Aronofsky - 1998).avi" becomes "Pi (by Darren Aronofs#7F735.avi". Shorter Filenames like Jazz10.ogm appear right.
Now THAT is a real big & evil bug. Can anyone confirm?
* If I select a dir to share which contains sub-dirs, I get this message in the bottom left corner of amule: "can't open file '/Users/xxx/Züri West'", even though 'Züri West' is a subdirectory and no file. Maybe the german "Umlauts", maybe the space in the dirname?
Maybe that aMule is just telling you that that's a folder and so you won't share it? Ok, ok, I'll remove that warning....
-
Hi Kry,
I got aMule-cvs-20040919.tar.bz2 compiled and run it.
First of all, nice piece of work!
Conecting to server is working now.
But :-)
- I can confim that local shared filenames have wired extensions.
- aMule freezes from time to time for seconds ( between 10 and 60s ). During these freezes a 'spinning Cursor' will appear, no data will be sent to connected clients. CPU load is 0.0 %. Timing analysis shows this:
Analysis of sampling pid 11850 every 10.000000 milliseconds
Call graph:
289 Thread_110b
289 start
289 _start
289 main
289 wxEntry(int&, char**)
289 wxApp:: MainLoop()
289 wxApp:: MacDoOneEvent()
289 wxApp:: MacHandleOneEvent(void*)
289 wxAppConsole:: ProcessPendingEvents()
289 wxEvtHandler:: ProcessPendingEvents()
289 wxEvtHandler:: ProcessEvent(wxEvent&)
289 wxEventHashTable:: HandleEvent(wxEvent&, wxEvtHandler*)
289 wxEvtHandler:: ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
289 CamuleApp::ListenSocketHandler(wxSocketEvent&)
289 CListenSocket:: OnAccept(int)
289 wxSocketServer:: AcceptWith(wxSocketBase&, bool)
289 GSocket_WaitConnection
289 _GSocket_Input_Timeout
289 select
289 select
289 Thread_1203
289 _pthread_body
289 __CFSocketManager
289 select
289 select
Total number in stack (recursive counted multiple, when >=5):
Sort by top of stack, same collapsed (when >= 5):
select 578
Sample analysis of process 11850 written to file /dev/stdout
Sampling process 11850 each 10 msecs 300 times
select calls consumes 100% of time for both threads.
maybe coincedence, but at the same time lookupd CPU usage goes up from 0% to 70% .
- after one hour up time all files selected for download have zero sources, but in search window they are reported with sources > 1000. Wich means no download.
- in download pane -> right click on file -> select show file details. Will bring up 'File Details' window. All 5s the 'File Name' control will grow and all controls under 'File Name' will be pushed outside the visible area of 'File Details' window.
lami
-
- I can confim that local shared filenames have wired extensions.
That really suck :) I'll have to take a look on that, I have no idea on why would that happen.
aMule freezes from time to time for seconds ( between 10 and 60s ). During these freezes a 'spinning Cursor' will appear, no data will be sent to connected clients. CPU load is 0.0 %.
I'm fearing some thread problem with sockets here. Something is broken there for sure. Which wx version are you using?
select calls consumes 100% of time for both threads.
maybe coincedence, but at the same time lookupd CPU usage goes up from 0% to 70%
What's lookupd? ;)
- after one hour up time all files selected for download have zero sources, but in search window they are reported with sources > 1000. Wich means no download.
You NEVER get a source?
- in download pane -> right click on file -> select show file details. Will bring up 'File Details' window. All 5s the 'File Name' control will grow and all controls under 'File Name' will be pushed outside the visible area of 'File Details' window.
Ok, that's an easy one. It's a wx 2.5.2 or CVS problem, we can fix that easily.
Many thinks for your report, I'm looking foward for more great pieces of work like this one. I'm concerned about the shared files names and the blocking sockets. Might the blocking sockets be related to the AICH thread? can you try commenting out the RunAICHThread() calls on amule's sources on next tarball (if you know how)
-
I confirm the shared files problem, too:
host:~/.aMule kry$ ls ../MyShareds/
file_to_test
file_with_a_very_very_very_very_long_name._and_extension
host:~/.aMule kry$
Hasher: Creating new thread.
Hasher: Starting to hash file: file_to_test
Hasher: Finished hashing file: file_to_test
Hasher: Starting to hash file: file_with_a_very_very_ve#270CF0
Hasher: Finished hashing file: file_with_a_very_very_ve#270CF0
Evil....
[edit]: I'm fearing something really bad here....
[edit2]: confirmed, it's a wxMac bug....
-
Originally posted by Kry
- I can confim that local shared filenames have wired extensions.
That really suck :) I'll have to take a look on that, I have no idea on why would that happen.
my guess (tm) is. wx uses so called carbon API. These are for apps developed with MacOS <= 9. These classic MacOS uses HFS (hirarchic file system) which limit file names to 32 chars.
aMule freezes from time to time for seconds ( between 10 and 60s ). During these freezes a 'spinning Cursor' will appear, no data will be sent to connected clients. CPU load is 0.0 %.
I'm fearing some thread problem with sockets here. Something is broken there for sure. Which wx version are you using?
wx2.5.2
I followed the 'The how to compile on Mac' without the fink stuff.
And aMule-cvs-20040919.tar.bz2 of course.
select calls consumes 100% of time for both threads.
maybe coincedence, but at the same time lookupd CPU usage goes up from 0% to 70%
What's lookupd? ;)
brief: all in one network information deamon.
long: http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/lookupd.8.html
- after one hour up time all files selected for download have zero sources, but in search window they are reported with sources > 1000. Wich means no download.
You NEVER get a source?
never one :(
Many thinks for your report, I'm looking foward for more great pieces of work like this one. I'm concerned about the shared files names and the blocking sockets. Might the blocking sockets be related to the AICH thread? can you try commenting out the RunAICHThread() calls on amule's sources on next tarball (if you know how)
I'll try my very best :).
lami
-
Might the blocking sockets be related to the AICH thread? can you try commenting out the RunAICHThread() calls on amule's sources on next tarball (if you know how)
No good. I commented out RunAICHThread() calls in amule.cpp ( and amuled.cpp ?? ) and for paranoid reasons also :
void CamuleApp::RunAICHThread()
{
#if 0
CAICHSyncThread* AICH_Thread = new CAICHSyncThread();
AICH_Thread->Create();
AICH_Thread->SetPriority(WXTHREAD_DEFAULT_PRIORITY-10); // slightly less than main
AICH_Thread->Run();
#endif
}
same behaviour as before :(.
-
I fear a wxMac problem with sockets. On linux, 2.5.2 gets way less connections than 2.5.1
We need to find where does it get blocked.
-
Fixed the shared dirs... hard to hardcode the buggy wx function.
aMulecmd$ stats
> Statistics:
> Downloading files: 1
> Found sources: 28
> Active downloads: 0
> Active Uploads: 0
> Users on upload queue: 0
aMulecmd$
So sources are ok on my side...
- in download pane -> right click on file -> select show file details. Will bring up 'File Details' window. All 5s the 'File Name' control will grow and all controls under 'File Name' will be pushed outside the visible area of 'File Details' window.
Ok, that's an easy one. It's a wx 2.5.2 or CVS problem, we can fix that easily.
Also fixed.
-
Sorry could not test your fix aMule-cvs-20040920.tar.bz2 refuse to compile :(.
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include -D__SYSTRAY_DISABLED__ -I/usr/local/lib/wx/include/mac-2.5 -I/usr/local/include -D__WXMAC__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DWX_PRECOMP -DNO_GCC_PRAGMA -D__NOGTK__ -I/usr/include -I/Users/michaellanger/Desktop/amule/crypto-5.1 -D__CRYPTO_SOURCE__ -W -Wall -g -ggdb -fno-inline -D__DEBUG__ -fmessage-length=0 -MT amule-ChatWnd.o -MD -MP -MF ".deps/amule-ChatWnd.Tpo" \
-c -o amule-ChatWnd.o `test -f 'ChatWnd.cpp' || echo './'`ChatWnd.cpp; \
then mv -f ".deps/amule-ChatWnd.Tpo" ".deps/amule-ChatWnd.Po"; \
else rm -f ".deps/amule-ChatWnd.Tpo"; exit 1; \
fi
In file included from BaseClient.cpp:46:
Preferences.h:403:10: warning: #warning NEED GUI!
BaseClient.cpp: In destructor `CUpDownClient::~CUpDownClient()':
BaseClient.cpp:268: error: `inflateEnd' undeclared (first use this function)
BaseClient.cpp:268: error: (Each undeclared identifier is reported only once for each function it appears in.)
BaseClient.cpp:269: warning: invalid use of undefined type `struct z_stream_s'
otherstructs.h:26: warning: forward declaration of `struct z_stream_s'
BaseClient.cpp:1112:26: warning: #warning Lacks Comment Filtering
BaseClient.cpp: In member function `void CUpDownClient::ClearDownloadBlockRequests()':
BaseClient.cpp:1183: warning: invalid use of undefined type `struct z_stream_s'
otherstructs.h:26: warning: forward declaration of `struct z_stream_s'
BaseClient.cpp: In member function `bool CUpDownClient::Disconnected(const wxString&, bool)':
BaseClient.cpp:1190: warning: unused parameter `const wxString&strReason'
BaseClient.cpp:1752:10: warning: #warning ADDME - Import needed
/Users/michaellanger/Desktop/amule/crypto-5.1/misc.h: In function `std::string CryptoPP::IntToString(T, unsigned int) [with T = unsigned int]':
/Users/michaellanger/Desktop/amule/crypto-5.1/simple.h:35: instantiated from here
/Users/michaellanger/Desktop/amule/crypto-5.1/misc.h:236: warning: comparison of unsigned expression < 0 is always false
/Users/michaellanger/Desktop/amule/crypto-5.1/algparam.h: In member function `CryptoPP::ConstByteArrayParameter::ConstByteArrayParameter(const T&, bool) [with T = std::basic_string, std::allocator >]':
/Users/michaellanger/Desktop/amule/crypto-5.1/filters.h:700: instantiated from here
/Users/michaellanger/Desktop/amule/crypto-5.1/algparam.h:26: warning: unused variable `CryptoPP::CompileAssert cryptopp_assert_26'
make[4]: *** [amule-BaseClient.o] Error 1
But also 'good' news found this discussion http://lists.wxwidgets.org/archive/wx-dev/msg30836.html
and applied the patch to unix/gsocket.c. After that I encountert only one freeze, but that one was realy short <2s and under CPU high load.
Unfortunately I still get no sources ;(.
-
Maybe it doesn't matter, but after tweaking the Core preferences i get these messages in aMuleLog:
Not sending SecIdentState Packet, because State is Zero
Also the MyInfo Pane shows IP:Port in wrong endianess 123.456.789.012 -> 012.789.456.123 but as I get conections to servers and upload is also working I think it is GUI related.
-
The post is from 2003.... shouldn't that be on wxWidgets already? Anyway, I'll tell phoenix to review socket code (it has become his child, the low-level sockets code).
About the compilation bug, doesn't seem to be amule related- 'inflateEnd' and such are on zlib's headers.
-
Mule-cvs-20040920.tar.bz2 and Mule-cvs-20040921.tar.bz2 compile if I use Makefile from Mule-cvs-20040919. Diff is :
91a92
> CRYPTO = 0
93c94
< CRYPTO_PP_STYLE = sources
---
> CRYPTO_PP_STYLE = mdk_suse_fc
100c101
< CXXFLAGS = -I/pathtoamule/amule/crypto-5.1 -D__CRYPTO_SOURCE__ -W -Wall -g -ggdb -fno-inline -D__DEBUG__ -fmessage-length=0
---
> CXXFLAGS = -I/pathtoamule/amule/ -D__CRYPTO_MDK_SUSE_FC__ -W -Wall -g -ggdb -fno-inline -D__DEBUG__ -fmessage-length=0
150c151
< LDFLAGS = -bind_at_load -L/pathtoamule/amule/crypto-5.1 -lpthread
---
> LDFLAGS = -bind_at_load -lpthread
237c238
< crypto_prefix = /pathtoamule/amule/crypto-5.1
---
> crypto_prefix = /pathtoamule/amule/
239a241
> gtk = no
257a260
> systray = no
As I'm in no way an expert in make please make up your own mind:).
-
Here are some minor things I have, amule from CVS yesterday (20040928) around 20:50, wxWidgets 2.5.2. Some stuff I have already reported on IRC, but I'll write it down anyway:
* vertical scrollbar missing on "amule log". => There is no way reading old lines, which have scrolled above. Same with "Server Info".
* Copy-Paste doesn't work between textboxes in amule and from amule to other mac apps and the other way around.
* Popupmenü comes up twice (seems to be an old bug, I know..)
* No popupmenü when you click the "mac way". Normally, you don't have a two-button mouse on mac, only one with one button. With such mice, context menü has to be invoken with ctrl+click (works) or click-and-wait-with-pressed-down-mouse-for-contextmenü (doesn't worjk). Kry, you can kill me for this :-)
* cloesing tabs of search results by clicking the cross doesn't work (already reported on IRC)
* color-fields on the legend of the grafics under statistics are so small, you can't see, what color is meant.
* splash screen not showing on startup (even when checked in configuration window)
* Preferences => Security => IP Filtering => Filtering Level: Spinner doesn't work, manually editing does.
* Preferences => Remote Controls => Textboxes "Full right passwords" and "Low rights passwords" are overlapping
* Preferences => Directories => Browse for video player: No App selectable and topmost dropdown "enable:" has an empty entry besides "Executable (*)"
* Download List, column "last reception" doesn't seem to show the right times. they are all around the same time for files, most of the time older than a day, even though i have downloaded parts of some files just some minutes again.
All this GUI polish is just stuff I've noticed, but I'm still more than satisfied with the state amule for OS X is already!
-
Hello, I compiled yesterday's (20040928) CVS.
I confirm the bugs submitted by sssnake.
I let amule running all night (about 8-10 hours),
and when I checked this morning I had a total Downloaded of just 15 Mb,
I have a 640K aDSL and it's really a poor result.
BTW, I have a High ID and all the files I am downloading (5 in all) have no short of sources.
Upload is going fine though, and reaches the max capacity I set in the prefs.
I started amule from terminal and got a 20/30 message of wrong memory allocation (I'm at work now and can't check the exact message text).
Anyway, amule did not crash but when I shut it down this morning it took about 5 minutes for the app to exit.
That's all, keep it up the great work (tired of using mlnet!)
-
Originally posted by sssnake
* splash screen not showing on startup (even when checked in configuration window)
This isn't a bug. The splash screen has always been disabled on CVS, but usually we would re-enable it before releasing. However, it has now been removed (by me), since even compressed, the image would take up ~700kb, and that was way too much IMHO. ;)
Just look at the cvs snapshots:
aMule-cvs-20040929.tar.bz2 - 2.3MB
aMule-cvs-20040928.tar.bz2 - 3MB
Originally posted by sssnake* Download List, column "last reception" doesn't seem to show the right times. they are all around the same time for files, most of the time older than a day, even though i have downloaded parts of some files just some minutes again.
Strange. A fix for that was committed the 27th, since it was broken everywhere. But it didn't seem to have made its way into the 28th snapshot. However, newer snapshots should contain the fix. =)
-
Thanx for clarification, Xaignar. Today I downgraded from wxMac 2.5.2 to 2.5.1 because I thought this to be the version with less trouble. But no, with wxMac 2.5.1 amule was frozen half the time, slowly connecting and crashing repeatedly. So for me, wxMac 2.5.2 is waaay better.
What I realized though wa that vertical scrollbars on "amule log" and "Server info", which were missing under 2.5.2 were there under 2.5.1! Also the font was slightly smaller than in 2.5.2. So I guess the scrollbars are also there unter 2.5.2, but somehow hidden because of different sizes of textboxcontrol between the two wx-Versions. Poor developer you, things like that are enormously unpleasant, I guess...
Thanx everybody.
-
Can you try wx CVS? :P
-
ok. More information. About every 10 mins of amule (currently CVS20040930) running
I get a message on the terminal like this:
*** malloc[26134]: Deallocation of a pointer not malloced: 0xacec54b; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable
MallocHelp to see tools to help debug
If I enable verbose output I also get plenty of these:
Wrong Tags on SecIdentState packet!!
Client Hein von Werft [emule.de v8] on IP 80.135.70.80 port 4662 using eMule
User Disconnected.
Hope that helps.
-
it helps. I belive there's a memory debug app for Mac, like valgrind on linux. Can someone run it and get to know which bug is that?
-
Originally posted by lami123
Originally posted by Kry
- after one hour up time all files selected for download have zero sources, but in search window they are reported with sources > 1000. Wich means no download.
You NEVER get a source?
never one :(
I had RC6 running for several hours with no sources (fresh ~/.aMule). Then I noticed that Preferences -> Connection -> Max Sources Per File: Hard Limit had a default value of 0, which I assumed meant unlimited. I changed it to 500 and instantly sources started accumulating on my downloads.
I hope that helps.
I haven't yet seen any clients try to upload from me, but that's less surprising.
-
hey, good. That's the reason then :)
Let's see how it behaves
-
Tryed last cvs (20041007), and transfert don't works... :( But, connection to Server seems to works :D
-
Next tarball shoudl work flawlessly, but if you don't want to wait come to channel.
-
cvs 20041008 : no source, so no transferts :(
But ! Shared directory works ! I can choose a shared directory and aMule take it in consideration :)