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 616569 - Banshee crashes when ends song
Banshee crashes when ends song
Status: RESOLVED NOTGNOME
Product: banshee
Classification: Other
Component: Community Extensions
1.6.0
Other Linux
: Normal normal
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-04-22 21:54 UTC by Alfonso
Modified: 2010-04-23 10:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Alfonso 2010-04-22 21:54:39 UTC
Banshee starts normally, reproduces a song and when a new one starts it closes, no matter if you let it skip the song or you press the forward button. No windows nor messages are shown when closing. I tried both reinstalling it, and removing and installing it again: no success. I'm running Ubuntu 9.10 (Karmic Koala). The Banshee log is:
exec -a banshee-1 mono  /usr/lib/banshee-1/Banshee.exe    --redirect-log --play-enqueued

[Info  23:36:48.631] Running Banshee 1.6.0: [Ubuntu 9.10 (linux-gnu, i486) @ 2010-04-02 04:36:33 UTC]

(/usr/lib/banshee-1/Banshee.exe:2207): GLib-WARNING **: g_set_prgname() called multiple times
[Info  23:36:49.068] Starting collection of anonymous usage data
[Info  23:36:50.181] All services are started 1.240432s
[Info  23:36:51.481] nereid Client Started
Full thread dump:

"Main Thread" tid=0x0xa706f0 this=0x0x2fed8 thread handle 0x404 state : not waiting owns ()
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00004>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
  at Gtk.Application.Run () <0x0000a>
  at Banshee.Gui.GtkBaseClient.Run () <0x00054>
  at Banshee.Gui.GtkBaseClient.Startup () <0x00044>
  at Hyena.Gui.CleanRoomStartup.Startup (Hyena.Gui.CleanRoomStartup/StartupInvocationHandler) <0x00089>
  at Banshee.Gui.GtkBaseClient.Startup<Nereid.Client> () <0x0004d>
  at Banshee.Gui.GtkBaseClient.Startup<Nereid.Client> (string[]) <0x000c0>
  at Nereid.Client.Main (string[]) <0x00015>
  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[]) <0x00004>
  at (wrapper managed-to-native) System.AppDomain.ExecuteAssembly (System.Reflection.Assembly,string[]) <0xffffffff>
  at System.AppDomain.ExecuteAssemblyInternal (System.Reflection.Assembly,string[]) <0x0002b>
  at System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0x00025>
  at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0xffffffff>
  at System.AppDomain.ExecuteAssembly (string) <0x00019>
  at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string) <0xffffffff>
  at Booter.Booter.BootClient (string) <0x00069>
  at Booter.Booter.Main () <0x00178>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>

"HyenaSqliteConnection (/home/lecoq/.config/banshee-1/banshee.db)" tid=0x0x137ab70 this=0x0x2f7d0 thread handle 0x41a state : interrupted state owns ()
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0x00004>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (intptr,int,bool) <0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x00054>
  at Hyena.Data.Sqlite.HyenaSqliteConnection.ProcessQueue () <0x001e9>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"DAAP Proxy" tid=0x0x38d5b70 this=0x0x6ad7e10 thread handle 0x54a state : interrupted state owns ()
  at (wrapper managed-to-native) System.Net.Sockets.Socket.Accept_internal (intptr,int&,bool) <0x00004>
  at (wrapper managed-to-native) System.Net.Sockets.Socket.Accept_internal (intptr,int&,bool) <0xffffffff>
  at System.Net.Sockets.Socket.Accept () <0x00077>
  at Banshee.Web.BaseHttpServer.ServerLoop () <0x00138>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

"<threadpool thread>" tid=0x0x3644b70 this=0x0x69e5640 thread handle 0x531 state : interrupted state owns ()
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall.read (int,intptr,ulong) <0x00004>
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall.read (int,intptr,ulong) <0xffffffff>
  at Mono.Unix.Native.Syscall.read (int,void*,ulong) <0x00021>
  at Mono.Unix.UnixStream.Read (byte[],int,int) <0x00089>
  at NDesk.DBus.Connection.ReadMessage () <0x00041>
  at NDesk.DBus.Connection.Iterate () <0x0001c>
  at Mono.Zeroconf.Providers.AvahiDBus.DBusManager.IterateThread (object) <0x00057>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff>


I've seen a similar post in the forum, but no bug reported. I've seen also that bug, which is similar but I couldn't figure out anything:
https://bugzilla.gnome.org/show_bug.cgi?id=587409

