[Mono-list] mono-service2 debugging issues

"Andrés G. Aragoneses" knocte at gmail.com
Wed Dec 8 13:17:01 EST 2010


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<davidjagoe at gmail.com>  wrote:
>> G'day,
>>
>> On Monday, 6 December 2010, Abe Gillespie<abe.gillespie at 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 at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-list
>>>
>>
> _______________________________________________
> 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