GNOME Bugzilla – Bug 576599
100% cpu usage on "Rescan Music Library"
Last modified: 2009-03-25 19:55:08 UTC
Please describe the problem: Ok, the problem is when i put a new folder with mp3 on my music folder and click on "Rescan Music Library" from Tools menu it starts rescaning and finds the new folder but when it's downloading the artwork the cpu usage goes to 100%. The download never completes. The problem occurs every time i do the previous. Steps to reproduce: 1. Open banshee 2. Put a new folder with music on music library 3. Click on "rescan music library" Actual results: The cpu usage goes top... Expected results: refresh the library and stop that process. Does this happen every time? yes Other information: [godfath3r@kermit ~]$ uname -a Linux kermit.localdomain 2.6.27.19-170.2.35.fc10.i686 #1 SMP Mon Feb 23 13:21:22 EST 2009 i686 i686 i386 GNU/Linux [godfath3r@kermit ~]$ mono --version Mono JIT compiler version 2.0.1 (tarball) Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com TLS: __thread GC: Included Boehm (with typed GC) SIGSEGV: altstack Notifications: epoll Architecture: x86 Disabled: none [godfath3r@kermit ~]$ kill -s QUIT $(pidof banshee-1); cp ~/.config/banshee-1/log ~/Desktop/banshee.log exec -a banshee-1 mono /usr/lib/banshee-1/Banshee.exe --redirect-log --play-enqueued [Info 20:04:12.119] Running Banshee 1.4.2: [source-tarball (linux-gnu, i386) @ 2009-02-12 10:44:10 EST] [Info 20:04:13.953] All services are started 1.614109s [Info 20:04:14.729] nereid Client Started [Warn 20:04:38.234] Caught an exception - The remote server returned an error: (503) Service Temporarily Unavailable. (in `System') at System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result) [0x00000] at System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data) [0x00000] [Warn 20:04:39.894] Caught an exception - The remote server returned an error: (503) Service Temporarily Unavailable. (in `System') at System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result) [0x00000] at System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data) [0x00000] [Warn 20:04:58.777] Caught an exception - The remote server returned an error: (503) Service Temporarily Unavailable. (in `System') at System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result) [0x00000] at System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data) [0x00000] Full thread dump: "" tid=0x0x15b9b90 this=0x0xb6e18870: "" tid=0x0xb80466e0 this=0x0x34dd0: at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00004> at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff> at Gtk.Application.Run () <0x00007> at Banshee.Gui.GtkBaseClient.Run () <0x00035> at Banshee.Gui.GtkBaseClient.Startup () <0x00031> at Hyena.Gui.CleanRoomStartup.Startup (Hyena.Gui.CleanRoomStartup/StartupInvocationHandler) <0x00080> at Banshee.Gui.GtkBaseClient.Startup () <0x00038> at Banshee.Gui.GtkBaseClient.Startup (string[]) <0x000b9> at Nereid.Client.Main (string[]) <0x0000a> at (wrapper runtime-invoke) Nereid.Client.runtime_invoke_void_string[] (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[]) <0x00028> at System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0x00021> at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string,System.Security.Policy.Evidence,string[]) <0xffffffff> at System.AppDomain.ExecuteAssembly (string) <0x00014> at (wrapper remoting-invoke-with-check) System.AppDomain.ExecuteAssembly (string) <0xffffffff> at Booter.Booter.BootClient (string) <0x00055> at Booter.Booter.Main () <0x00188> at (wrapper runtime-invoke) System.Object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> "" tid=0x0x317ab90 this=0x0xb5fa3ea0: at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0x00004> at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0xffffffff> at System.Threading.WaitHandle.WaitAny (System.Threading.WaitHandle[],System.TimeSpan,bool) <0x000c5> at System.Threading.RegisteredWaitHandle.Wait (object) <0x000a6> at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff> "" tid=0x0x1284b90 this=0x0xb5fa30d0: at (wrapper managed-to-native) Avahi.Client.poll (intptr,uint,int) <0x00004> at (wrapper managed-to-native) Avahi.Client.poll (intptr,uint,int) <0xffffffff> at Avahi.Client.OnPollCallback (intptr,uint,int) <0x0001c> at (wrapper native-to-managed) Avahi.Client.OnPollCallback (intptr,uint,int) <0xffffffff> at (wrapper managed-to-native) Avahi.Client.avahi_simple_poll_loop (intptr) <0x00004> at (wrapper managed-to-native) Avahi.Client.avahi_simple_poll_loop (intptr) <0xffffffff> at Avahi.Client.PollLoop () <0x00029> at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff> "" tid=0x0x1385b90 this=0x0xb5fa3000: at (wrapper managed-to-native) System.Net.Sockets.Socket.Accept_internal (intptr,int&) <0x00004> at (wrapper managed-to-native) System.Net.Sockets.Socket.Accept_internal (intptr,int&) <0xffffffff> at System.Net.Sockets.Socket.Accept () <0x0007e> at Banshee.Daap.DaapProxyWebServer.ServerLoop () <0x0002d> at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff> "" tid=0x0x8399b90 this=0x0xb6e18e10: at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0x00004> at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0xffffffff> at System.Threading.WaitHandle.WaitAny (System.Threading.WaitHandle[],System.TimeSpan,bool) <0x000c5> at System.Threading.RegisteredWaitHandle.Wait (object) <0x000a6> at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff> "" tid=0x0x2df9b90 this=0x0xb5fa3dd0: at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0x00004> at (wrapper managed-to-native) System.Threading.WaitHandle.WaitAny_internal (System.Threading.WaitHandle[],int,bool) <0xffffffff> at System.Threading.WaitHandle.WaitAny (System.Threading.WaitHandle[],System.TimeSpan,bool) <0x000c5> at System.Threading.RegisteredWaitHandle.Wait (object) <0x000a6> at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff> "" tid=0x0xc99b90 this=0x0xb9f00: at (wrapper managed-to-native) Mono.Data.SqliteClient.Sqlite.sqlite3_prepare16 (intptr,intptr,int,intptr&,intptr&) <0x00004> at (wrapper managed-to-native) Mono.Data.SqliteClient.Sqlite.sqlite3_prepare16 (intptr,intptr,int,intptr&,intptr&) <0xffffffff> at Mono.Data.SqliteClient.SqliteCommand.GetNextStatement (intptr,intptr&,intptr&) <0x0004a> at Mono.Data.SqliteClient.SqliteCommand.ExecuteReader (System.Data.CommandBehavior,bool,int&) <0x000ca> at Mono.Data.SqliteClient.SqliteCommand.ExecuteReader (System.Data.CommandBehavior) <0x0001d> at Mono.Data.SqliteClient.SqliteCommand.ExecuteReader () <0x0000c> at Mono.Data.SqliteClient.SqliteCommand.ExecuteScalar () <0x00011> at Hyena.Data.Sqlite.HyenaSqliteCommand.Execute (Hyena.Data.Sqlite.HyenaSqliteConnection,Mono.Data.SqliteClient.SqliteConnection) <0x000dc> at Hyena.Data.Sqlite.HyenaSqliteConnection.ProcessQueue () <0x000ad> at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff> "" tid=0x0x1486b90 this=0x0xb6e18960: 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 () <0x00052> at Hyena.Data.Sqlite.HyenaSqliteCommand.WaitForResult (Hyena.Data.Sqlite.HyenaSqliteConnection) <0x00028> at Hyena.Data.Sqlite.HyenaSqliteConnection.Query (Hyena.Data.Sqlite.HyenaSqliteCommand) <0x0003f> at Hyena.Data.Sqlite.HyenaSqliteConnection.Query (Hyena.Data.Sqlite.HyenaSqliteCommand,object[]) <0x00035> at Banshee.CoverArt.CoverArtJob.Run () <0x002ee> at Banshee.Kernel.Scheduler.ProcessJobThread () <0x000fe> at (wrapper runtime-invoke) System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>
Oops, i forgot, even if i click on the x button and then "stop" on "Stop Downloading Cover Art" the cpu usage is 100% as well, for as long the banshee runs...
I think you might be having the problem described in bug #548131. To confirm this, could you run the commands given in comment 9 of that bug ? Also run the following command : sqlite3 ~/.config/banshee-1/banshee.db "select count(*) from CoreAlbums where ArtistID not in (select ArtistID from CoreArtists)" If any one of these returns something else than 0, it means that it's the same problem.
Ehm, your query returns 3 but the other 2 queries in bug #548131 returned 0.
I'm marking this as a duplicate of bug #548131 then. The fix will be in the next release of banshee. Thank you for your bug report. *** This bug has been marked as a duplicate of 548131 ***