After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 612407 - Outdated mirage plugin with no replacement in PPA for Lucid causes crash on start up
Outdated mirage plugin with no replacement in PPA for Lucid causes crash on s...
Status: RESOLVED WONTFIX
Product: banshee
Classification: Other
Component: Community Extensions
git master
Other Linux
: Normal enhancement
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
gnome[unmaintained]
: 613821 614328 614386 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-03-10 10:48 UTC by David Nielsen
Modified: 2020-03-17 08:54 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Nielsen 2010-03-10 10:48:06 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:
Comment 1 Alexander Kojevnikov 2010-03-10 10:58:56 UTC
Looks like you are using the obsolete mirage package. Uninstall it and install banshee-extension-mirage from https://launchpad.net/~banshee-team/+archive/ppa
Comment 2 David Nielsen 2010-03-10 11:20:19 UTC
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.
Comment 3 David Nielsen 2010-03-10 11:47:27 UTC
confiming that removing mirage works around the issue.
Comment 4 Chow Loong Jin 2010-03-11 09:27:50 UTC
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.
Comment 5 Alexander Kojevnikov 2010-03-11 09:36:43 UTC
(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)
Comment 6 Chow Loong Jin 2010-03-11 09:38:57 UTC
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.
Comment 7 Alexander Kojevnikov 2010-03-15 02:20:01 UTC
Closing as NOTGNOME since it's an Ubuntu packaging issue.
Comment 8 Gabriel Burt 2010-03-24 17:15:34 UTC
Re-opening; we should at least not crash.
Comment 9 Gabriel Burt 2010-03-24 17:15:45 UTC
*** Bug 613821 has been marked as a duplicate of this bug. ***
Comment 10 Gabriel Burt 2010-03-24 17:18:30 UTC
Looks like not crashing would involve putting a try/catch around SourceManager.AddSource where it raises the SourceAdded event.
Comment 11 Gabriel Burt 2010-03-24 17:22:04 UTC
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.
Comment 12 Gabriel Burt 2010-03-24 17:26:13 UTC
Here's a StackOverflow thread on the topic: http://stackoverflow.com/questions/837366/can-i-have-strong-exception-safety-and-events
Comment 13 Alexander Kojevnikov 2010-03-25 03:00:50 UTC
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)
Comment 14 Alexander Kojevnikov 2010-03-30 06:48:46 UTC
*** Bug 614328 has been marked as a duplicate of this bug. ***
Comment 15 Alexander Kojevnikov 2010-03-30 23:08:21 UTC
*** Bug 614386 has been marked as a duplicate of this bug. ***
Comment 16 Chow Loong Jin 2010-04-06 09:44:18 UTC
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>
Comment 17 Alexander Kojevnikov 2010-04-07 02:34:38 UTC
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.
Comment 18 André Klapper 2020-03-17 08:54:45 UTC
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.