Thanks a lot for the help!
Alfonso.
Comment 1 Gabriel Burt 2010-04-22 22:07:22 UTC
Hey Alfonso, thanks for the report.  Can you run banshee from a terminal like this:  `banshee-1 --debug` then reproduce the bug, then copy and paste the terminal output - it should include the crash stack trace.  The traces you attached (from the kill -s QUIT command) aren't useful in this situation - only for when Banshee froze up.
Comment 2 Alfonso 2010-04-22 22:29:51 UTC
lecoq@lecoq-laptop:~$ banshee-1 --debug
** Running Mono with --debug   **
[1 Info  00:28:08.886] Running Banshee 1.6.0: [Ubuntu 9.10 (linux-gnu, i486) @ 2010-04-02 04:36:33 UTC]
[1 Debug 00:28:11.015] Initializing GTK

(/usr/lib/banshee-1/Banshee.exe:2172): GLib-WARNING **: g_set_prgname() called multiple times
[1 Debug 00:28:11.076] Configuration client extension loaded (Banshee.GnomeBackend.GConfConfigurationClient)
[1 Debug 00:28:11.084] Using default gconf-base-key
[1 Debug 00:28:11.177] Bus.Session.RequestName ('org.bansheeproject.Banshee') replied with PrimaryOwner
[1 Debug 00:28:11.190] Core service started (DBusServiceManager, 0.001651s)
[1 Debug 00:28:11.193] Registering remote object /org/bansheeproject/Banshee/DBusCommandService (Banshee.ServiceStack.DBusCommandService) on org.bansheeproject.Banshee
[1 Debug 00:28:11.209] Core service started (DBusCommandService, 0.018262s)
[1 Debug 00:28:11.330] Opened SQLite connection to /home/lecoq/.config/banshee-1/banshee.db
[1 Debug 00:28:11.331] Core service started (DbConnection, 0.12208s)
[1 Debug 00:28:11.336] Database version 41 is up to date
[1 Info  00:28:11.357] Starting collection of anonymous usage data
[1 Debug 00:28:11.408] Core service started (PreferenceService, 0.031151s)
[1 Debug 00:28:11.409] Registering remote object /org/bansheeproject/Banshee/SourceManager (Banshee.Sources.SourceManager) on org.bansheeproject.Banshee
[1 Debug 00:28:11.409] Core service started (SourceManager, 0.000958s)
[1 Debug 00:28:11.409] Core service started (MediaProfileManager, 0.000279s)
[1 Debug 00:28:11.413] Registering remote object /org/bansheeproject/Banshee/PlayerEngine (Banshee.MediaEngine.PlayerEngineService) on org.bansheeproject.Banshee
[1 Debug 00:28:11.415] Core service started (PlayerEngine, 0.005209s)
[1 Debug 00:28:11.449] IO provider extension loaded (Banshee.IO.Unix.Provider)
[1 Debug 00:28:11.466] Core service started (TranscoderService, 0.023463s)
[1 Debug 00:28:11.469] Registering remote object /org/bansheeproject/Banshee/PlaybackController (Banshee.PlaybackController.PlaybackControllerService) on org.bansheeproject.Banshee
[1 Debug 00:28:11.470] Core service started (PlaybackController, 0.003558s)
[1 Debug 00:28:11.471] Core service started (ImportSourceManager, 0.000693s)
[1 Debug 00:28:11.479] Core service started (LibraryImportManager, 0.008401s)
[1 Debug 00:28:11.480] Core service started (JobScheduler, 0.001183s)
[1 Debug 00:28:11.497] Core service started (HardwareManager, 0.016078s)
[1 Debug 00:28:11.503] Bus.Session.RequestName ('org.bansheeproject.CollectionIndexer') replied with PrimaryOwner
[1 Debug 00:28:11.505] Registering remote object /org/bansheeproject/Banshee/CollectionIndexerService (Banshee.Collection.Indexer.CollectionIndexerService) on org.bansheeproject.CollectionIndexer
[1 Debug 00:28:11.506] Core service started (CollectionIndexerService, 0.009026s)
[1 Debug 00:28:11.508] Core service started (SaveMetadataService, 0.001954s)
[1 Debug 00:28:11.550] Adding icon theme search path: /usr/share/banshee-1/icons
[1 Debug 00:28:11.551] Core service started (GtkElementsService, 0.043225s)
[1 Debug 00:28:11.553] Core service started (InterfaceActionService, 0.00192s)
[1 Debug 00:28:11.669] Album artwork path set to /home/lecoq/.cache/media-art
[1 Debug 00:28:11.683] Core service started (ArtworkManager, 0.014546s)
[1 Debug 00:28:12.347] Constructed Nereid interface: 0.616193s
[1 Debug 00:28:12.475] Creating new surface cache for 90px images, capped at 0.25 MiB (8 items)
[1 Debug 00:28:12.540] Registering remote object /org/bansheeproject/Banshee/ClientWindow (Nereid.PlayerInterface) on org.bansheeproject.Banshee
[1 Debug 00:28:12.541] Core service started (NereidPlayerInterface, 0.858s)
[1 Debug 00:28:12.581] Extension service started (GStreamerCoreService, 0.039513s)
[1 Debug 00:28:12.604] Extension service started (BpmService, 0.022268s)
[1 Debug 00:28:12.631] Using GNOME 2.22 API for Multimedia Keys
[1 Debug 00:28:12.632] Extension service started (MultimediaKeysService, 0.027765s)
[1 Debug 00:28:12.632] Extension service started (DapService, 0.000504s)
[1 Debug 00:28:12.637] Extension service started (GnomeService, 0.005107s)
[1 Debug 00:28:12.639] Extension service started (DaapService, 0.001501s)
[1 Debug 00:28:12.667] Extension service started (NotificationAreaService, 0.02755s)
[1 Debug 00:28:12.687] Extension service started (BookmarksService, 0.0202s)
[1 Debug 00:28:12.762] Extension service started (AudioCdService, 0.074559s)
[1 Info  00:28:12.763] All services are started 1.584418s
[1 Debug 00:28:13.746] Registering remote object /org/bansheeproject/Banshee/SourceManager/PlayQueue (Banshee.PlayQueue.PlayQueueSource) on org.bansheeproject.Banshee
[1 Debug 00:28:13.811] Starting GTK main loop
[1 Debug 00:28:14.035] Creating Pango.Layout, configuring Cairo.Context
[1 Debug 00:28:14.067] Creating Pango.Layout, configuring Cairo.Context
[1 Debug 00:28:14.096] Creating Pango.Layout, configuring Cairo.Context
[1 Info  00:28:14.280] nereid Client Started
[1 Debug 00:28:14.282] Delayed Initializating Banshee.MediaEngine.PlayerEngineService
[1 Debug 00:28:14.296] (libbanshee:player) Using system (gst-plugins-good) equalizer element
[1 Debug 00:28:14.378] Player state change: NotReady -> Ready
[1 Debug 00:28:14.391] Loaded equalizer presets: 8E-05s
[1 Debug 00:28:14.402] Selected equalizer: Rock
[1 Debug 00:28:14.413] Player state change: Ready -> Idle
[1 Debug 00:28:14.421] (libbanshee:player) Enabled ReplayGain
[1 Debug 00:28:14.455] (libbanshee:player) scaled volume: 1.00 (ReplayGain) * 0.06 (User) = 0.06
[1 Debug 00:28:14.456] Delayed Initializating Banshee.Dap.DapService
[1 Debug 00:28:14.462] Dap support extension loaded: Banshee.Dap.MassStorage
[1 Debug 00:28:14.462] Dap support extension loaded: Banshee.Dap.Ipod
[1 Debug 00:28:14.780] Delayed Initializating Banshee.Daap.DaapService
[2 Debug 00:28:15.036] DAAP Proxy listening for connections on port 8089
[1 Debug 00:28:22.053] Querying model for track to play in artist:Next mode
[1 Debug 00:28:22.122] Player state change: Idle -> Loading
[1 Debug 00:28:22.405] Player state change: Loading -> Loaded
[1 Debug 00:28:22.492] Player state change: Loaded -> Playing
[1 Debug 00:28:22.619] Creating Pango.Layout, configuring Cairo.Context
[1 Debug 00:28:22.620] Creating Pango.Layout, configuring Cairo.Context
[3 Debug 00:28:22.652] Core service started (Network, 0.06103s)
[1 Debug 00:28:23.505] TrackInfoDisplay RenderAnimation: 30.00 FPS
[1 Debug 00:28:30.713] Querying model for track to play in artist:Next mode
[1 Debug 00:28:30.776] (libbanshee:player) bp_stop: setting state to GST_STATE_NULL
[1 Debug 00:28:30.853] Player state change: Playing -> Idle
[1 Debug 00:28:30.855] Player state change: Idle -> Loading
[4 Debug 00:28:30.935] Exception executing command: DELETE FROM CoreSmartPlaylistEntries WHERE SmartPlaylistID = 4;
                  INSERT INTO CoreSmartPlaylistEntries
                    (EntryID, SmartPlaylistID, TrackID)
                    SELECT NULL, 4 as SmartPlaylistID, TrackId FROM CoreTracks,CoreArtists,CoreAlbums
                        WHERE CoreArtists.ArtistID = CoreTracks.ArtistID AND CoreAlbums.AlbumID = CoreTracks.AlbumID AND CoreTracks.PrimarySourceID = 1
                        AND (((CoreTracks.PlayCount = 0 AND CoreTracks.PlayCount IS NOT NULL) And (CoreTracks.SkipCount = 0 AND CoreTracks.SkipCount IS NOT NULL)))  

