[MonoDevelop] Hang on startup

Oskar Berggren oskar.berggren at gmail.com
Sun Sep 20 13:41:52 EDT 2009


This hang on startup actually occurs quite often now. Seems to be
almost every day on first startup attempt of the day. Perhaps because
the timing is different because everything must be read from disk. The
stack trace always seems similar to this, with several threads doing
stuff that appear to be related to loading of assemblies, types, etc.

If this is indeed certain to be the mono bug, perhaps MD should/could
use a workaround?

/Oskar


2009/9/16 Lluis Sanchez Gual <lluis at novell.com>:
> El dc 16 de 09 de 2009 a les 14:20 +0200, en/na Oskar Berggren va
> escriure:
>> This is with mono 2.4.2.3 and MD 2.2. beta 1.
>>
>> Usually it starts properly, but on some occasions it freezes while
>> still displaying the splash-screen. strace shows it standing in some
>> call to futex(), while kill -QUIT gives the backtrace below. Three
>> threads seem to be doing something related to assemblies, while the
>> fourth is sleeping. Is this some mono deadlock issue?
>
> Yes, this is a known Mono issue. Hopefully it will be fixed in the next
> Mono release.
>
>>
>> /Oskar
>>
>>
>> Full thread dump:
>>
>> "<unnamed thread>" tid=0x0x7f64deb11730 this=0x0x7f64de9c6e58 thread
>> handle 0x404 state : not waiting owns ()
>>   at (wrapper managed-to-native)
>> System.Reflection.Assembly.InternalGetType
>> (System.Reflection.Module,string,bool,bool) <0x00051>
>>   at (wrapper managed-to-native)
>> System.Reflection.Assembly.InternalGetType
>> (System.Reflection.Module,string,bool,bool) <0xffffffff>
>>   at System.Reflection.Assembly.GetType (string,bool,bool) [0x0000d]
>> in /home/oskar/mono24/mono-2.4.2.3/mono-2.4.2.3/mcs/class/corlib/System.Reflection/Assembly.cs:373
>>   at System.Reflection.Assembly.GetType (string,bool) [0x00000] in
>> /home/oskar/mono24/mono-2.4.2.3/mono-2.4.2.3/mcs/class/corlib/System.Reflection/Assembly.cs:358
>>   at Mono.Addins.RuntimeAddin.GetType (string,bool) [0x00022] in
>> /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/RuntimeAddin.cs:164
>>   at Mono.Addins.TypeExtensionNode.get_Type () [0x00026] in
>> /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/TypeExtensionNode.cs:62
>>   at Mono.Addins.TypeExtensionNode.CreateInstance () [0x00000] in
>> /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/TypeExtensionNode.cs:54
>>   at Mono.Addins.InstanceExtensionNode.GetInstance () [0x0000b] in
>> /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/InstanceExtensionNode.cs:49
>>   at Mono.Addins.InstanceExtensionNode.GetInstance (System.Type)
>> [0x00000] in /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/InstanceExtensionNode.cs:40
>>   at Mono.Addins.ExtensionNode.GetChildObjects (System.Type,bool)
>> [0x00058] in /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/ExtensionNode.cs:190
>>   at Mono.Addins.ExtensionContext.GetExtensionObjects
>> (string,System.Type,bool) [0x0001f] in
>> /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/ExtensionContext.cs:279
>>   at Mono.Addins.ExtensionContext.GetExtensionObjects (string)
>> [0x00000] in /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/ExtensionContext.cs:261
>>   at Mono.Addins.AddinManager.GetExtensionObjects (string) [0x00005]
>> in /home/oskar/mono24/mono-2.4.2.3/mono-addins-0.4/Mono.Addins/Mono.Addins/AddinManager.cs:236
>>   at MonoDevelop.Core.Gui.DesktopService.Initialize () [0x0000b] in
>> /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui/DesktopService.cs:41
>>   at MonoDevelop.Ide.Gui.IdeStartup.Run (string[]) [0x00135] in
>> /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/IdeStartup.cs:118
>>   at MonoDevelop.Startup.MonoDevelopMain.Main (string[]) [0x00017] in
>> /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:24
>>   at (wrapper runtime-invoke)
>> MonoDevelop.Startup.MonoDevelopMain.runtime_invoke_int_object
>> (object,intptr,intptr,intptr) <0xffffffff>
>>
>> "<unnamed thread>" tid=0x0x7f64d48ee950 this=0x0x7f64de9c6b28 thread
>> handle 0x40b state : interrupted state owns ()
>>   at (wrapper managed-to-native)
>> System.Threading.Thread.Sleep_internal (int) <0x00045>
>>   at (wrapper managed-to-native)
>> System.Threading.Thread.Sleep_internal (int) <0xffffffff>
>>   at System.Threading.Thread.Sleep (int) [0x00019] in
>> /home/oskar/mono24/mono-2.4.2.3/mono-2.4.2.3/mcs/class/corlib/System.Threading/Thread.cs:303
>>   at MonoDevelop.Core.Gui.DispatchService.backgroundDispatcher ()
>> [0x0000f] in /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core.Gui/MonoDevelop.Core.Gui/DispatchService.cs:227
>>   at (wrapper runtime-invoke) object.runtime_invoke_void__this__
>> (object,intptr,intptr,intptr) <0xffffffff>
>>
>> "<unnamed thread>" tid=0x0x7f64cf9c7950 this=0x0x7f64d52845e0 thread
>> handle 0x461 state : interrupted state owns ()
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.RegisterSystemAssemblies
>> (MonoDevelop.Core.Assemblies.TargetFramework) [0x001ca] in
>> /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:372
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.RegisterSystemAssemblies
>> (MonoDevelop.Core.Assemblies.TargetFramework) [0x0013a] in
>> /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:363
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.CreateFrameworks ()
>> [0x00145] in /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:318
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.RunInitialization ()
>> [0x00000] in /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:254
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.BackgroundInitialize ()
>> [0x0001c] in /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:237
>>   at (wrapper runtime-invoke) object.runtime_invoke_void__this__
>> (object,intptr,intptr,intptr) <0xffffffff>
>>
>> "<unnamed thread>" tid=0x0x7f64cffff950 this=0x0x7f64d5284a48 thread
>> handle 0x45a state : interrupted state owns ()
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.RegisterSystemAssemblies
>> (MonoDevelop.Core.Assemblies.TargetFramework) [0x001ca] in
>> /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:372
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.RegisterSystemAssemblies
>> (MonoDevelop.Core.Assemblies.TargetFramework) [0x0013a] in
>> /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:363
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.CreateFrameworks ()
>> [0x00145] in /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:318
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.RunInitialization ()
>> [0x00000] in /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:254
>>   at MonoDevelop.Core.Assemblies.TargetRuntime.BackgroundInitialize ()
>> [0x0001c] in /home/oskar/mono24/mono-2.4.2.3/monodevelop-2.1.0/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetRuntime.cs:237
>>   at (wrapper runtime-invoke) object.runtime_invoke_void__this__
>> (object,intptr,intptr,intptr) <0xffffffff>
>> _______________________________________________
>> Monodevelop-list mailing list
>> Monodevelop-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/monodevelop-list
>
>


More information about the Monodevelop-list mailing list