[Mono-list] another request for help: SecurityManager

Bruce Wilkie bruce at bwilkie.com
Tue Nov 8 11:30:41 EST 2005


Hello list - another request for help, in hopes of
saving me some time.

I'm having some trouble getting Mono to run the same
on two different platforms - one x86, one PPC.  Again,
I'm unable to generate code at runtime, so I'm using
the interp package + handwritten thunks (which I did
get working yesterday - string ctors fooled me).

On the two platforms, a trace of functions starts out
looking the same, until the PPC platform starts to
deal with a SecurityManager...  the PC never does
that.  in the end, the PPC platform will fail, due to
a config handler class not supporting a requested
interface.  :(  the traces (snipped to the important
stuff):

PC
----------------
...
VES:  System.Char..cctor()
System.Char.GetDataTablePointers(byte*&,byte*&,double*&,uint16*&,uint16*&,uint16*&,uint16*&)
VES: 
System.Char.GetDataTablePointers(byte*&,byte*&,double*&,uint16*&,uint16*&,uint16*&,uint16*&)
VES:  System.Char.ToString()
VES:  System.String..cctor()
VES: 
System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(System.Array,System.RuntimeFieldHandle)
VES:  System.RuntimeFieldHandle.get_Value()
System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(System.Array,intptr)
VES: 
System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(System.Array,intptr)
System.String..ctor(char,int)
VES:  System.String..ctor(char,int)
VES:  System.Diagnostics.DefaultTraceListener..ctor()
VES:  System.Diagnostics.TraceListener..ctor(string)
VES:  System.MarshalByRefObject..ctor()
VES: 
System.Diagnostics.TraceListener.set_Name(string)
VES: 
System.Diagnostics.TraceListenerCollection.Add(System.Diagnostics.TraceListener)
VES: 
System.Diagnostics.TraceListenerCollection.InitializeListener(System.Diagnostics.TraceListener)
... 
goes on to work fine

PPC
----------------
...
VES:  System.Char..cctor()
System.Char.GetDataTablePointers(byte*&,byte*&,double*&,uint16*&,uint16*&,uint16*&,uint16*&)
VES: 
System.Char.GetDataTablePointers(byte*&,byte*&,double*&,uint16*&,uint16*&,uint16*&,uint16*&)
VES:  System.Char.ToString()
VES:  System.String..cctor()
VES: 
System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(System.Array,System.RuntimeFieldHandle)
VES:  System.RuntimeFieldHandle.get_Value()
System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(System.Array,intptr)
VES: 
System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(System.Array,intptr)
System.String..ctor(char,int)
VES:  System.String..ctor(char,int)
VES: 
System.Environment.GetEnvironmentVariable(string)
VES:  System.Security.SecurityManager..cctor()
VES: 
System.Security.Permissions.SecurityPermission..ctor(System.Security.Permissions.SecurityPermissionFlag)
VES:  System.Security.CodeAccessPermission..ctor()
VES: 
System.Security.Permissions.SecurityPermission.set_Flags(System.Security.Permissions.SecurityPermissionFlag)
VES:  System.Object..ctor()
...
goes on to throw "system.diagnostics does not
implement
System.Configuration.IConfigurationSectionHandler" in
System.Configuration.ConfigurationData:CreateNewHandler.


it feels like i just have some compile flag not set or
something on the PPC...  this is running the same
assemblies (mscorlib.dll and system.dll) on both
platforms.  The embedding of mono into the app is a
bit different, but pretty close - I don't think the
problem is there.  i've tried taking machine.config
down to almost nothing, but that doesn't help either. 


i'll be spending the day working on this, but if
someone has pointers to help me out, i'd love to hear
from you.

thanks,
bruce



More information about the Mono-list mailing list