[Mono-dev] mono contains a bug for version 1.1.13-6 and 1.1.14 ; This might be the case for version above 1.1.8-3

Saliou, Lionel L.Saliou at napier.ac.uk
Tue Jun 6 12:22:02 EDT 2006


Dear all,

I have been developping a bunch of client/server applications for my research. In a nutshell, the client is tasked to contact the servers around the network, have them perform a bunch of tasks, retrieve/archive the results, and close the connection. All the application are developped in C# .NET; the client application typically runs on a Windows XP type machine whereas the servers run on Ubuntu Linux hosts (both Breezy Badger and Dapper Drake). The linux hosts all have custom kernells to 'enhance' performance.

So far I have developped and tested my applications on a computer running Ubuntu Dreezy 5.10 and mono-1.1.8-3 (default version available with Breezy), and everything works fine. However, if I do run the applications using another version of mono (1.1.13-6 [default version of Dapper) or 1.1.14), my applications crash. Apparently, this is due to some event within my applications that is not handled????  Here is a sample of what is going on using version 1.1.8-3 in the first instance then 1.1.14

[SCREEN CAPTURE]
[mono versions]
lionel at arthemis:~/Projects/dotNetTest$ mono -V
Mono JIT compiler version 1.1.14, (C) 2002-2005 Novell, Inc and Contributors. ww w.mono-project.com
        TLS:           normal
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       normal
        Disabled:      none
lionel at arthemis:~/Projects/dotNetTest$ which mono
/home/lionel/mono-1.1.14/bin/mono
lionel at arthemis:~/Projects/dotNetTest$ sudo mono -V
Mono JIT compiler version 1.1.8.3, (C) 2002-2005 Novell, Inc and Contributors. w ww.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV      : normal
        Globalization: normal
lionel at arthemis:~/Projects/dotNetTest$ sudo which mono
/usr/bin/mono
[/mono versions]
[TEST 1]
lionel at arthemis:~/Projects/dotNetTest$ ls
CMCSNetworking.dll  CMCSUtilities.dll  LinuxSlave_v4.exe  old
lionel at arthemis:~/Projects/dotNetTest$ which sudo mono
/usr/bin/mono
lionel at arthemis:~/Projects/dotNetTest$ sudo mono LinuxSlave_v4.exe
Note, this application is a test ...
Linux Slave v4> hping
Starting HPing Service...
This machine Name : arthemis
This machine IP Address : *.*.*.13
Server is online on port :2048
Starting up Server...
Maximum allowed number of connection : 1
Note, this application is a test ...
Linux Slave v4>
Receiving connection requestion from Client (*.*.*.87:1569)
message =*.*.*.87 -c 20|2
strParameters = *.*.*.87 -c 20
iNbOfIteration = 2

--- *.*.*.87 hping statistic ---
20 packets transmitted, 20 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.6/0.8 ms
[output from HPING omitted]

--- *.*.*.87 hping statistic ---
20 packets transmitted, 20 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.5/0.7 ms
[output from HPING omitted]
Breaking out!
Management pool number : 0

Linux Slave v4>
[/TEST 1]

[TEST 2]
lionel at arthemis:~/Projects/dotNetTest$ ls
CMCSNetworking.dll  CMCSUtilities.dll  LinuxSlave_v4.exe  old
lionel at arthemis:~/Projects/dotNetTest$ which mono
/home/lionel/mono-1.1.14/bin/mono
lionel at arthemis:~/Projects/dotNetTest$ sudo ~/mono-1.1.14/bin/mono LinuxSlave_v4.exe
Note, this application is a test ...
Linux Slave v4> hping
Starting HPing Service...
This machine Name : arthemis
This machine IP Address : *.*.*.13
Server is online on port :2048
Starting up Server...
Maximum allowed number of connection : 1
Note, this application is a test ...
Linux Slave v4>
Receiving connection requestion from Client (*.*.*.87:1432)
message =*.*.*.87 -c 20|2
strParameters = *.*.*.87 -c 20
iNbOfIteration = 2

--- *.*.*.87 hping statistic ---
20 packets transmitted, 20 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.6/0.8 ms
[output from HPING omitted]

--- *.*.*.87 hping statistic ---
20 packets transmitted, 20 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.5/0.7 ms
[output from HPING omitted]
Breaking out!
Management pool number : 0

Unhandled Exception: System.NotImplementedException: The requested feature is not implemented.in <0x0001d> System.Threading.Thread:Interrupt ()
in <0x0001d> CMCS.Networking.GenServerReceive:Stop ()
in <0x0001d> CMCS.Networking.Connection:Stop ()
in <0x0009a> CMCS.Networking.GenericServer:manageClientPool (CMCS.Networking.myEventArgs sender)in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_myEventArgs (CMCS.Networking.myEventArgs)in <0x00011> CMCS.Networking.Connection:serverNotice (CMCS.Networking.myEventArgs Evt)in <0x0000d> CMCS.Networking.Connection:serverReceive_LostConnection (CMCS.Networking.myEventArgs Evt)in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_myEventArgs (CMCS.Networking.myEventArgs)in <0x00011> CMCS.Networking.GenServerReceive:lostConnectionNotify (CMCS.Networking.myEventArgs Evt)in <0x0016c> CMCS.Networking.GenServerReceive:Run ()
in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
[/TEST 2]
[/SCREEN CAPTURE]

I could live with a warning but not with a problem that stops my applications from cleaning/closing the underlying sockets and so on. As you can see my applications are configured to accept one connection at a time, hence the client comes back from the next batch of task it gets rejected puting my experiments in jeopardy. Please note that the exact same error occurs in 1.1.13-6 (Dapper Drake), and also note that once 1.1.8-3 is installed on Ubuntu Dapper Drake the application demonstrated in the above WORKS!

Now, I admit the CMCS dlls that you see in the above have been developped by yours trully. They allow using TCP connections transparently, and ONE event is used/raised to trigger the connection pool management (without this features my programs don't clean their connection pool and thus I can easily be DDoS'd ). They also force developpers to respect the various protocols that I defined. But frankly, I don't see why my stuff would work on mono-1.1.8-3 but not on other versions, such as 1.1.13 and 1.1.14 .

To make sure that this is not due to the compiler, LinuxSlaves have been compiled under both Windows XP (using Visual Studio 2003) and MonoDevelop... but not that does not seem to change anything.

Honnestly, I don't have the first clue about what is wrong! However, my fellow researchers and I would like to have this fixed for all version of mono because otherwise that will force us to "freeze" our test bench which could become problematic in the long run.

I do hope that there is a simple fix to this.

Thanks a lot.

Lionel

This message is intended for the addressee(s) only and should not be read, copied or disclosed to anyone else outwith the University without the permission of the sender.
It is your responsibility to ensure that this message and any attachments are scanned for viruses or other defects. Napier University does not accept liability for any loss
or damage which may result from this email or any attachment, or for errors or omissions arising after it was sent. Email is not a secure medium. Email entering the 
University's system is subject to routine monitoring and filtering by the University. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20060606/8f82d11d/attachment.html 


More information about the Mono-devel-list mailing list