Unhandled Exception: Mono.Data.Sqlite.SqliteException: The database disk image is malformed
database disk image is malformed
  at Mono.Data.Sqlite.Sqlite3.Reset (Mono.Data.Sqlite.SqliteStatement stmt) [0x00000] 
  at Mono.Data.Sqlite.Sqlite3.Step (Mono.Data.Sqlite.SqliteStatement stmt) [0x00000] 
  at Mono.Data.Sqlite.SqliteCommand.ExecuteNonQuery () [0x00000] 
  at (wrapper remoting-invoke-with-check) Mono.Data.Sqlite.SqliteCommand:ExecuteNonQuery ()
  at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection hconnection, Mono.Data.Sqlite.SqliteConnection connection) [0x00000] 
lecoq@lecoq-laptop:~$ 

There is what appeared. At the end of the line it closed, just when I pressed the forward button. 
Thanks a lot for the quick answer!

Cheers!
Al
Comment 3 Alexander Kojevnikov 2010-04-22 23:06:20 UTC
You database file is corrupted, see the last question in the FAQ [1] on how to recover it.

Closing as NOTGNOME.

[1] http://banshee-project.org/support/faq/
Comment 4 Gabriel Burt 2010-04-22 23:14:37 UTC
I feel like over the last year the number of incidents of people reporting database corruption bugs has increased; I want to make sure there isn't something we should be doing differently.

