GNOME Bugzilla – Bug 612407
Outdated mirage plugin with no replacement in PPA for Lucid causes crash on start up
Last modified: 2020-03-17 08:54:45 UTC
Using Ubuntu Lucid and the banshee-daily ppa on x86_64 I get the following crash on start up ** Running Mono with --debug ** [Info 11:44:50.550] Running Banshee 1.5.5: [Ubuntu lucid (development branch) 033fcc4 (linux-gnu, x86_64) @ 2010-03-10 03:38:59 UTC] Gtk-Message: Failed to load module "pk-gtk-module": libpk-gtk-module.so: cannot open shared object file: No such file or directory [Debug 11:44:58.226] Configuration client extension loaded (Banshee.GnomeBackend.GConfConfigurationClient) [Debug 11:44:58.282] Using default gconf-base-key [Debug 11:44:58.632] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner [Debug 11:44:58.671] Core service started (DBusServiceManager, 0,006116s) [Debug 11:44:58.686] Registering remote object /org/bansheeproject/Banshee/DBusCommandService (Banshee.ServiceStack.DBusCommandService) on org.bansheeproject.Banshee [Debug 11:44:58.754] Core service started (DBusCommandService, 0,080714s) [Debug 11:44:59.518] Opened SQLite connection to /home/david/.config/banshee-1/banshee.db [Debug 11:44:59.520] Core service started (DbConnection, 0,765338s) [Debug 11:44:59.536] Database version 41 is up to date [Info 11:44:59.609] Starting collection of anonymous usage data [Debug 11:44:59.800] Core service started (PreferenceService, 0,108738s) [Debug 11:44:59.803] Registering remote object /org/bansheeproject/Banshee/SourceManager (Banshee.Sources.SourceManager) on org.bansheeproject.Banshee [Debug 11:44:59.803] Core service started (SourceManager, 0,003302s) [Debug 11:44:59.807] Core service started (MediaProfileManager, 0,002974s) [Debug 11:44:59.820] Registering remote object /org/bansheeproject/Banshee/PlayerEngine (Banshee.MediaEngine.PlayerEngineService) on org.bansheeproject.Banshee [Debug 11:44:59.826] Core service started (PlayerEngine, 0,018886s) [Debug 11:44:59.948] IO provider extension loaded (Banshee.IO.Unix.Provider) [Debug 11:45:00.002] Core service started (TranscoderService, 0,077772s) [Debug 11:45:00.018] Registering remote object /org/bansheeproject/Banshee/PlaybackController (Banshee.PlaybackController.PlaybackControllerService) on org.bansheeproject.Banshee [Debug 11:45:00.024] Core service started (PlaybackController, 0,018782s) [Debug 11:45:00.026] Core service started (ImportSourceManager, 0,002074s) [Debug 11:45:00.056] Core service started (LibraryImportManager, 0,029s) [Debug 11:45:00.062] Core service started (JobScheduler, 0,004695s) [Debug 11:45:00.134] Core service started (HardwareManager, 0,071532s) [Debug 11:45:00.149] Bus.Session.RequestName ('org.bansheeproject.CollectionIndexer') replied with PrimaryOwner [Debug 11:45:00.175] Registering remote object /org/bansheeproject/Banshee/CollectionIndexerService (Banshee.Collection.Indexer.CollectionIndexerService) on org.bansheeproject.CollectionIndexer [Debug 11:45:00.180] Core service started (CollectionIndexerService, 0,045716s) [Debug 11:45:00.195] Core service started (SaveMetadataService, 0,015319s) [Debug 11:45:00.304] Adding icon theme search path: /usr/share/banshee-1/icons [Debug 11:45:00.308] Core service started (GtkElementsService, 0,112981s) [Debug 11:45:00.317] Core service started (InterfaceActionService, 0,008685s) [Debug 11:45:00.739] Album artwork path set to /home/david/.cache/media-art [Debug 11:45:00.820] Core service started (ArtworkManager, 0,083825s) ** (Banshee:19786): CRITICAL **: bp_set_volume: assertion `GST_IS_ELEMENT (player->playbin)' failed [Debug 11:45:02.272] Adding context page lastfm-recommendations [Debug 11:45:02.424] Adding context page wikipedia [Debug 11:45:03.814] Constructed Nereid interface: 2,838547s [Debug 11:45:04.512] Registering remote object /org/bansheeproject/Banshee/ClientWindow (Nereid.PlayerInterface) on org.bansheeproject.Banshee [Debug 11:45:04.513] Core service started (NereidPlayerInterface, 3,692216s) [Debug 11:45:04.750] Extension service started (GStreamerCoreService, 0,228132s) [Debug 11:45:04.790] Extension service started (BpmService, 0,039835s) [Debug 11:45:04.812] Using GNOME 2.22 API for Multimedia Keys [Debug 11:45:04.813] Extension service started (MultimediaKeysService, 0,022436s) [Debug 11:45:04.822] Extension service started (LibraryWatcherService, 0,008984s) [Debug 11:45:05.848] Extension service started (PodcastService, 1,025256s) [Debug 11:45:05.851] Extension service started (DapService, 0,002699s) [Debug 11:45:05.884] Extension service started (GnomeService, 0,03284s) [Debug 11:45:05.887] Refreshing any podcasts that haven't been updated in over an hour [Debug 11:45:07.590] Core service started (Network, 0,033289s) [Debug 11:45:07.592] Audioscrobbler state: connected [Debug 11:45:07.603] Extension service started (AudioscrobblerService, 1,719004s) [Debug 11:45:07.737] Extension service started (NotificationAreaService, 0,133691s) [Debug 11:45:07.754] Extension service started (EmusicService, 0,016412s) [Debug 11:45:07.848] Extension service started (BookmarksService, 0,094218s) [Debug 11:45:07.863] Extension service started (CoverArtService, 0,014745s) [Debug 11:45:08.214] Extension service started (AudioCdService, 0,349918s) Mirage - Open DB - URI=file:/home/david/.cache/banshee-mirage/mirage.db,version=3 Mirage - Database version 3 is up to date [Debug 11:45:08.467] Mirage - Database Initialize (dbfile: /home/david/.cache/banshee-mirage/mirage.db) ** (Banshee:19786): WARNING **: Missing method Banshee.PlaybackController.IBasicPlaybackController::Next(bool) in assembly /usr/lib/banshee-1/Banshee.Services.dll, referenced in assembly /usr/lib/banshee-1/Extensions/Banshee.Mirage.dll [Debug 11:45:08.493] Mirage - Initialized [Debug 11:45:08.493] Extension service started (MirageService, 0,279623s) [Info 11:45:08.498] All services are started 9,861056s ** (Banshee:19786): WARNING **: Missing method Banshee.PlaybackController.IBasicPlaybackController::Next(bool) in assembly /usr/lib/banshee-1/Banshee.Services.dll, referenced in assembly /usr/lib/banshee-1/Extensions/Banshee.Mirage.dll Stacktrace: at Banshee.Playlist.AbstractPlaylistSource..ctor (string,string,Banshee.Sources.PrimarySource) <0xffffffff> at Banshee.Playlist.AbstractPlaylistSource..ctor (string,string,Banshee.Sources.PrimarySource) <0x000d6> at Banshee.Playlist.PlaylistSource..ctor (string,Banshee.Sources.PrimarySource) <0x00033> at Banshee.Mirage.PlaylistGeneratorSource..ctor (Mirage.Db) [0x00000] in /build/buildd/banshee-extension-mirage-0.6.0/Banshee/MirageConfiguration.cs:1 at Banshee.Mirage.MiragePlugin.ServiceStartup () [0x00068] in /build/buildd/banshee-extension-mirage-0.6.0/Banshee/MiragePlugin.cs:142 at Banshee.Mirage.MiragePlugin.OnSourceAdded (Banshee.Sources.SourceAddedArgs) [0x00000] in /build/buildd/banshee-extension-mirage-0.6.0/Banshee/MiragePlugin.cs:126 at (wrapper delegate-invoke) Banshee.Sources.SourceAddedHandler.invoke_void__this___SourceAddedArgs (Banshee.Sources.SourceAddedArgs) <0xffffffff> at Banshee.Sources.SourceManager.AddSource (Banshee.Sources.Source,bool) <0x00180> at Banshee.ServiceStack.Application.Run () <0x000f7> at Banshee.Gui.GtkBaseClient.Initialize (bool) <0x00247> at Banshee.Gui.GtkBaseClient..ctor (bool,string) <0x00033> 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 (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke (object,object[],System.Exception&) <0x0004e> at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke (object,object[],System.Exception&) <0xffffffff> at System.Reflection.MonoCMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x0010b> at System.Reflection.MonoCMethod.Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x0003d> at System.Reflection.ConstructorInfo.Invoke (object[]) <0x0003f> at System.Activator.CreateInstance (System.Type,bool) <0x00103> at System.Activator.CreateInstance (System.Type) <0x0000f> at Banshee.Gui.GtkBaseClient.Startup () <0x0001b> at Hyena.Gui.CleanRoomStartup.Startup (Hyena.Gui.CleanRoomStartup/StartupInvocationHandler) <0x0008e> at Banshee.Gui.GtkBaseClient.Startup<Nereid.Client> () <0x0005b> at Banshee.Gui.GtkBaseClient.Startup<Nereid.Client> (string[]) <0x000d3> at Nereid.Client.Main (string[]) <0x00017> at (wrapper runtime-invoke) Nereid.Client.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff> at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly (System.Reflection.Assembly,string[]) <0x0004b> at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly (System.Reflection.Assembly,string[]) <0xffffffff> at System.AppDomain.ExecuteAssemblyInternal (System.Reflection.Assembly,string[]) <0x00037> at System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0x00037> at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0xffffffff> at System.AppDomain.ExecuteAssembly (string) <0x0001f> at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string) <0xffffffff> at Booter.Booter.BootClient (string) <0x0006b> at Booter.Booter.Main () <0x001a7> at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: banshee-1() [0x47b45f] banshee-1() [0x4aeb5f] /lib/libpthread.so.0() [0x3af840f920] banshee-1() [0x483576] [0x412a6168] Debug info from gdb:
Looks like you are using the obsolete mirage package. Uninstall it and install banshee-extension-mirage from https://launchpad.net/~banshee-team/+archive/ppa
If using the stable ppa as well as daily on Lucid then the stable ppa needs to be built for Lucid. This however is a downstream issue, but since I can't move this to Ubuntu as Launchpad doesn't allow for apport reporting using ppas nor bugs being filed against ppas last I checked. So I am cc'ing hyperair for comment and lowering severity to enhancement as it is likely a downstream issue. My apologize for wasting your valuable time.
confiming that removing mirage works around the issue.
Looks to me like some interface changed in the latest Banshee snapshots and this broke Mirage's compatibility as it was built for Banshee 1.5.4.
(In reply to comment #4) > Looks to me like some interface changed in the latest Banshee snapshots and > this broke Mirage's compatibility as it was built for Banshee 1.5.4. It was changed indeed but before 1.5.4. This log entry hints that non-bce Mirage is used: [Debug 11:45:08.467] Mirage - Database Initialize (dbfile: /home/david/.cache/banshee-mirage/mirage.db) bce version of Mirage uses the same database as Banshee (since 1.5.4)
In that case, then an update of the mirage plugin should do the job. The stable PPA contains bce packages which generate banshee-extension-mirage binaries.
Closing as NOTGNOME since it's an Ubuntu packaging issue.
Re-opening; we should at least not crash.
*** Bug 613821 has been marked as a duplicate of this bug. ***
Looks like not crashing would involve putting a try/catch around SourceManager.AddSource where it raises the SourceAdded event.
Hrm, that's probably not a great solution, even if it might generally suffice. If we catch exceptions there, it would mean we'd have invoked some of the non-crashing handlers of the event, but not necessarily all of them, which would be strange.
Here's a StackOverflow thread on the topic: http://stackoverflow.com/questions/837366/can-i-have-strong-exception-safety-and-events
I changed the SourceAdded handler invocation as recommended in that SO thread. It's implemented as an extension method in Hyena to ease its reuse. commit 803d729bd488322dbef6d958dacb9a1e9cda51ef Author: Alexander Kojevnikov <alexander@kojevnikov.com> Date: Thu Mar 25 13:56:10 2010 +1100 [SourceManager] Handle exceptions in SourceAdded (bgo#612407)
*** Bug 614328 has been marked as a duplicate of this bug. ***
*** Bug 614386 has been marked as a duplicate of this bug. ***
This needs to be reopened. There's a new stack trace reported at https://bugs.launchpad.net/ubuntu/+source/banshee/+bug/556069: [Info 00:15:09.016] Running Banshee 1.6.0: [Ubuntu lucid (development branch) (linux-gnu, x86_64) @ 2010-04-04 14:20:11 UTC] Mirage - Open DB - URI=file:/home/jesus/.cache/banshee-mirage/mirage.db,version=3 Mirage - Database version 3 is up to date ** (Banshee:8710): WARNING **: Missing method Banshee.PlaybackController.IBasicPlaybackController::Next(bool) in assembly /usr/lib/banshee-1/Banshee.Services.dll, referenced in assembly /usr/lib/banshee-1/Extensions/Banshee.Mirage.dll [Info 00:15:10.559] All services are started 1,302467s ** (Banshee:8710): WARNING **: Missing method Banshee.PlaybackController.IBasicPlaybackController::Next(bool) in assembly /usr/lib/banshee-1/Banshee.Services.dll, referenced in assembly /usr/lib/banshee-1/Extensions/Banshee.Mirage.dll Stacktrace: at Banshee.Sources.Source..ctor () <0xffffffff> at Banshee.Sources.Source..ctor () <0x00072> at Banshee.Sources.DatabaseSource..ctor () <0x0000f> at Banshee.Playlist.AbstractPlaylistSource..ctor (string,string,Banshee.Sources.PrimarySource) <0x000c3> at Banshee.Playlist.PlaylistSource..ctor (string,Banshee.Sources.PrimarySource) <0x00033> at Banshee.Mirage.PlaylistGeneratorSource..ctor (Mirage.Db) <0x000df> at Banshee.Mirage.MiragePlugin.ServiceStartup () <0x00147> at Banshee.Mirage.MiragePlugin.OnSourceAdded (Banshee.Sources.SourceAddedArgs) <0x0000f> at (wrapper runtime-invoke) Banshee.Mirage.MiragePlugin.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (object,object[],System.Exception&) <0x0004e> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (object,object[],System.Exception&) <0xffffffff> at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x000bb> at System.Reflection.MethodBase.Invoke (object,object[]) <0x0002a> at System.Delegate.DynamicInvokeImpl (object[]) <0x0017b> at System.MulticastDelegate.DynamicInvokeImpl (object[]) <0x0003b> at System.Delegate.DynamicInvoke (object[]) <0x00015> at Hyena.EventExtensions.SafeInvoke<object> (object,object[]) <0x000cb> at Banshee.Sources.SourceManager.AddSource (Banshee.Sources.Source,bool) <0x00197> at Banshee.Sources.SourceManager.AddSource (Banshee.Sources.Source,bool) <0x003e3> at Banshee.ServiceStack.Application.Run () <0x000af> at Banshee.Gui.GtkBaseClient.Initialize (bool) <0x0026f> at Banshee.Gui.GtkBaseClient..ctor (bool,string) <0x00033> 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 (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke (object,object[],System.Exception&) <0x0004e> at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke (object,object[],System.Exception&) <0xffffffff> at System.Reflection.MonoCMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x0010b> at System.Reflection.MonoCMethod.Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x0003d> at System.Reflection.ConstructorInfo.Invoke (object[]) <0x0003f> at System.Activator.CreateInstance (System.Type,bool) <0x00103> at System.Activator.CreateInstance (System.Type) <0x0000f> at Banshee.Gui.GtkBaseClient.Startup () <0x0001b> at Hyena.Gui.CleanRoomStartup.Startup (Hyena.Gui.CleanRoomStartup/StartupInvocationHandler) <0x0008e> at Banshee.Gui.GtkBaseClient.Startup<Nereid.Client> () <0x0005b> at Banshee.Gui.GtkBaseClient.Startup<Nereid.Client> (string[]) <0x000d3> at Nereid.Client.Main (string[]) <0x00017> at (wrapper runtime-invoke) Nereid.Client.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff> at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly (System.Reflection.Assembly,string[]) <0x0004b> at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly (System.Reflection.Assembly,string[]) <0xffffffff> at System.AppDomain.ExecuteAssemblyInternal (System.Reflection.Assembly,string[]) <0x00037> at System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0x00037> at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0xffffffff> at System.AppDomain.ExecuteAssembly (string) <0x0001f> at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string) <0xffffffff> at Booter.Booter.BootClient (string) <0x0006b> at Booter.Booter.Main () <0x001a7> at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
I can reproduce the SIGSEGV by downgrading Mirage to 0.6, compiling it against Banshee 1.5.4 and running with git master. However, it looks like the issue lies in Mono. We are catching the exception in Hyena.EventExtensions.SafeInvoke which is present in the stack trace. Let me know if you think there is anything that can be done in Banshee to avoid such errors.
Banshee is not under active development anymore and had its last code changes more than three years ago. Its codebase has been archived. Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is being shut down) if anyone takes the responsibility for active development again. See https://gitlab.gnome.org/Infrastructure/Infrastructure/issues/264 for more info.