FS#36956 - [mono][banshee] SIGSEGV while executing native code

Attached to Project: Arch Linux
Opened by abc (Xiflite) - Monday, 16 September 2013, 20:25 GMT
Last edited by Isenmann Daniel (ise) - Sunday, 22 September 2013, 21:02 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Isenmann Daniel (ise)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 7
Private No

Details

Description: SIGSEGV when starting Banshee.

Banshee: 2.6.1-1
Mono: 3.2.1-1

Using mono 3.0.7-1 solves the problem.

Output:

[Info 22:14:57.796] All services are started 0,453157
Stacktrace:

at <unknown> <0xffffffff>
at (wrapper managed-to-native) object.__icall_wrapper_mono_gc_alloc_string (intptr,intptr,int) <0xffffffff>
at (wrapper alloc) object.AllocString (intptr,int) <0xffffffff>
at System.Text.StringBuilder.InternalEnsureCapacity (int) <0x000b0>
at System.Text.StringBuilder.Append (string) <0x000d2>
at string.FormatHelper (System.Text.StringBuilder,System.IFormatProvider,string,object[]) <0x005d7>
at string.Format (System.IFormatProvider,string,object[]) <0x00026>
at string.Format (string,object[]) <0x0001c>
at Hyena.Data.Sqlite.SqliteModelCache`1..ctor (Hyena.Data.Sqlite.HyenaSqliteConnection,string,Hyena.Data.Sqlite.ICacheableDatabaseModel,Hyena.Data.Sqlite.SqliteModelProvider`1<T>) <0x01062>
at Banshee.Database.BansheeModelCache`1..ctor (Hyena.Data.Sqlite.HyenaSqliteConnection,string,Hyena.Data.Sqlite.ICacheableDatabaseModel,Hyena.Data.Sqlite.SqliteModelProvider`1<T>) <0x00023>
at Banshee.Collection.Database.DatabaseTrackModelCache`1..ctor (Hyena.Data.Sqlite.HyenaSqliteConnection,string,Hyena.Data.Sqlite.ICacheableDatabaseModel,Banshee.Database.BansheeModelProvider`1<T>) <0x00023>
at Banshee.Sources.DatabaseSource.get_TrackCache () <0x00093>
at Banshee.Sources.DatabaseSource.AfterInitialized () <0x0001f>
at Banshee.Playlist.AbstractPlaylistSource.AfterInitialized () <0x001cf>
at Banshee.SmartPlaylist.SmartPlaylistSource.AfterInitialized () <0x0000f>
at Banshee.Playlist.AbstractPlaylistSource..ctor (string,string,int,int,int,Banshee.Sources.PrimarySource,bool) <0x000ea>
at Banshee.SmartPlaylist.SmartPlaylistSource..ctor (int,string,string,string,string,string,Banshee.Sources.PrimarySource,int,bool,bool) <0x0015f>
at Banshee.SmartPlaylist.SmartPlaylistSource/<LoadAll>c__Iterator13.MoveNext () <0x00383>
at Banshee.Sources.PrimarySource.PrimarySourceInitialize () <0x00208>
at Banshee.Sources.PrimarySource..ctor (string,string,string,int,bool) <0x00327>
at Banshee.Sources.PrimarySource..ctor (string,string,string,int) <0x00023>
at Banshee.Library.LibrarySource..ctor (string,string,int) <0x0004b>
at Banshee.Library.MusicLibrarySource..ctor () <0x00077>
at Banshee.ServiceStack.Application.Run () <0x00093>
at Banshee.Gui.GtkBaseClient.Initialize (bool) <0x0063f>
at Banshee.Gui.GtkBaseClient..ctor (bool,string) <0x0005f>
at Banshee.Gui.GtkBaseClient..ctor () <0x0001b>
at Nereid.Client..ctor () <0x0000f>
at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) <0xffffffff>
at System.Reflection.MonoCMethod.InternalInvoke (object,object[]) <0x0003d>
at System.Activator.CreateInstance (System.Type,bool) <0x0012a>
at System.Activator.CreateInstance (System.Type) <0x0000e>
at Banshee.Gui.GtkBaseClient.Startup () <0x0001c>
at Hyena.Gui.CleanRoomStartup.Startup (Hyena.Gui.CleanRoomStartup/StartupInvocationHandler) <0x0009e>
at Banshee.Gui.GtkBaseClient.Startup<T> () <0x0009f>
at Banshee.Gui.GtkBaseClient.Startup<T> (string[]) <0x00103>
at Nereid.Client.Main (string[]) <0x00017>
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly (System.AppDomain,System.Reflection.Assembly,string[]) <0xffffffff>
at System.AppDomain.ExecuteAssemblyInternal (System.Reflection.Assembly,string[]) <0x0003b>
at System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0x00034>
at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0xffffffff>
at System.AppDomain.ExecuteAssembly (string) <0x0001c>
at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string) <0xffffffff>
at Booter.Booter.BootClient (string) <0x00092>
at Booter.Booter.Main () <0x001e3>
at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

banshee() [0x4b2f41]
banshee() [0x509a2b]
banshee() [0x422752]
/usr/lib/libpthread.so.0(+0xf870) [0x7f9d43dfd870]
banshee() [0x5f6f1d]
banshee() [0x5d3b0f]
banshee() [0x5d98ce]
banshee() [0x5d9d89]
banshee() [0x5ef67d]
banshee() [0x5ef9b4]
[0x40905e50]

Debug info from gdb:


=================================================================
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.
=================================================================
This task depends upon

Closed by  Isenmann Daniel (ise)
Sunday, 22 September 2013, 21:02 GMT
Reason for closing:  Fixed
Additional comments about closing:  A new package is coming the next few hours. Building already with the patch.
Comment by Max Bruckner (FSMaxB) - Monday, 16 September 2013, 22:05 GMT
I don't know exactly if this belongs to the same bug, but I experienced similar problems with the exact same version of mono and banshee. Whenever I try to start it, it shows an empty window and the crashes with a SIGSEGV.

The output changed after creating ~/.gdbinit as stated, so I attached both outputs before and after creating .gdbinit.
Comment by Sudhir Khanger (donniezazen) - Monday, 16 September 2013, 23:50 GMT Comment by Anthony Ruhier (Anthony25) - Saturday, 21 September 2013, 10:04 GMT
Hello,
It seems to be fixed with this commit (for mono) : https://github.com/mono/mono/commit/d2cc22580898df5d4a15e0f99ab513e1570a6082
Comment by Anthony Ruhier (Anthony25) - Saturday, 21 September 2013, 10:29 GMT
After a test, it fixes the banshee's crash.
Just patch mono with this patch : https://github.com/mono/mono/commit/d2cc22580898df5d4a15e0f99ab513e1570a6082.patch
Comment by Anthony Ruhier (Anthony25) - Saturday, 21 September 2013, 12:25 GMT
Double post, sorry.
Comment by abc (Xiflite) - Saturday, 21 September 2013, 12:33 GMT
Just tried latest mono-git from AUR. That fixes the Banshee crash.
Comment by Anthony Ruhier (Anthony25) - Saturday, 21 September 2013, 12:44 GMT
Yes, the patch has been included in the main repo through a pull request. But if you prefer being on a stable release (and not on the dev one), you can just include the patch in the PKGBUILD of mono, it will do the job ;)
Comment by abc (Xiflite) - Saturday, 21 September 2013, 12:53 GMT
Sorry, I am just to stupid to merge the patchfile via the patch command.

Edit: Not my day - tried patching the precompiled version :facepalm:

Loading...