[Mono-bugs] [Bug 694934] New: crash when creating and unloading a large number of AppDomains
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Thu May 19 13:01:28 EDT 2011
https://bugzilla.novell.com/show_bug.cgi?id=694934
https://bugzilla.novell.com/show_bug.cgi?id=694934#c0
Summary: crash when creating and unloading a large number of
AppDomains
Classification: Mono
Product: Mono: Runtime
Version: SVN
Platform: 64bit
OS/Version: Ubuntu
Status: NEW
Severity: Normal
Priority: P5 - None
Component: remoting
AssignedTo: lluis at novell.com
ReportedBy: spigaz at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101
Firefox/4.0.1
When a large number of AppDomains is created (over 3000), mono crashes.
Reproducible: Always
Steps to Reproduce:
1. build and run
using System;
public class Example
{
public static void Main()
{
for(int i=0; i<10000; i++)
{
System.Console.WriteLine("\n\nIteration " + i);
AppDomain ad = AppDomain.CreateDomain("ChildDomain");
AppDomain.Unload(ad);
}
}
}
2.
3.
Actual Results:
Stacktrace:
at <unknown> <0xffffffff>
at System.Runtime.Serialization.FormatterServices.GetSerializableMembers
(System.Type,System.Runtime.Serialization.StreamingContext) <0x00082>
at
System.Runtime.Serialization.Formatters.Binary.CodeGenerator.GenerateMetadataTypeInternal
(System.Type,System.Runtime.Serialization.StreamingContext) <0x0018a>
at
System.Runtime.Serialization.Formatters.Binary.CodeGenerator.GenerateMetadataType
(System.Type,System.Runtime.Serialization.StreamingContext) <0x0006d>
at
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.CreateMemberTypeMetadata
(System.Type) <0x0005b>
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.GetObjectData
(object,System.Runtime.Serialization.Formatters.Binary.TypeMetadata&,object&)
<0x0082b>
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObject
(System.IO.BinaryWriter,long,object) <0x0005c>
at
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectInstance
(System.IO.BinaryWriter,object,bool) <0x00182>
at
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteQueuedObjects
(System.IO.BinaryWriter) <0x0003f>
at
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectGraph
(System.IO.BinaryWriter,object,System.Runtime.Remoting.Messaging.Header[])
<0x00070>
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize
(System.IO.Stream,object,System.Runtime.Remoting.Messaging.Header[]) <0x002b3>
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize
(System.IO.Stream,object) <0x00020>
at System.Runtime.Remoting.Channels.CADSerializer.SerializeObject (object)
<0x000b7>
at System.AppDomain.GetMarshalledDomainObjRef () <0x0003c>
at (wrapper runtime-invoke) <Module>.runtime_invoke_object__this__
(object,intptr,intptr,intptr) <0xffffffff>
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke
(System.Reflection.MonoMethod,object,object[],System.Exception&) <0xffffffff>
at System.AppDomain.InvokeInDomain
(System.AppDomain,System.Reflection.MethodInfo,object,object[]) <0x0009c>
at System.Runtime.Remoting.RemotingServices.GetDomainProxy (System.AppDomain)
<0x0004f>
at System.AppDomain.CreateDomain
(string,System.Security.Policy.Evidence,System.AppDomainSetup) <0x001b4>
at System.AppDomain.CreateDomain (string) <0x00010>
at Example.Main () <0x0006e>
at (wrapper runtime-invoke) object.runtime_invoke_void
(object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
mono() [0x4939a1]
mono() [0x4e48df]
mono() [0x418909]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60) [0x7f763dd10c60]
/lib/x86_64-linux-gnu/libc.so.6(memcpy+0xe1) [0x7f763d9f7a41]
mono() [0x419bcb]
mono() [0x41b9dd]
mono() [0x41c8ca]
mono() [0x41d1cd]
mono() [0x495461]
[0x400d616a]
Debug info from gdb:
Could not attach to process. If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operação não permitida.
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Expected Results:
It should have terminated creating all the AppDomains and then exiting
normally.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list