aMule Forum

English => Multiplatform => Mac OSX => Topic started by: Kry on September 16, 2004, 07:25:42 PM

Title: Testing
Post by: Kry on September 16, 2004, 07:25:42 PM
Please testers get current cvs and test for any bug.
Title: RE: Testing
Post by: sssnake on September 16, 2004, 11:27:13 PM
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 !!!
Title: Re: Testing
Post by: Kry on September 16, 2004, 11:34:31 PM
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?
Title: Re: Testing
Post by: sssnake on September 17, 2004, 12:29:47 AM
[Kry edit]

Here 5 hundred posts of sssnake and me about checking cvs time that lead me to the problematic commit

[/edit]
Title: Re: Testing
Post by: Kry on September 18, 2004, 10:02:01 PM
FIIIIIIIIIIIIIIIIIIIIIIIXED!


Now to the other bugs:
Title: Re: Testing
Post by: Kry on September 18, 2004, 10:06:21 PM
Quote
* 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 ;)

Quote
* 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.

Quote
* 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.

Quote
* 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?

Quote
* 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....
Title: Re: Testing
Post by: lami123 on September 19, 2004, 10:49:25 AM
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
Title: Re: Testing
Post by: Kry on September 19, 2004, 12:07:13 PM
Quote
- 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.

Quote
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?
Quote
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? ;)

Quote
- 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?

Quote
- 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)
Title: Re: Testing
Post by: Kry on September 19, 2004, 12:20:34 PM
I confirm the shared files problem, too:
 
Quote
host:~/.aMule kry$ ls ../MyShareds/
file_to_test
file_with_a_very_very_very_very_long_name._and_extension
host:~/.aMule kry$  

Quote
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....
Title: Re: Testing
Post by: lami123 on September 19, 2004, 01:37:36 PM
Quote
Originally posted by Kry
Quote
- 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.  

Quote
Quote
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.

Quote
Quote
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

Quote
Quote
- 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 :(

Quote
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
Title: Re: Testing
Post by: lami123 on September 19, 2004, 02:01:45 PM
Quote

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 :(.
Title: Re: Testing
Post by: Kry on September 19, 2004, 02:24:59 PM
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.
Title: Re: Testing
Post by: Kry on September 19, 2004, 04:20:29 PM
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...

Quote
Quote

- 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.
Title: Re: Testing
Post by: lami123 on September 20, 2004, 05:37:39 PM
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  ;(.
Title: Re: Testing
Post by: lami123 on September 20, 2004, 06:16:01 PM
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.
Title: Re: Testing
Post by: Kry on September 20, 2004, 06:23:47 PM
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.
Title: Re: Testing
Post by: lami123 on September 21, 2004, 05:46:42 PM
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:).
Title: RE: Testing
Post by: sssnake on September 28, 2004, 11:28:12 PM
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!
Title: Re: Testing
Post by: ASTIOBOY on September 29, 2004, 10:01:32 AM
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!)
Title: Re: Testing
Post by: Xaignar on September 29, 2004, 01:13:41 PM
Quote
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


Quote
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. =)
Title: Re: Testing
Post by: sssnake on September 30, 2004, 12:20:34 AM
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.
Title: Re: Testing
Post by: Kry on September 30, 2004, 04:02:41 PM
Can you try wx CVS? :P
Title: Re: Testing
Post by: ASTIOBOY on September 30, 2004, 09:01:29 PM
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.
Title: Re: Testing
Post by: Kry on September 30, 2004, 09:32:49 PM
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?
Title: Re: Testing
Post by: ken on October 05, 2004, 08:50:41 AM
Quote
Originally posted by lami123
Quote
Originally posted by Kry
Quote
- 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.
Title: Re: Testing
Post by: Kry on October 05, 2004, 03:55:29 PM
hey, good. That's the reason then :)

Let's see how it behaves
Title: Re: Testing
Post by: pick on October 07, 2004, 11:36:59 AM
Tryed last cvs (20041007), and transfert don't works... :( But, connection to Server seems to works :D
Title: Re: Testing
Post by: Kry on October 07, 2004, 01:39:14 PM
Next tarball shoudl work flawlessly, but if you don't want to wait come to channel.
Title: Re: Testing
Post by: pick on October 08, 2004, 10:20:41 AM
cvs 20041008 : no source, so no transferts :(
But ! Shared directory works ! I can choose a shared directory and aMule take it in consideration :)