It may be some internal problem on how Mono manages the appdomains of your service. IIRC Mono uses Remoting internally for the communication between them.
On 06/12/10 06:56, Abe Gillespie wrote: > Yeah, --debug didn't seem to help. However, as luck would have it, > Bojan's answer to the JSON.NET thread gave me this little nugget: > --trace=E:all > > However, now that I have the exception stack trace I'm still baffled. > Anyone know what's going on below? Does running via mono-service > automatically require Remoting? Because my service certainly is not > using any Remoting stuff. Now I do have an IMessage interface I use > that's defined in my namespace ... could that possibly cause some > weird type loading confusion? > > EXCEPTION handling: System.TypeLoadException: A type load exception > has occurred. > > "<unnamed thread>" tid=0x0x7fcbc4cef730 this=0x0x7fcbc0e15e60 thread > handle 0x403 state : not waiting owns () > at (wrapper remoting-invoke-with-check) Service..ctor ()<0x0003a> > at (wrapper remoting-invoke-with-check) Service..ctor ()<0x0003a> > at Service.Program.Main ()<0x0004d> > at (wrapper runtime-invoke) object.runtime_invoke_void > (object,intptr,intptr,intptr)<0x0007b> > at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly > (System.AppDomain*,System.Reflection.Assembly,string[])<0x00073> > at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly > (System.AppDomain*,System.Reflection.Assembly,string[])<0x00073> > at System.AppDomain.ExecuteAssemblyInternal > (System.Reflection.Assembly,string[])<0x00043> > at System.AppDomain.ExecuteAssembly > (string,System.Security.Policy.Evidence,string[])<0x00044> > at (wrapper remoting-invoke-with-check) > System.AppDomain.ExecuteAssembly > (string,System.Security.Policy.Evidence,string[])<0x0009a> > at System.AppDomain.ExecuteAssembly > (string,System.Security.Policy.Evidence)<0x00028> > at (wrapper remoting-invoke-with-check) > System.AppDomain.ExecuteAssembly > (string,System.Security.Policy.Evidence)<0x00088> > at MonoServiceRunner.StartService ()<0x00500> > at (wrapper runtime-invoke)<Module>.runtime_invoke_int__this__ > (object,intptr,intptr,intptr)<0x000ad> > at (wrapper managed-to-native) > System.Runtime.Remoting.RemotingServices.InternalExecute > (System.Reflection.MethodBase,object,object[],object[]&)<0x00064> > at (wrapper managed-to-native) > System.Runtime.Remoting.RemotingServices.InternalExecute > (System.Reflection.MethodBase,object,object[],object[]&)<0x00064> > at System.Runtime.Remoting.RemotingServices.InternalExecuteMessage > (System.MarshalByRefObject,System.Runtime.Remoting.Messaging.IMethodCallMessage) > <0x0022f> > at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage > (System.Runtime.Remoting.Messaging.IMessage)<0x000e8> > at > System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage > (System.Runtime.Remoting.Messaging.IMessage)<0x00086> > at System.Runtime.Remoting.Lifetime.LeaseSink.SyncProcessMessage > (System.Runtime.Remoting.Messaging.IMessage)<0x00035> > at System.Runtime.Remoting.ClientActivatedIdentity.SyncObjectProcessMessage > (System.Runtime.Remoting.Messaging.IMessage)<0x0009c> > at > System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage > (System.Runtime.Remoting.Messaging.IMessage)<0x001b1> > at System.Runtime.Remoting.Contexts.CrossContextChannel.SyncProcessMessage > (System.Runtime.Remoting.Messaging.IMessage)<0x00126> > at System.Runtime.Remoting.Channels.ChannelServices.SyncDispatchMessage > (System.Runtime.Remoting.Messaging.IMessage)<0x0005c> > at System.AppDomain.ProcessMessageInDomain > (byte[],System.Runtime.Remoting.Messaging.CADMethodCallMessage,byte[]&,System.Runtime.Remoting.Messaging.CADMethodReturnMessage&) > <0x000bf> > at (wrapper remoting-invoke-with-check) > System.AppDomain.ProcessMessageInDomain > (byte[],System.Runtime.Remoting.Messaging.CADMethodCallMessage,byte[]&,System.Runtime.Remoting.Messaging.CADMethodReturnMessage&) > <0x000a9> > at > System.Runtime.Remoting.Channels.CrossAppDomainSink.ProcessMessageInDomain > (byte[],System.Runtime.Remoting.Messaging.CADMethodCallMessage) > <0x0006a> > at (wrapper runtime-invoke) > <Module>.runtime_invoke_CrossAppDomainSink/ProcessMessageRes_object_object > (object,intptr,intptr,intptr)<0x000ce> > at (wrapper managed-to-native) > System.Reflection.MonoMethod.InternalInvoke > (System.Reflection.MonoMethod*,object,object[],System.Exception&) > <0x00079> > at (wrapper managed-to-native) > System.Reflection.MonoMethod.InternalInvoke > (System.Reflection.MonoMethod*,object,object[],System.Exception&) > <0x00079> > at System.AppDomain.InvokeInDomainByID > (int,System.Reflection.MethodInfo,object,object[])<0x0009c> > at System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage > (System.Runtime.Remoting.Messaging.IMessage)<0x000fb> > at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke > (System.Runtime.Remoting.Messaging.IMessage)<0x00342> > at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke > (System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&) > <0x003fa> > at (wrapper runtime-invoke) > <Module>.runtime_invoke_object_object_object_Exception&_object[]& > (object,intptr,intptr,intptr)<0x0005c> > at (wrapper managed-to-native) > object.__icall_wrapper_mono_remoting_wrapper (intptr,intptr)<0x0005e> > at (wrapper managed-to-native) > object.__icall_wrapper_mono_remoting_wrapper (intptr,intptr)<0x0005e> > at (wrapper remoting-invoke) MonoServiceRunner.StartService ()<0x00079> > at (wrapper xdomain-invoke) MonoServiceRunner.StartService ()<0x000ce> > at (wrapper remoting-invoke-with-check) > MonoServiceRunner.StartService ()<0x00041> > at MonoServiceRunner.Main (string[])<0x00823> > at (wrapper runtime-invoke)<Module>.runtime_invoke_int_object > (object,intptr,intptr,intptr)<0x000ad> > > > On Mon, Dec 6, 2010 at 12:27 AM, David Jagoe<davidja...@gmail.com> wrote: >> G'day, >> >> On Monday, 6 December 2010, Abe Gillespie<abe.gilles...@gmail.com> wrote: >>> Hello, >>> >>> I'm trying to run my service as a daemon. It doesn't run and the only >>> thing I get in the system log is: >>> >>> Dec 6 05:04:22 machine mono: Service.exe: A type load exception has >>> occurred. >>> >>> I've tried a number of things to coerce more info out of mono but I >>> can't seem to. Is there any way to get the full exception message / >>> stack trace? Also, the service runs fine if I run it directly instead >>> of through mono-service. >> >> I've battled with this a few weeks ago. In answer to your first >> question, try running mono-service2 with the --debug option. That >> should print stack traces. >> >> Hopefully once you see stack trace you'll be able to figure out why >> there is a difference when running as a service. In my case the >> problem appeared to be importing code from a different filesystem. >> >> >> Cheers, >> David >> >>> >>> Thanks. >>> -Abe >>> _______________________________________________ >>> Mono-list maillist - Mono-list@lists.ximian.com >>> http://lists.ximian.com/mailman/listinfo/mono-list >>> >> > _______________________________________________ > Mono-list maillist - Mono-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-list > _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list