<div dir="ltr">So I have finally figured out ( hopefully ) the underlying issue.<div><br></div><div>Basically the code is attempting to invoke methods, e.g. IsConcrete, of a Type which has as an instance variable of a type which is not available.</div>
<div><br></div><div>It seems that mono must then attempt to fulling resolve this instance information of that type and fail.</div><div><br></div><div>I have raised the bug <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=17010">https://bugzilla.xamarin.com/show_bug.cgi?id=17010</a>  While I think I have most things there it is getting rather late so will re-read it tomorrow to make sure i'm not braindead.</div>
<div><br></div><div>Then its just trying to fix it... :)</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Dec 28, 2013 at 7:22 AM, Rodrigo Kumpera <span dir="ltr"><<a href="mailto:kumpera@gmail.com" target="_blank">kumpera@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">It depends on what information you're trying to inspect. It should have the same laziness in resolving type information as .NET.<div>
<br></div><div>Where in the inspected type does the missing assembly come into play?</div>
<div><br></div><div>It should be simple to build a test case for that, just delete one assembly after compilation is done.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">
On Fri, Dec 27, 2013 at 11:18 AM, Alistair Bush <span dir="ltr"><<a href="mailto:alistair.bush@gmail.com" target="_blank">alistair.bush@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Just wanted to follow up with this here first before I create a bug report.<div><br></div><div>I believe I have tracked down the issue here.</div>

<div><br></div><div>Fubu, the creating app, is setting up an app domain whose private bin directory is at another path.   To ensure it can resolve its types is it copying a set of Assemblies by name x.RequireAssembly("Owin.Extensions"); or by containing type x.RequireAssemblyContainingType<IActivator>();.<br>


</div><div><br></div><div>It is then calling a remote proxy of a class which Fubu itself contains (using messaging) which attempts to</div><div><br></div><div>var assemblies = list.SelectMany(x => AssembliesFromPath(x));<br>


var pool = new TypePool();<br>pool.IgnoreExportTypeFailures = true;<br><br>pool.AddAssemblies(assemblies);<br>return pool.TypesMatching(x => x.IsConcreteTypeOf<IApplicationSource>() && x.IsConcreteWithDefaultCtor());<br>


</div><div><br></div><div>It is at this point that it blows up on inspecting the type.</div><div><br></div><div>I was able to work around this by copying a dependency of Fubu into the target bin directory.  The dependency was Selenium's WebDriver dll, which as far as I can see is not utilised directly from the code actually executing.</div>


<div><br></div><div>So does mono require all referenced dependencies of a library to be available before you can inspect Type information?</div>







</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 24, 2013 at 10:58 PM, Alistair Bush <span dir="ltr"><<a href="mailto:alistair.bush@gmail.com" target="_blank">alistair.bush@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Small.....  Not currently, I will attempt to create one tho.   Also will raise a bug report on this as well sometime this week.   Probably not tomorrow :)</p>


<div><div>
<div class="gmail_quote">On 24/12/2013 7:32 PM, "Rodrigo Kumpera" <<a href="mailto:kumpera@gmail.com" target="_blank">kumpera@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div dir="ltr">Do you have a small test case that shows this behavior? Could you file a bug report on this?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 23, 2013 at 6:57 AM, Alistair Bush <span dir="ltr"><<a href="mailto:alistair.bush@gmail.com" target="_blank">alistair.bush@gmail.com</a>></span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have be working to get the fubu (mvc) framework and associated tools working on mono/linux.<div>I have gotten most of the way to running a basic app but have sadly come stuck on the following and am running out of ideas.</div>





<div><br></div><div>Basically I have setup a 'web' project using fubu new and am attempting to run it by calling fubu run.<br></div><div><br></div><div>Sadly i'm getting the output [1] and as you will be able to see this is caused by a ExecutionEngineException when attempting to call Type.IsAssignableFrom.</div>





<div><br></div><div>At this particular point in the code it is my understanding that the application is within a separate app domain ( see Bottles.Services.Remote.RemoteServicesProxy ).</div><div><br></div><div>This is anything which should be stopping mono from inspecting Type information on a Type when within a separate app domain?</div>





