Hi,
Your application depends on the Thread.Interrupt () method which is not
implemented in mono. In previous versions, it did nothing, in later versions it
throws a NotImplementedException to alert users to the fact that it is not
implemented.
Zoltan
On 6/6/06, Saliou, Lionel <[EMAIL PROTECTED]> wrote:
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]
[EMAIL PROTECTED]:~/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
[EMAIL PROTECTED]:~/Projects/dotNetTest$ which mono
/home/lionel/mono-1.1.14/bin/mono
[EMAIL PROTECTED]:~/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
[EMAIL PROTECTED]:~/Projects/dotNetTest$ sudo which mono
/usr/bin/mono
[/mono versions]
[TEST 1]
[EMAIL PROTECTED]:~/Projects/dotNetTest$ ls
CMCSNetworking.dll CMCSUtilities.dll LinuxSlave_v4.exe old
[EMAIL PROTECTED]:~/Projects/dotNetTest$ which sudo mono
/usr/bin/mono
[EMAIL PROTECTED]:~/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]
[EMAIL PROTECTED]:~/Projects/dotNetTest$ ls
CMCSNetworking.dll CMCSUtilities.dll LinuxSlave_v4.exe old
[EMAIL PROTECTED]:~/Projects/dotNetTest$ which mono
/home/lionel/mono-1.1.14/bin/mono
[EMAIL PROTECTED]:~/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.
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-devel-list
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-devel-list