using System.Net;
using System.Diagnostics;
-namespace stacktracetest
-{
class MainClass
{
static int frame_count = 0;
{
AsyncCallback cback = new AsyncCallback(ResolveCallback);
IAsyncResult res = Dns.BeginGetHostEntry("localhost", cback, null);
- System.Threading.Thread.Sleep(2000);
+ for (int i = 0; i < 100; ++i) {
+ if (frame_count != 0)
+ break;
+ System.Threading.Thread.Sleep(100);
+ }
/*
* seems to be broken
while (!res.IsCompleted) {
};
IPHostEntry ip = Dns.EndGetHostEntry (res);
Console.WriteLine (ip);*/
- if (frame_count > 1)
- return 0;
- return 1;
+ if (frame_count < 1)
+ return 1;
+
+ // A test for #444383
+ AppDomain.CreateDomain("1").CreateInstance(typeof (Class1).Assembly.GetName ().Name, "Class1");
+
+ return 0;
}
public static void ResolveCallback(IAsyncResult ar)
Console.WriteLine("ResolveCallback() complete");
}
}
+
+public class Class1
+{
+ public Class1 () {
+ AppDomain.CreateDomain("2").CreateInstance(typeof (Class1).Assembly.GetName ().Name, "Class2");
+ }
+}
+
+public class Class2
+{
+ public Class2 () {
+ new StackTrace(true);
+ }
}