[Mono-list] Service problem

Andreas Färber andreas.faerber at web.de
Tue Feb 28 17:00:29 EST 2006

Okay, I'm a step further now and have found out that I should use
*mono-service2* because I am compiling with gmcs.
Unfortunately neither the official FC4 package nor the Blastwave Solaris
package include this, so I've compiled it manually from SVN, derived a
wrapper script and copied both to their respective places. Is this file
new or is this a packaging problem?

This time with mono-service2 I am really not seeing any response from
the server in the trace.
The client still receives a zero length response, and the server is gone
afterwards without any error message in /var/log/messages. And if I run
the same server class as a console app it works.

Noticing in monoservice.cs that Syscall.syslog is used for logging I
have also eliminated all Console.Error.WriteLine calls, but no change.

Any help appreciated!


Andreas Färber schrieb:
> Hi guys,
> I'm experiencing a weird problem with a Service on FC4... It's basically
> a multithreaded TcpListener based server. When I run it as a standard
> console application it works fine; now I'm attempting to transform it
> into a mono-service based daemon and it does not work. Specifically the
> problem is that on the client side I do not receive anything (length of
> zero) when the server is run with mono-service.
> The service appears to start correctly (according to /var/log/messages),
> I can connect to it via TCP and send it a SOAP request. On the client
> side (Windows/.NET, Mac/Mono) TcpClient's NetworkStream.Read reads zero
> bytes and returns. Afterwards the daemon (started manually with an init
> script) is no longer existant, with no new message in /var/log/messages.
> Does this indicate Mono crashed, or doesn't mono-service output anything
> when it stops the service? (and I do not stop it)
> Using MSSoapT as intermediary I am however seeing a complete response in
> the trace (while the client still does not receive it), only that it
> does not change as expected (using Guid.NewGuid()); and if I use the
> same classes in a console app it works as expected.
> Reading that stdout is redirected to /dev/null for mono-service I have
> double-checked for Console.WriteLine calls and replaced them with
> Console.Error.WriteLine, but still no indication in /var/log/messages
> after "mono: [...].exe Service [...] started".
> The assemblies are within my home directory and owned by me, the init
> script is symlinked from /etc/init.d into my home directory and owned by
> root (symlink root:root, file root:me).
> Any ideas?
> Regards,
> Andreas
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list

More information about the Mono-list mailing list