It might just come down to sqlite corruption caused by crashes or hard-resets and due to us setting "PRAGMA synchronous = OFF" - something I don't think we really have a choice in (if we didn't, I think Banshee would be too slow - though maybe we should try out the NORMAL/1 mode).  But maybe there's another cause, or maybe there's an automated way to recover.  Any ideas, Alexander?

Alfonso, can you run this from a terminal and report back on its output?

sqlite3 ~/.config/banshee-1/banshee.db "PRAGMA integrity_check;"
Comment 5 Gabriel Burt 2010-04-22 23:18:48 UTC
Alfonso, do you have the Banshee plugin within Gnome-Do installed/enabled (assuming you have Gnome-Do installed at all)?  Do you have any other program you know of that might interact with Banshee? (eg beagle, tracker, some kind of remote-control program, etc?)  Are you for sure using the 1.6.0 version of Banshee?

Alexander, keep in mind there must have been dozens or hundreds of db queries issued before that exception - so the question is, why did it suddenly go corrupt?
Comment 6 Alfonso 2010-04-23 10:46:12 UTC
(In reply to comment #4)
> I feel like...

 Hi Gabriel!

 When I run that from the terminal, it says no sqlite3 installed. Must I install it so that you get the information you need? Tell me.
Alfonso.
Comment 7 Alfonso 2010-04-23 10:56:13 UTC
(In reply to comment #5)
> Alfonso, do you have the Banshee...

 I don't have Gnome-Do installed at all... I will do it now. Has that anything to do with the corruption?
 As far as I know, I have none of those programs installed (beagle...) which could interact with Banshee. I don't see the reason of my problem. I started the computer as normally, no updates, no installation/uninstallation; it worked perfectly till now (not as Amarok, which run too slow and with many problems to sync ipod and even to manage my music library).
 Sure I'm using 1.6.0. I'm eager to help you solving that problem. Tell me if is there anything else I could do for it!
 
 Ahh, everything works fine since I did what Alexander said.