<div><br></div><div>Also it the moment im a little stuck on how to get more information to debug this issue.  Any suggestions would be welcomed.   Thanks.</div><div><br></div><div><br></div><div><br></div><div>[1]</div><div>





<div>$ fubu run --directory src/fubutest</div><div>Alias is returning '/home/alistair/Projects/fubu/tests/fubutest'</div><div>Alias is returning 'src/fubutest'</div><div>Assembly bin path is bin</div><div>





The configuration file is /home/alistair/Projects/fubu/tests/fubutest/src/fubutest/Web.config</div><div>Started service Fubu.Running.RemoteFubuMvcBootstrapper</div><div>Trying to start application /home/alistair/Projects/fubu/tests/fubutest/src/fubutest with port number 5500</div>





<div>FubuMode = Development</div><div>ERROR: System.ExecutionEngineException: Failed to create shadow copy (CopyFile).</div><div><br></div><div>Server stack trace: </div><div>  at (wrapper managed-to-native) System.Type:type_is_assignable_from (System.Type,System.Type)</div>





<div>  at System.Type.IsAssignableFrom (System.Type c) [0x00000] in <filename unknown>:0 </div><div>  at FubuCore.TypeExtensions.IsConcreteTypeOf[IApplicationSource] (System.Type pluggedType) [0x00000] in <filename unknown>:0 </div>





<div>  at Fubu.Running.ApplicationSourceFinder.<Find>m__1 (System.Type x) [0x00000] in <filename unknown>:0 </div><div>  at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1E`1[System.Type].MoveNext () [0x00000] in <filename unknown>:0 </div>





<div>  at System.Linq.Enumerable+<CreateDistinctIterator>c__Iterator3`1[System.Type].MoveNext () [0x00000] in <filename unknown>:0 </div><div>  at System.Linq.Enumerable.Any[Type] (IEnumerable`1 source) [0x00000] in <filename unknown>:0 </div>





<div>  at Fubu.Running.ApplicationSourceChooser.Find (Fubu.Running.StartApplication message, System.Action`1 onFound) [0x00000] in <filename unknown>:0 </div><div>  at Fubu.Running.RemoteFubuMvcBootstrapper.Receive (Fubu.Running.StartApplication message) [0x00000] in <filename unknown>:0 </div>





<div>  at Bottles.Services.Messaging.MessagingHub+<>c__DisplayClass3`1[Fubu.Running.StartApplication].<Send>b__1 (IListener`1 x) [0x00000] in <filename unknown>:0 </div><div>  at System.Collections.Generic.GenericEnumerableExtensions.Each[IListener`1] (IEnumerable`1 values, System.Action`1 eachAction) [0x00000] in <filename unknown>:0 </div>





<div>  at Bottles.Services.Messaging.MessagingHub.Send[StartApplication] (Fubu.Running.StartApplication message) [0x00000] in <filename unknown>:0 </div><div>  at Bottles.Services.Messaging.MessagingHub+Sender`1[Fubu.Running.StartApplication].Send (System.Object o, Bottles.Services.Messaging.MessagingHub listeners) [0x00000] in <filename unknown>:0 </div>





<div>  at Bottles.Services.Messaging.MessagingHub.SendJson (System.String json) [0x00000] in <filename unknown>:0 </div><div>  at Bottles.Services.Remote.RemoteServicesProxy.SendJson (System.String json) [0x00000] in <filename unknown>:0 </div>





<div>  at (wrapper managed-to-native) System.Runtime.Remoting.RemotingServices:InternalExecute (System.Reflection.MethodBase,object,object[],object[]&)</div><div>  at System.Runtime.Remoting.RemotingServices.InternalExecuteMessage (System.MarshalByRefObject target, IMethodCallMessage reqMsg) [0x00000] in <filename unknown>:0 </div>





<div><br></div><div>Exception rethrown at [0]: </div><div><br></div><div>  at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (System.Runtime.Remoting.Proxies.RealProxy rp, IMessage msg, System.Exception& exc, System.Object[]& out_args) [0x00000] in <filename unknown>:0 </div>





<div>Shutting down finalizer thread timed out.</div><div>Failed to destroy mutex 0x965988 error code 16 errno 2</div></div><div><br></div></div>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>
</blockquote></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>