Bugzilla – Bug 319597
MD 0.8 on mono-1.1.10 crashes looking up icon for $(HOME)/%backup%~ during startup
Last modified: 2007-09-15 21:23:51 UTC
---- Reported by dean@brettle.com 2005-11-20 23:47:21 MST ---- Please fill in this template when reporting a bug, unless you know what you are doing. Description of Problem: When starting up, Monodevelop 0.8 (and SVN@53209) crashes on startup when a file named %backup%~ exists in the user's home directory. The stack trace indicates that a segv occurs in gnome_icon_lookup_sync. gnome_icon_lookup_sync() probably interprets the "%" char as URL-encoding for the filename_uri parameter. The attached patch fixes the problem. Steps to reproduce the problem: 1. touch ~/%backup%~ 2. monodevelop Actual Results: ================================================================= 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. ================================================================= Stacktrace: in <0x4> (wrapper managed-to-native) Gnome.Icon:gnome_icon_lookup_sync (intptr,intptr,intptr,intptr,int,int&) in <0xffffffba> (wrapper managed-to-native) Gnome.Icon:gnome_icon_lookup_sync (intptr,intptr,intptr,intptr,int,int&) in <0x92> Gnome.Icon:LookupSync (Gtk.IconTheme,Gnome.ThumbnailFactory,string,string,Gnome.IconLookupFlags,Gnome.IconLookupResultFlags&) in <0x6e> MonoDevelop.Gui.Utils.FileIconLoader:GetPixbufForFile (string,int) in <0xf6> MonoDevelop.Gui.Pads.FileListItem:.ctor (string) in <0xfe> MonoDevelop.Gui.Pads.FileScout:OnDirChanged (string) in <0x2a9> MonoDevelop.Gui.Pads.FileScout:.ctor () in <0x111e85a7> (wrapper runtime-invoke) System.Object:runtime_invoke_void (object,intptr,intptr,intptr) in <0x4> (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[]) in <0xfffffd7d> (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[]) in <0x8d> System.Reflection.MonoCMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) in <0x1c> System.Reflection.MonoCMethod:Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) in <0x35> System.Reflection.ConstructorInfo:Invoke (object[]) in <0x116> System.Activator:CreateInstance (System.Type,bool) in <0xc> System.Activator:CreateInstance (System.Type) in <0x3a> System.Reflection.Assembly:CreateInstance (string,bool) in <0x12> System.Reflection.Assembly:CreateInstance (string) in <0xc2> MonoDevelop.Core.AddIns.AddIn:CreateObject (string) in <0x83> MonoDevelop.Core.AddIns.Codons.PadCodon:CreatePad () in <0x14> MonoDevelop.Core.AddIns.Codons.PadCodon:BuildItem (object,System.Collections.ArrayList,MonoDevelop.Core.AddIns.Conditions.ConditionCollection) in <0x13b> MonoDevelop.Core.AddIns.DefaultAddInTreeNode:BuildChildItems (object)in <0x5b> MonoDevelop.Gui.DefaultWorkbench:UpdateViews (object,System.EventArgs)in <0x38> MonoDevelop.Commands.InitializeWorkbenchCommand:Run () in <0x8b4> MonoDevelop.SharpDevelopMain:Main (string[]) in <0x10aceb4f> (wrapper runtime-invoke) System.Object:runtime_invoke_int_string[] (object,intptr,intptr,intptr) Native stacktrace: /usr/bin/mono(mono_handle_native_sigsegv+0xba) [0x81471da] /usr/bin/mono [0x81354cf] [0xffffe600] /usr/lib/libgnomeui-2.so.0(gnome_icon_lookup_sync+0x70) [0x78996ee] [0xf5e901aa] [0xf5e9012b] [0xf5e8fd87] [0xf6677437] [0xf66771a7] [0xf5e8b412] [0xf6f4ce01] /usr/bin/mono [0x8135380] /usr/bin/mono(mono_runtime_invoke+0x27) [0x80d42b7] /usr/bin/mono(mono_runtime_invoke_array+0xe1) [0x80d5361] /usr/bin/mono [0x80c3e00] [0xf70a6ec2] [0xf70a6c16] [0xf70a6b7d] [0xf70a6b36] [0xf70866cf] [0xf6f4cdad] [0xf6ef2abb] [0xf6ef90f3] [0xf6ef8e43] [0xf5e8ad6c] [0xf5e8acd5] [0xf6ef76c4] [0xf5e8abdc] [0xf5e947f1] [0xf7667a95] [0xf766685c] /usr/bin/mono [0x8135380] /usr/bin/mono(mono_runtime_invoke+0x27) [0x80d42b7] /usr/bin/mono(mono_runtime_exec_main+0xb1) [0x80d5191] /usr/bin/mono(mono_runtime_run_main+0x171) [0x80d4d61] /usr/bin/mono(strftime+0x1b52) [0x805cb72] /usr/bin/mono(mono_main+0x785) [0x805d485] /usr/bin/mono(__fxstat64+0x12b) [0x805bf3b] /lib/tls/libc.so.6(__libc_start_main+0xd3) [0x794e23] /usr/bin/mono(sinh+0x41) [0x805be91] Expected Results: Main window should appear How often does this happen? Everytime. Additional Information: ---- Additional Comments From dean@brettle.com 2005-11-20 23:48:44 MST ---- Created an attachment (id=168855) patch to URL encode percent signs in filenames ---- Additional Comments From lluis@ximian.com 2005-11-21 07:14:23 MST ---- Fixed in SVN (r53300). Thanks! ---- Additional Comments From lluis@ximian.com 2005-11-21 07:15:44 MST ---- *** https://bugzilla.novell.com/show_bug.cgi?id=MONO76775 has been marked as a duplicate of this bug. *** ---- Additional Comments From dean@brettle.com 2005-11-21 15:52:00 MST ---- Lluis' mods to my patch cause problems with filenames containing the '#' character. I'll attach a patch (against SVN 53319) which fixes that. ---- Additional Comments From dean@brettle.com 2005-11-21 15:52:47 MST ---- Created an attachment (id=168856) Patch to fix problem with filenames containing '#' ---- Additional Comments From lluis@ximian.com 2005-11-21 16:05:41 MST ---- Already fixed. Imported an attachment (id=168855) Imported an attachment (id=168856) Unknown bug field "cf_op_sys_details" encountered while moving bug <cf_op_sys_details>FC3</cf_op_sys_details> Unknown operating system unknown. Setting to default OS "Other".